Skip to main content

Enrollment

Move users from a password to a passwordless credential: invite them, register a TOTP authenticator or a passkey, and track completion.

Invitations

ScreenMethodEndpoint
Enrollment summaryPOSTEnrollment summary endpoint
Enrollment statusPOSTEnrollment status endpoint
Send enrollment emailPOST/ad/SendEnrollmentEmail
Admin invitePOSTAdmin invitation endpoint
Self-enrollmentPOSTSelf-enrollment endpoint

Factor registration

ScreenMethodEndpoint
MFA statusPOSTMFA status endpoint
Begin TOTP setupPOSTTOTP setup begin endpoint
Confirm TOTP setupPOSTTOTP setup confirmation endpoint
Begin passkey registrationPOSTWebAuthn registration begin endpoint
Finish passkey registrationPOSTWebAuthn registration finish endpoint

The begin and finish pattern

TOTP and passkey registration are both two-step. The begin call returns a challenge — a TOTP secret, or a WebAuthn credential creation request. The finish call submits the user's proof and completes registration. State is held between the two calls, so they must be made in order and within the challenge's lifetime.

Passkeys

Passkey registration follows WebAuthn. The begin response is passed to navigator.credentials.create() in the browser, and the resulting attestation is posted back to the finish endpoint.

Blocked.

Nine of the eleven endpoints on this page have no path — the source lists a description where the URL should be. Enrollment cannot be published until the real paths, request bodies and challenge lifetimes are supplied.