Start an SCA login
Begin an SCA login for the customer with the chosen factor, opening the
end-user SCA session (an exemption gating read / account access beyond the
per-transaction window). Returns factor-specific material: SMS_OTP
dispatches a code and returns a challengeId + expiresAt; TOTP returns
only the factor (the customer reads the code from their app); PASSKEY
returns WebAuthn passkeyOptions. Complete with
POST /sca/login/complete.
This endpoint is only meaningful for customers in a region where SCA is required (e.g. EU). For customers outside SCA-regulated regions, this returns 409.
Authorizations
API token authentication using format <api token id>:<api client secret>
Query Parameters
The unique identifier of the customer starting an SCA login.
Body
Selects which enrolled factor to start an SCA login with. The factor must already be enrolled (or, for SMS_OTP, the phone verified).
The factor to authenticate with.
SMS_OTP, TOTP, PASSKEY Response
SCA login started; factor-specific material is returned.
The factor-specific material a customer needs to complete an SCA login. Each factor surfaces only the fields it issues: SMS_OTP carries challengeId and expiresAt; TOTP carries neither (the customer reads the code from their authenticator app); PASSKEY carries the opaque WebAuthn passkeyOptions with allowedOrigins and relyingPartyId.
The factor this login was started for.
SMS_OTP, TOTP, PASSKEY The challenge handle for an SMS_OTP login, threaded back on the complete call. Present only for SMS_OTP.
Absolute UTC timestamp after which the SMS_OTP code expires. Present only for SMS_OTP.
"2025-10-03T12:05:00Z"
Opaque WebAuthn assertion request options. Present only for PASSKEY; pass to the device's WebAuthn API to produce the assertion submitted on the complete call.
The origins the WebAuthn ceremony may run against. Present only for PASSKEY.
The WebAuthn relying-party id. Present only for PASSKEY.
"app.example.com"