Overview
Registers a customer contact and optionally creates a service address. Returns id (use as contactId) and addressId for booking and timeslot requests.
Call this endpoint before POST /partners/bookings.
Endpoint
Authentication
Requires a valid API Key with the partner_contacts_read permission.
Request Body
Minimal (contact only):
With address (recommended before booking):
Field Reference
utmSource is assigned automatically from your partner account name — do not send it in the request body.
Example Request
Success Response
HTTP Status: 200 OK
Contact without address:
Contact with address created:
Response Fields
Error Responses
Notes
- Store the returned
id as contactId and addressId in your booking request.
- When you send
latitude and longitude together with address text fields, use the returned addressId directly in POST /partners/bookings and GET /partners/timeslots/available.
latitude and longitude must both be provided to set coordinates; sending only one is ignored for location matching.
- Phone numbers are normalized server-side — always use the international
+966 format.
POST /partners/bookings — Create a booking using the returned id as contactId and addressId
GET /partners/services?addressId=... — List services available at the returned address
GET /partners/timeslots/available — Check timeslots using addressId