Boca Raton Partner API

Update User

PATCH
/v1/users/{externalId}
X-Api-Key<token>

Partner API key issued during onboarding. Must be included in every request alongside the HMAC signature headers.

In: header

Path Parameters

externalId*string

Partner-owned user identifier.

Length1 <= length <= 128

Header Parameters

X-Request-Timestamp*string

RFC 3339 timestamp used in the request signing payload. Requests outside the allowed clock-skew window are rejected.

Formatdate-time
X-Request-Signature*string

HMAC-SHA256 signature over the canonical request string. See the Request Signing section above for the format.

Idempotency-Key?string

Client-generated UUID to ensure at-most-once processing within a 24-hour window.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://partner-api.bocaraton.com/v1/users/partner-user-42" \  -H "X-Request-Timestamp: 2026-03-13T12:00:00Z" \  -H "X-Request-Signature: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2" \  -H "Idempotency-Key: 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d" \  -H "Content-Type: application/json" \  -d '{    "addressLine1": "456 Queen St W",    "city": "Toronto",    "postalCode": "M5V 1Z8"  }'
{
  "userId": "550e8400-e29b-41d4-a716-446655440000",
  "externalId": "partner-user-42",
  "status": "active",
  "updatedAt": "2026-03-14T15:45:00Z"
}
{
  "error": "bad_request",
  "message": "Request body failed validation",
  "requestId": "req-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "fieldErrors": [
    {
      "field": "email",
      "message": "Must be a valid email address"
    }
  ]
}
{
  "error": "unauthorized",
  "message": "Invalid API key or request signature",
  "requestId": "req-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
{
  "error": "not_found",
  "message": "User not found for the authenticated partner",
  "requestId": "req-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
{
  "error": "unprocessable_entity",
  "message": "User must be at least 18 years old",
  "requestId": "req-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
{
  "error": "too_many_requests",
  "message": "Rate limit exceeded. Retry after the duration indicated in the Retry-After header.",
  "requestId": "req-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
{
  "error": "internal_error",
  "message": "An unexpected error occurred. Please retry or contact support with the requestId.",
  "requestId": "req-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}