Skip to main content

Create Customer

Create a new customer record.

Endpointโ€‹

POST /v1/customers

Authenticationโ€‹

Requires an API key with the customers:write scope.

Request Bodyโ€‹

FieldTypeRequiredDescription
first_namestringYes*First name (max 255 characters). *Optional when is_organization is true โ€” then it's the contact person's first name.
last_namestringNoLast name (max 255 characters)
is_organizationbooleanNoSet 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_namestringRequired when is_organization is trueOrganization name โ€” the display identity for organization customers
parent_customer_idintegerNoID of the organization customer this person belongs to (must belong to your supplier)
emailstringNoEmail address
phonestringNoPhone number
phone_country_codestringNoPhone country code (e.g., +61)
genderstringNomale, female, or other
date_of_birthstringNoDate of birth (YYYY-MM-DD)
address_line_1stringNoStreet address line 1
address_line_2stringNoStreet address line 2
citystringNoCity
statestringNoState/province
postcodestringNoPostal/ZIP code
countrystringNoISO 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โ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
401invalid_api_keyInvalid API key
403insufficient_scopeAPI key lacks customers:write scope
422validation_errorInvalid 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"
}
}