Submit Onboarding Step Route
Submit the user’s current onboarding step. The body’s step must match the user’s current step; submitting any other step returns 409 Conflict with the user’s current step in the response so the client can self-correct. Returns 200 OK when the transition is fully synchronous. Returns 202 Accepted when the transition enqueues background provisioning work (Safe creation and agent-key minting on the creation path). On 202, a Retry-After response header indicates how many seconds to wait before the next poll of GET /v0/user/me/onboarding/steps.
Authorizations
Personal access token issued to the Sumvin CLI. Send it in the x-sumvin-pat header to authenticate as the owning user.
Headers
Tenant org ID for multi-tenant auth
Controls how timestamp fields are serialized in JSON response bodies.
Default (header omitted or any other value): epoch milliseconds as integers.
iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.
Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".
Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.
Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.
"iso8601"
Body
The onboarding step being submitted. Must match the user's current step.
created, phone_verification, kyc_verification, byo_safe, safe_deploy, open_banking, card_setup, feature_selection, complete "phone_verification"