Skip to main content
POST
/
v0
/
user
/
me
/
onboarding
/
steps
Submit Onboarding Step Route
curl --request POST \
  --url https://api.sumvin.com/v0/user/me/onboarding/steps \
  --header 'Content-Type: application/json' \
  --header 'x-sumvin-pat: <api-key>' \
  --data '
{
  "step": "phone_verification"
}
'
{
  "_links": {
    "self": {
      "href": "<string>",
      "method": "GET",
      "templated": false,
      "description": "<string>"
    },
    "wallets": {
      "href": "<string>",
      "method": "GET",
      "templated": false,
      "description": "<string>"
    },
    "kyc-status": {
      "href": "<string>",
      "method": "GET",
      "templated": false,
      "description": "<string>"
    },
    "kyc-token": {
      "href": "<string>",
      "method": "GET",
      "templated": false,
      "description": "<string>"
    }
  },
  "onboarding": {
    "steps": [
      {
        "gated": false,
        "meta": {}
      }
    ],
    "is_complete": true,
    "safe_creation_status": "<string>",
    "primary_smart_wallet_address": "<string>",
    "did_mint_status": "<string>",
    "did_token_id": "<string>"
  }
}

Authorizations

x-sumvin-pat
string
header
required

Personal access token issued to the Sumvin CLI. Send it in the x-sumvin-pat header to authenticate as the owning user.

Headers

x-sumvin-token
string | null
x-sumvin-pat
string | null
x-juno-jwt
string | null
x-juno-orgid
string | null

Tenant org ID for multi-tenant auth

X-Timestamp-Format
string

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.

Example:

"iso8601"

Body

application/json
step
enum<string>
required

The onboarding step being submitted. Must match the user's current step.

Available options:
created,
phone_verification,
kyc_verification,
byo_safe,
safe_deploy,
open_banking,
card_setup,
feature_selection,
complete
Example:

"phone_verification"

Response

Step submitted; state updated synchronously.

HAL-style hypermedia links for navigation.

onboarding
OnboardingData · object
required

Computed onboarding state.