Auth API (0.1.0)

Download OpenAPI specification:

Authentication, token issuance, API key lifecycle, and scope-based authorization for PBG services.

auth

/auth/api-key/login

Request Body schema: application/json
required
apiKey
required
string

Responses

Request samples

Content type
application/json
{
  • "apiKey": "string"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "authMethod": "google_oidc",
  • "effectiveScopes": [
    ],
  • "expiresAt": 0,
  • "principalId": "string",
  • "principalType": "user",
  • "refreshToken": "string",
  • "refreshTokenId": "string",
  • "sessionId": "string",
  • "stateHandle": "string",
  • "subject": { }
}

/auth/logout

Authorizations:
AuthToken

Responses

/auth/sso/google/callback

query Parameters
code
required
string
state
required
string

Responses

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "authMethod": "google_oidc",
  • "effectiveScopes": [
    ],
  • "expiresAt": 0,
  • "principalId": "string",
  • "principalType": "user",
  • "refreshToken": "string",
  • "refreshTokenId": "string",
  • "sessionId": "string",
  • "stateHandle": "string",
  • "subject": { }
}

/auth/sso/google/start

query Parameters
redirectTarget
string
stateHandle
string
nonce
string [ 16 .. 256 ] characters ^[A-Za-z0-9_-]+$

Responses

/auth/sso/apple/callback

query Parameters
code
required
string
state
required
string

Responses

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "authMethod": "google_oidc",
  • "effectiveScopes": [
    ],
  • "expiresAt": 0,
  • "principalId": "string",
  • "principalType": "user",
  • "refreshToken": "string",
  • "refreshTokenId": "string",
  • "sessionId": "string",
  • "stateHandle": "string",
  • "subject": { }
}

/auth/sso/apple/start

query Parameters
redirectTarget
string
stateHandle
string
nonce
string [ 16 .. 256 ] characters ^[A-Za-z0-9_-]+$

Responses

/auth/tokens/refresh

Request Body schema: application/json
required
refreshToken
required
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "authMethod": "google_oidc",
  • "effectiveScopes": [
    ],
  • "expiresAt": 0,
  • "principalId": "string",
  • "principalType": "user",
  • "refreshToken": "string",
  • "refreshTokenId": "string",
  • "sessionId": "string",
  • "stateHandle": "string",
  • "subject": { }
}

/auth/wallet/cip30/challenges

Request Body schema: application/json
required
walletAddress
required
string

Responses

Request samples

Content type
application/json
{
  • "walletAddress": "string"
}

Response samples

Content type
application/json
{
  • "challengeId": "string",
  • "domain": "string",
  • "expiresAt": 0,
  • "issuedAt": 0,
  • "message": "string",
  • "messageBytesHex": "string",
  • "nonce": "string"
}

/auth/wallet/cip30/login

Request Body schema: application/json
required
coseKeyHex
required
string
challengeId
required
string
signatureHex
required
string
signedMessageHex
required
string
walletAddress
required
string

Responses

Request samples

Content type
application/json
{
  • "coseKeyHex": "string",
  • "challengeId": "string",
  • "signatureHex": "string",
  • "signedMessageHex": "string",
  • "walletAddress": "string"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "authMethod": "google_oidc",
  • "effectiveScopes": [
    ],
  • "expiresAt": 0,
  • "principalId": "string",
  • "principalType": "user",
  • "refreshToken": "string",
  • "refreshTokenId": "string",
  • "sessionId": "string",
  • "stateHandle": "string",
  • "subject": { }
}

introspection

/me

Authorizations:
AuthToken
query Parameters
check
string

Responses

Response samples

Content type
application/json
{
  • "authMethod": "google_oidc",
  • "checks": [
    ],
  • "effectiveScopes": [
    ],
  • "expiresAt": 0,
  • "issuedAt": 0,
  • "kycState": "ContactSubmitted",
  • "ownerPrincipalId": "string",
  • "principalId": "string",
  • "principalType": "user",
  • "sessionId": "string",
  • "tokenType": "access_token"
}

api-keys

/api-keys

Authorizations:
AuthToken

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/api-keys

Authorizations:
AuthToken
Request Body schema: application/json
required
expiresAt
number or null
label
required
string
required
Array of objects (Scope)

Responses

Request samples

Content type
application/json
{
  • "expiresAt": 0,
  • "label": "string",
  • "scopes": [
    ]
}

Response samples

Content type
application/json
{
  • "apiKey": "string",
  • "expiresAt": 0,
  • "label": "string",
  • "ownerPrincipalId": "string",
  • "principalId": "string",
  • "scopes": [
    ]
}

/api-keys/{apiKeyId}

Authorizations:
AuthToken
path Parameters
apiKeyId
required
string

Responses

kyc

/admin/principals/{principalId}/kyc-state

Authorizations:
AuthToken
path Parameters
principalId
required
string
Request Body schema: application/json
required
kycState
required
string
Value: "Complete"

Responses

Request samples

Content type
application/json
{
  • "kycState": "Complete"
}

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/kyc

Authorizations:
AuthToken

Responses

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/kyc/contact

Authorizations:
AuthToken
Request Body schema: application/json
required
country
required
string
email
required
string
firstName
required
string
lastName
required
string
phone
required
string
secondLastName
string

Responses

Request samples

Content type
application/json
{
  • "country": "string",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "phone": "string",
  • "secondLastName": "string"
}

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/kyc/address

Authorizations:
AuthToken
Request Body schema: application/json
required
city
required
string
exteriorNumber
required
string
interiorNumber
string
municipality
required
string
neighborhood
required
string
postalCode
required
string
state
required
string
street
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "string",
  • "exteriorNumber": "string",
  • "interiorNumber": "string",
  • "municipality": "string",
  • "neighborhood": "string",
  • "postalCode": "string",
  • "state": "string",
  • "street": "string"
}

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/kyc/documents/{kind}

Authorizations:
AuthToken
path Parameters
kind
required
string
Enum: "ineFront" "ineBack" "passport" "proofOfAddress" "bankStatement" "taxStatusCertificate"
Request Body schema: application/json
required
contentType
required
string
dataBase64
required
string
fileName
required
string

Responses

Request samples

Content type
application/json
{
  • "contentType": "string",
  • "dataBase64": "string",
  • "fileName": "string"
}

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/kyc/curp

Authorizations:
AuthToken
Request Body schema: application/json
required
curp
required
string

Responses

Request samples

Content type
application/json
{
  • "curp": "string"
}

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/kyc/wallet

Authorizations:
AuthToken
Request Body schema: application/json
required
walletAddress
required
string

Responses

Request samples

Content type
application/json
{
  • "walletAddress": "string"
}

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/kyc/submit

Authorizations:
AuthToken

Responses

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

admin

/admin/api-keys/{apiKeyId}/revoke

Authorizations:
AuthToken
path Parameters
apiKeyId
required
string
Request Body schema: application/json
optional
reason
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string"
}

/admin/principals/{principalId}/revoke

Authorizations:
AuthToken
path Parameters
principalId
required
string
Request Body schema: application/json
optional
reason
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string"
}

/admin/principals/{principalId}/kyc-state

Authorizations:
AuthToken
path Parameters
principalId
required
string
Request Body schema: application/json
required
kycState
required
string
Value: "Complete"

Responses

Request samples

Content type
application/json
{
  • "kycState": "Complete"
}

Response samples

Content type
application/json
{
  • "kycState": "ContactSubmitted",
  • "progress": { }
}

/admin/refresh-families/{familyId}/revoke

Authorizations:
AuthToken
path Parameters
familyId
required
string
Request Body schema: application/json
optional
reason
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string"
}

principals

/principals/{principalId}/scopes

Authorizations:
AuthToken
path Parameters
principalId
required
string

Responses

Response samples

Content type
application/json
{
  • "principalId": "string",
  • "scopes": [
    ]
}

/principals/{principalId}/scopes

Authorizations:
AuthToken
path Parameters
principalId
required
string
Request Body schema: application/json
required
required
Array of objects (Scope)

Responses

Request samples

Content type
application/json
{
  • "scopes": [
    ]
}

Response samples

Content type
application/json
{
  • "principalId": "string",
  • "scopes": [
    ]
}

meta

/health

Responses

/openapi.json

Responses

Response samples

Content type
application/json
{ }