GEThttps://core-api.heysadie.ai/whatsapp/onboarding-sessions/{id}
id success data status failureReason blame userMessage retryAfterHours verificationCallOverdue metadata timestamp version path error code message details fieldGet onboarding session
Fetch the current onboarding status. State machine: `pending → authorized → verifying → [tier_pending] → completed → live`, with terminal `failed` / `name_rejected` / `abandoned`. A `pending` session past its 15-minute TTL is reported as `abandoned`; a session stranded past its TTL self-heals to `failed` — with `failureReason: "stalled"` if it crashed in `authorized` (no verification call placed), or `failureReason: "otp_call_timeout"` if it was stuck in `verifying` (the call was placed but never completed). `failureReason` is populated on failure states. While a session is `verifying`, if the verification call was placed more than ~5 minutes ago (but has not yet timed out), the response also carries `verificationCallOverdue: true` — a soft signal to prompt the customer to resend or cancel before the terminal `otp_call_timeout`. When `failureReason` is `otp_request_limit`, the response also carries `retryAfterHours` — the same cooldown a webhook subscriber receives in `data.retryAfterHours`. Onboarding progress is also pushed via the reseller webhooks — see the create-session docs for the signed webhook contract.
Try it in the API ExplorerExample request
curl "https://core-api.heysadie.ai/whatsapp/onboarding-sessions/ONBOARDING_SESSION_ID" \
-H "Authorization: ApiKey YOUR_API_KEY"Authentication
Authenticate with an API key in the Authorization header using the ApiKey scheme — see Authentication for how keys work and where to get them.
AuthorizationstringrequiredAPI key in the ApiKey scheme: ApiKey YOUR_API_KEY. Tenant keys authorize their own tenant; organization keys can act on any tenant in the organization.
X-Tenant-Idstring (uuid)optionalRequired when authenticating with an organization key — selects the tenant the request acts on. Omit with tenant keys.
Request
Path parameters
idstringrequiredThe resource's UUID.
Responses
successbooleanrequireddataobjectoptionalShow 6 child properties
statusstringrequiredpending → authorized → verifying → [tier_pending] → completed → live | failed | name_rejected | abandoned
failureReasonstringoptionalPresent on terminal failure states.
blamestringoptionalPresent on terminal failure states. `customer` = the account owner must act (e.g. restricted WABA, rejected name, revoked token) — the reseller resolves it with their customer; `system` = Sadie/Meta-side — hand to Sadie.
userMessagestringoptionalPresent on terminal failure states. Human-readable, end-user-facing message safe to show the customer (Meta's own text for account-side problems, or Sadie's curated copy).
retryAfterHoursnumberoptionalPresent when `failureReason` is `otp_request_limit`: hours to wait before retrying (Meta's registration lockout window). Parity with the `data.retryAfterHours` a webhook subscriber already receives.
verificationCallOverduebooleanoptionalPresent (and `true`) only while `status` is `verifying` and the last verification call was placed more than ~5 minutes ago but the session has not yet timed out. A soft, derived signal (no state change) that a reseller UI should prompt the customer to Resend or Cancel. Absent otherwise.
metadataobjectoptionalShow 3 child properties
timestampstringrequiredversionstringrequiredpathstringoptional400
successbooleanrequirederrorobjectoptionalShow 3 child properties
codeenumrequired"VALIDATION_ERROR"messagestringrequireddetailsobject[]optionalShow 2 item properties
fieldstringrequiredmessagestringrequiredmetadataobjectoptionalShow 3 child properties
timestampstringrequiredversionstringrequiredpathstringoptional401
successbooleanrequirederrorobjectoptionalShow 2 child properties
codeenumrequired"UNAUTHORIZED"messagestringrequiredmetadataobjectoptionalShow 3 child properties
timestampstringrequiredversionstringrequiredpathstringoptional403
successbooleanrequirederrorobjectoptionalShow 2 child properties
codeenumrequired"FORBIDDEN"messagestringrequiredmetadataobjectoptionalShow 3 child properties
timestampstringrequiredversionstringrequiredpathstringoptional404
successbooleanrequirederrorobjectoptionalShow 2 child properties
codeenumrequired"RESOURCE_NOT_FOUND"messagestringrequiredmetadataobjectoptionalShow 3 child properties
timestampstringrequiredversionstringrequiredpathstringoptional500
successbooleanrequirederrorobjectoptionalShow 2 child properties
codeenumrequired"INTERNAL_SERVER_ERROR"messagestringrequiredmetadataobjectoptionalShow 3 child properties
timestampstringrequiredversionstringrequiredpathstringoptional