Skip to main content

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 Headers


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