DealSleek API · Identity

Preview

Accept User Invite

Invitee accepts the invite + becomes an IdentityUser.

POST/api/v1/identity/dispatch

Authorization

Minimum role
ViewerThe caller must hold this role or a higher one.
Action
ACCEPT_USER_INVITE

Headers

  • AuthorizationstringRequired

    Access token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.

  • X-CQRS-ActionstringRequired

    Names the command to run. Must be ACCEPT_USER_INVITE for this endpoint.

  • Content-TypestringRequired

    Always application/json.

  • X-Idempotency-KeystringOptional

    A key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.

  • X-Correlation-IdstringOptional

    Your own identifier for the request. Returned in the x-correlation-id response header; generated when you leave it out.

Request body

  • stored_emailstringRequired

    No description yet.

  • stored_expires_atdate-timeRequired

    No description yet.

  • stored_roleenumRequired

    No description yet.

    Allowed values
    • SUPER_ADMIN
    • TENANT_ADMIN
    • MANAGER
    • REP
    • VIEWER
    • DEAL_DESK_APPROVER
    • REV_OPS_ADMIN
    • FINANCE
    • EXTERNAL_AUDITOR
    • AGENT
    • SYSTEM
    SYSTEM
    Internal system actor — autonomous orchestrator, scheduled job, or other non-human dispatcher. Distinct from Agent (autonomous AI agent acting on behalf of a user) because system actions bypass some user-scoped guards (e.g. "this user can't see X").
  • stored_tenant_iduuidRequired

    No description yet.

  • stored_token_hashstringRequired

    Argon2-hashed invitation token. Go computed it from the caller-supplied plaintext + looked up the row.

  • first_namestring or nullOptional

    Optional profile bits from the accept form.

  • last_namestring or nullOptional

    No description yet.

  • stored_accepted_atdate-time or nullOptional

    No 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.

  • successbooleanRequired

    true when the command was applied.

  • error_messagestringRequired

    Empty when the command was applied.

  • projected_stateobjectOptional

    The record as it stands after the command.

  • event_payloadobjectOptional

    The event the command recorded.

  • insightsarray of objectOptional

    Advisory notes about the result. Each has a code, a message and an impact number.

Errors

Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.

  • 400X-CQRS-Action is missing or names a command this route does not accept. Send ACCEPT_USER_INVITE.
  • 400DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types.
  • 401The access token is missing, expired or not valid.
  • 401L1_AUTHThe caller's role is below viewer or the caller has no access to this record.
  • 403L1_POLICYA business rule refused the command. The message names the rule.
  • 409L1_IDEMPOTENCYA command with this idempotency key was already applied.
  • 409CONFLICTThe command would duplicate a record that must be unique.
  • 500L3_COMMITThe command was valid but could not be saved.
Generated from the API contract · revision c73471f92492c4b4