# WebAuthn Cross-Device

APIs to manage cross-device flow for WebAuthn registration and authentication.


## Servers

Sandbox environment
```
https://api.sbx.transmitsecurity.io/cis
```

US production environment
```
https://api.transmitsecurity.io/cis
```

EU production environment
```
https://api.eu.transmitsecurity.io/cis
```

CA production environment
```
https://api.ca.transmitsecurity.io/cis
```

AU production environment
```
https://api.au.transmitsecurity.io/cis
```

JP production environment
```
https://api.gasne1-ts01.transmitsecurity.io/cis
```

## Security

### bearer

Type: http
Scheme: bearer
Bearer Format: JWT

### UserAccessToken

A token returned upon end-user authentication, which provides access to resources and data for the user and app for which it was generated

Type: http
Scheme: bearer
Bearer Format: JWT

### AdminAccessToken

[object Object]

Type: oauth2
Token URL: /oidc/token
Scopes:

### ClientAccessToken

[object Object]

Type: oauth2
Token URL: /oidc/token
Scopes:

### OrgAdminAccessToken

A token returned upon B2B authentication for a user that has the organizationAdmin or organizationCreator role.

Type: oauth2
Token URL: /oidc/token
Scopes:

## Download OpenAPI description

 - [WebAuthn Cross-Device](https://developer.transmitsecurity.com/_bundle/openapi/user/backend-webauthn-cross-device.openapi.yaml)

 - [POST /v1/auth/webauthn/cross-device/register/start](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-registration-start.md): Starts a WebAuthn registration process on a secondary device, and returns a challenge for the client to sign. If successful, the response contains a `credential_creation_options` field that should be
 - [POST /v1/auth/webauthn/cross-device/register/init](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-registration-init.md): Initializes a flow that will register WebAuthn credentials using a secondary device. Requested by the access device (e.g., desktop) and requires a logged-in user. Returns `cross_device_ticket_id`, whi
 - [POST /v1/auth/webauthn/cross-device/external/register/init](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-external-registration-init.md): Initializes a flow that will register WebAuthn credentials using a secondary device. Requested by the access device (e.g., desktop) for a user that isn't logged in via Transmit (e.g., after password l
 - [POST /v1/auth/webauthn/cross-device/register](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-registration.md): Completes WebAuthn credential registration for the user on a secondary device. For a logged-in registration flow, the user is derived from the access token. For a logged-out registration flow, the use
 - [POST /v1/auth/webauthn/cross-device/abort](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-abort.md): Terminates the cross-device flow from the auth device, and updates the status to `aborted`. <br><br>**Required permissions**: `apps:execute`, `[appId]:execute`, `auth:execute`.
 - [GET /v1/auth/webauthn/cross-device/status](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-status.md): Checks the status of a cross-device flow. This is used by the access device.
 - [POST /v1/auth/webauthn/cross-device/attach-device](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-attach-device.md): Indicates that the auth device has engaged in the flow, such as when the user scans a QR encoding the cross-device ticket ID. This updates the flow status to `scanned`.
 - [POST /v1/auth/webauthn/cross-device/authenticate/init](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-authentication-init.md): Initializes a flow that will authenticate WebAuthn credentials using a secondary device. Requested by the access device (e.g., desktop) before delegating authentication to another device. Returns a cr
 - [POST /v1/auth/webauthn/cross-device/authenticate/start](https://developer.transmitsecurity.com/openapi/user/backend-webauthn-cross-device.openapi/other/webauthn-cross-device-authenticate-start.md): Starts a WebAuthn authentication process using a secondary device. If successful, the response contains a `credential_request_options` field that should be passed to the WebAuthn `navigator.credential
