DealSleek API · Identity
PreviewComplete Onboarding
Atomically mint org + tenant + subscription + root user + default service account.
/api/v1/identity/dispatchHeaders
AuthorizationstringRequiredAccess token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.
X-CQRS-ActionstringRequiredNames the command to run. Must be
COMPLETE_ONBOARDINGfor this endpoint.Content-TypestringRequiredAlways
application/json.X-Idempotency-KeystringOptionalA key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.
X-Correlation-IdstringOptionalYour own identifier for the request. Returned in the
x-correlation-idresponse header; generated when you leave it out.
Request body
emailemailRequiredNo description yet.
regionenumRequiredRegion the onboarding form picked (or defaulted to US). Drives the LocaleContext for the new tenant (cosmetic — currency, timezone).
- Allowed values
- US
- EU
- APAC
service_account_seedintegerRequiredNo description yet.
- at least 0
addressobject or nullOptionalLegal/billing postal address — structured
Address, written to the ORGANIZATION (AWS account contact / M365 org-profile pattern), never the user.6 child fields
citystringRequiredNo description yet.
isoCountryCodestringRequiredNo description yet.
street1stringRequiredNo description yet.
postalCodestring or nullOptionalNo description yet.
stateProvincestring or nullOptionalNo description yet.
street2string or nullOptionalNo description yet.
company_domainstring or nullOptionalNo description yet.
company_namestring or nullOptionalNo description yet.
data_residency_regionenum or nullOptionalLEGAL data-residency pin. Set ONCE at tenant provision time; changing post-mint requires the admin-approved residency-transfer workflow (not a free
UPDATE). Distinct fromIdentityRegionwhich is purely cosmetic (currency, timezone, name order).- Allowed values
- US
- EU
- APAC
- CA
- UK
- AU
- IN
- SA
- BR
first_namestring or nullOptionalNo description yet.
last_namestring or nullOptionalNo description yet.
onboarding_tokenstringOptionalNo description yet.
organization_namestring or nullOptionalNo description yet.
password_hashstringOptionalNo description yet.
slugstringOptionalNo description yet.
Response
Status 202. The command was applied. The body reports the outcome and, where the command changes a record, that record's new state.
successbooleanRequiredtruewhen the command was applied.error_messagestringRequiredEmpty when the command was applied.
projected_stateobjectOptionalThe record as it stands after the command.
event_payloadobjectOptionalThe event the command recorded.
insightsarray of objectOptionalAdvisory notes about the result. Each has a
code, amessageand animpactnumber.
Errors
Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.
- 400
X-CQRS-Actionis missing or names a command this route does not accept. SendCOMPLETE_ONBOARDING. - 400
DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types. - 401The access token is missing, expired or not valid.
- 401
L1_AUTHThe caller's role is belowvieweror the caller has no access to this record. - 403
L1_POLICYA business rule refused the command. The message names the rule. - 409
L1_IDEMPOTENCYA command with this idempotency key was already applied. - 409
CONFLICTThe command would duplicate a record that must be unique. - 500
L3_COMMITThe command was valid but could not be saved.