Create User
Authorization
apiKey X-Api-Key<token>
Partner API key issued during onboarding. Must be included in every request alongside the HMAC signature headers.
In: header
Header Parameters
X-Request-Timestamp*string
RFC 3339 timestamp used in the request signing payload. Requests outside the allowed clock-skew window are rejected.
Format
date-timeX-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.
Format
uuidRequest 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 POST "https://partner-api.bocaraton.com/v1/users" \ -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 '{ "externalId": "partner-user-42", "email": "jane.doe@example.com", "firstName": "Jane", "lastName": "Doe", "dateOfBirth": "1990-05-15", "addressLine1": "123 Main St", "addressLine2": "Suite 400", "city": "Toronto", "postalCode": "M5V 2T6", "province": "ON", "country": "CA", "occupation": "Software Engineer", "isCiroAffiliate": false }'{
"userId": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "partner-user-42",
"status": "pendingCompliance"
}{
"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": "conflict",
"message": "A user with this externalId already exists",
"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"
}