HTTP Response Codes

The response shape onboarding returns, the HTTP status codes you'll see, and how sensitive fields are formatted and masked.

Onboarding uses standard HTTP status codes and a consistent response shape across every endpoint. This page is the reference for what a call returns.


Response shape

  • A single resource returns a flat JSON object: the resource fields at the top level, with no { data: … } envelope.
  • A list returns a bare JSON array.
  • POST, GET, and PATCH on a business all return the same object shape; only the populated values differ by lifecycle stage.

Status codes

CodeWhen you'll see it
201 CreatedA resource was created. The body carries the new resource, its type-prefixed id, and a uri.
204 No ContentA non-destructive delete succeeded (a business soft-close). No body.
400 Bad RequestThe body isn't valid JSON, or it's empty, while Content-Type: application/json is set.
401 UnauthorizedThe x-api-key credential is missing or invalid.
404 Not FoundThe addressed resource doesn't exist (for example, Entity not found).
409 ConflictA conflicting externalId was provided.
422 UnprocessableValidation failed: a field is missing or malformed, a KYB rule is broken, an unknown query parameter was sent, or a paging value is out of range.

For the message shapes and the common validation and KYB messages, see API Error Handling.


Field formats and masking

ConventionRule
Money and numbersPercentages, caps, and counts are plain JSON numbers (for example ownershipPercentage: 50.00).
PhoneE.164 where required (for example "+15125551234").
TimestampsISO-8601 UTC strings (createdAt, updatedAt).
Sensitive fieldsWritten in full, returned masked: accountNumber → accountNumberLast4; routingNumber is not returned on read; taxId.value → lastFour; governmentIds[].number → numberLastFour.
🚧

PENDING-PUBLISH

The exact status-code set, response bodies, and the full masked-field set are drawn from the boarding contract and the tested collection while the boarding spec is out of reference/. Confirm them against the published API Reference before publish.


See also



Did this page help you?
.readme-logo { display: none !important; }