Create Customer
Create a new customer record.
Endpointโ
POST /v1/customers
Authenticationโ
Requires an API key with the customers:write scope.
Request Bodyโ
| Field | Type | Required | Description |
|---|---|---|---|
first_name | string | Yes* | First name (max 255 characters). *Optional when is_organization is true โ then it's the contact person's first name. |
last_name | string | No | Last name (max 255 characters) |
is_organization | boolean | No | Set true when the customer is an organization (company/club/group) booking on behalf of others. Requires the supplier's Organization bookings setting (Settings โ Booking Widget); when off, the customer is created as an individual instead |
organization_name | string | Required when is_organization is true | Organization name โ the display identity for organization customers |
parent_customer_id | integer | No | ID of the organization customer this person belongs to (must belong to your supplier) |
email | string | No | Email address |
phone | string | No | Phone number |
phone_country_code | string | No | Phone country code (e.g., +61) |
gender | string | No | male, female, or other |
date_of_birth | string | No | Date of birth (YYYY-MM-DD) |
address_line_1 | string | No | Street address line 1 |
address_line_2 | string | No | Street address line 2 |
city | string | No | City |
state | string | No | State/province |
postcode | string | No | Postal/ZIP code |
country | string | No | ISO 3166-1 alpha-2 country code |
Example Requestโ
curl -X POST "https://app.equipdash.com/api/v1/customers" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com",
"phone": "0498765432",
"phone_country_code": "+61",
"city": "Melbourne",
"state": "VIC",
"postcode": "3000",
"country": "AU"
}'
Responseโ
Success (201 Created)โ
{
"data": {
"id": 256,
"first_name": "Jane",
"last_name": "Smith",
"full_name": "Jane Smith",
"email": "jane@example.com",
"phone": "0498765432",
"phone_country_code": "+61",
"gender": null,
"date_of_birth": null,
"address": {
"line_1": null,
"line_2": null,
"city": "Melbourne",
"state": "VIC",
"postcode": "3000",
"country": "AU"
},
"bookings_count": 0,
"last_booking": null,
"created_at": "2026-01-15T12:00:00+00:00",
"updated_at": "2026-01-15T12:00:00+00:00"
},
"meta": {
"request_id": "req_def456",
"timestamp": "2026-01-15T12:00:00+00:00"
}
}
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks customers:write scope |
| 422 | validation_error | Invalid request data |
Validation Error Exampleโ
{
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"details": {
"email": ["The email has already been taken."]
}
},
"meta": {
"request_id": "req_xyz789"
}
}