GXS Internal
Identity serverAPI reference

Passkey

GET
/passkey/generate-register-options

Authorization

bearerAuth
headerAuthorizationBearer <token>

Bearer token authentication

Query Parameters

authenticatorAttachment?string

Type of authenticator to use for registration. "platform" for device-specific authenticators, "cross-platform" for authenticators that can be used across devices.

Value in"platform""cross-platform"
name?string

Optional custom name for the passkey. This can help identify the passkey when managing multiple credentials.

context?string

Optional context for passkey-first registration flows.

Response Body

Success

application/json
  1. response
challenge?string
rp?
user?
pubKeyCredParams?array<>
timeout?number
excludeCredentials?array<>
authenticatorSelection?
attestation?string
extensions?
curl -X GET 'https://dev.auth.graphxserver.io/api/auth/passkey/generate-register-options'
{  "challenge": "string",  "rp": {    "name": "string",    "id": "string"  },  "user": {    "id": "string",    "name": "string",    "displayName": "string"  },  "pubKeyCredParams": [    {      "type": "string",      "alg": 0    }  ],  "timeout": 0,  "excludeCredentials": [    {      "id": "string",      "type": "string",      "transports": [        "string"      ]    }  ],  "authenticatorSelection": {    "authenticatorAttachment": "string",    "requireResidentKey": true,    "userVerification": "string"  },  "attestation": "string",  "extensions": {}}
GET
/passkey/generate-authenticate-options

Authorization

bearerAuth
headerAuthorizationBearer <token>

Bearer token authentication

Response Body

Success

application/json
  1. response
challenge?string
rp?
user?
timeout?number
allowCredentials?array<>
userVerification?string
authenticatorSelection?
extensions?
curl -X GET 'https://dev.auth.graphxserver.io/api/auth/passkey/generate-authenticate-options'
{  "challenge": "string",  "rp": {    "name": "string",    "id": "string"  },  "user": {    "id": "string",    "name": "string",    "displayName": "string"  },  "timeout": 0,  "allowCredentials": [    {      "id": "string",      "type": "string",      "transports": [        "string"      ]    }  ],  "userVerification": "string",  "authenticatorSelection": {    "authenticatorAttachment": "string",    "requireResidentKey": true,    "userVerification": "string"  },  "extensions": {}}
POST
/passkey/verify-registration

Authorization

bearerAuth
headerAuthorizationBearer <token>

Bearer token authentication

Request Body

application/json
  1. body
response*unknown
name?string

Name of the passkey

createSession?boolean

Create a session after registering the passkey

Response Body

Success

application/json
  1. response
id*string
name?string
publicKey*string
userId*string
credentialID*string
counter*number
deviceType*string
backedUp*boolean
transports?string
createdAt?string
Formatdate-time
aaguid?string
session?
user?
curl -X POST 'https://dev.auth.graphxserver.io/api/auth/passkey/verify-registration' \  -H 'Content-Type: application/json' \  -d '{  "response": null}'
{  "id": "string",  "name": "string",  "publicKey": "string",  "userId": "string",  "credentialID": "string",  "counter": 0,  "deviceType": "string",  "backedUp": true,  "transports": "string",  "createdAt": "2019-08-24T14:15:22Z",  "aaguid": "string",  "session": {    "id": "string",    "expiresAt": "2019-08-24T14:15:22Z",    "token": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "ipAddress": "string",    "userAgent": "string",    "userId": "string",    "impersonatedBy": "string",    "activeOrganizationId": "string",    "activeTeamId": "string"  },  "user": {    "id": "string",    "name": "string",    "email": "string",    "emailVerified": false,    "image": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "username": "string",    "displayUsername": "string",    "twoFactorEnabled": false,    "role": "string",    "banned": false,    "banReason": "string",    "banExpires": "2019-08-24T14:15:22Z",    "lastLoginMethod": "string",    "phoneNumber": "string",    "metadata": null,    "emailOtpEnabled": false  }}
POST
/passkey/verify-authentication

Authorization

bearerAuth
headerAuthorizationBearer <token>

Bearer token authentication

Request Body

application/json
  1. body
response*

Response Body

Success

application/json
  1. response
session?
user?
curl -X POST 'https://dev.auth.graphxserver.io/api/auth/passkey/verify-authentication' \  -H 'Content-Type: application/json' \  -d '{  "response": {    "property1": null,    "property2": null  }}'
{  "session": {    "id": "string",    "expiresAt": "2019-08-24T14:15:22Z",    "token": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "ipAddress": "string",    "userAgent": "string",    "userId": "string",    "impersonatedBy": "string",    "activeOrganizationId": "string",    "activeTeamId": "string"  },  "user": {    "id": "string",    "name": "string",    "email": "string",    "emailVerified": false,    "image": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "username": "string",    "displayUsername": "string",    "twoFactorEnabled": false,    "role": "string",    "banned": false,    "banReason": "string",    "banExpires": "2019-08-24T14:15:22Z",    "lastLoginMethod": "string",    "phoneNumber": "string",    "metadata": null,    "emailOtpEnabled": false  }}
GET
/passkey/list-user-passkeys

Authorization

bearerAuth
headerAuthorizationBearer <token>

Bearer token authentication

Response Body

Passkeys retrieved successfully

application/json
  1. response

Array of passkey objects associated with the user

[index: integer]?
curl -X GET 'https://dev.auth.graphxserver.io/api/auth/passkey/list-user-passkeys'
[  {    "id": "string",    "name": "string",    "publicKey": "string",    "userId": "string",    "credentialID": "string",    "counter": 0,    "deviceType": "string",    "backedUp": true,    "transports": "string",    "createdAt": "2019-08-24T14:15:22Z",    "aaguid": "string"  }]

/passkey/delete-passkey

POST
/passkey/delete-passkey

Authorization

bearerAuth
headerAuthorizationBearer <token>

Bearer token authentication

Request Body

application/json
  1. body
id*string

The ID of the passkey to delete. Eg: "some-passkey-id"

Response Body

Passkey deleted successfully

application/json
  1. response
status*boolean

Indicates whether the deletion was successful

curl -X POST 'https://dev.auth.graphxserver.io/api/auth/passkey/delete-passkey' \  -H 'Content-Type: application/json' \  -d '{  "id": "string"}'
{  "status": true}

/passkey/update-passkey

POST
/passkey/update-passkey

Authorization

bearerAuth
headerAuthorizationBearer <token>

Bearer token authentication

Request Body

application/json
  1. body
id*string

The ID of the passkey which will be updated. Eg: "passkey-id"

name*string

The new name which the passkey will be updated to. Eg: "my-new-passkey-name"

Length1 <= length

Response Body

Passkey updated successfully

application/json
  1. response
passkey*
curl -X POST 'https://dev.auth.graphxserver.io/api/auth/passkey/update-passkey' \  -H 'Content-Type: application/json' \  -d '{  "id": "string",  "name": "string"}'
{  "passkey": {    "id": "string",    "name": "string",    "publicKey": "string",    "userId": "string",    "credentialID": "string",    "counter": 0,    "deviceType": "string",    "backedUp": true,    "transports": "string",    "createdAt": "2019-08-24T14:15:22Z",    "aaguid": "string"  }}