Update Setup Progress

PUT /v1/account/onboarding

Records where your active account stands in the Create account wizard: the step it resumes at, the "What will you run?" answer, and whether the setup is finished. The dashboard's wizard calls it after every step; use it when you drive the setup yourself.

Only an account with a setup has one to record: one created with onboarding: true (see Create Account), or your own account, which starts its setup when you sign up. Requires the settings:update permission.

Request body

Send at least one field.

step string
The step to resume at: account (step 1 of your own account, the one made when you signed up), plan, billing, payment, review, team or start.
use_case string
tunnels, apps, edge or unsure. It orders the Getting started card on the account's dashboard.
completed bool
true finishes the setup: the dashboard stops opening the wizard. A second call keeps the first finish time.

Response (200 OK)

The profile, the same object as GET /account/profile. Repeating a save that changes nothing also answers 200.

Errors

400 Bad Request
The body couldn't be parsed or had unknown fields, it had none of the three fields ("Nothing to update"), or step / use_case wasn't one of the values above: {"error", "field"} with field set to step or use_case.
401 Unauthorized
Missing or invalid auth.
403 Forbidden
No active account selected, you lack the settings:update permission, or the account is suspended (code account_suspended).
409 Conflict
"This account has no onboarding to record": the account never had a setup (it was created before the wizard existed, or without onboarding: true).
Request
curl -X PUT "https://api.ngris.com/v1/account/onboarding" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json" \ -d '{"use_case": "apps", "completed": true}'
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") profile = client._put_raw("/account/onboarding", {"use_case": "apps", "completed": True})
Response — 200 OK
{ "entity_type": "individual", "company": { "legal_name": "", "website": "", "size": "", "industry": "", "country": "" }, "onboarding": { "step": "start", "use_case": "apps", "completed_at": "2026-10-15T10:12:58Z", "pending": false }, "viewer_can_finish": true }
On this page
Update Setup Progress