Skip to main content
POST
Complete an SCA login

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Query Parameters

customerId
string
required

The unique identifier of the customer completing an SCA login.

Body

application/json

Completes an SCA login by submitting the proof for the started factor. Carries the same proof fields as an ScaAuthorization (code for SMS_OTP / TOTP, or passkeyAssertion + origin for PASSKEY), plus the factor being completed and, for SMS_OTP, the challengeId returned by the login start.

factor
enum<string>
required

The factor being completed; must match the started login.

Available options:
SMS_OTP,
TOTP,
PASSKEY
code
string | null
required

The one-time code the customer received by SMS, or read from their authenticator app. Provide for SMS_OTP / TOTP. In sandbox, the code is always 123456.

Example:

"123456"

challengeId
string | null

The challenge handle returned by the login start, required for SMS_OTP and omitted for other factors.

passkeyAssertion
object | null

Opaque WebAuthn assertion produced by the device from the login start's passkeyOptions. Required when completing a PASSKEY login.

origin
string | null

The WebAuthn origin the passkeyAssertion was produced against (one of the login start's allowedOrigins). Required alongside passkeyAssertion; omit it for the code path.

Example:

"https://app.example.com"

Response

SCA login completed; the session status is returned.

The status of a completed SCA login session.

status
string
required

The status of the login session, passed through verbatim (Grid does not normalize it). A successful login reports SUCCESS; other values indicate the login did not complete and should be surfaced to the caller.

Example:

"SUCCESS"