Create a customer. Matching on email then phone avoids duplicates.
Create a customer. Matching on email then phone avoids duplicates.
https://app.softsolz.uk/api/v1/services/appointments/customersRecent Requests
Log in to see full request historyHeaders
AuthorizationstringrequiredBearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.
Idempotency-KeystringOptional idempotency key for safe retries.
Body Params
display_namestringName shown throughout the product.
emailstringEmail address.
phonestringPhone number in international format.
timezonestringIANA timezone, for example Europe/London.
localestringPreferred language tag, for example en-GB.
addressesarray of objectsSaved addresses.
tagsarray of stringsFree-form labels for grouping and filtering.
notesstringFree-text notes.
custom_fieldsobjectYour own extra fields, keyed by the definitions in workspace settings.
external_refstringYour own identifier for this person.
messaging_consentbooleanWhether this person accepts SMS, WhatsApp, and calls.
marketing_consentbooleanWhether this person accepts marketing messages.
Response
Response Body
idintegerUnique identifier.display_namestringName shown throughout the product.emailstring | nullEmail address.phonestring | nullPhone number in international format.timezonestring | nullIANA timezone, for example Europe/London.addressesarray of objectsSaved addresses.tagsarray of stringsFree-form labels for grouping and filtering.custom_fieldsobjectYour own extra fields, keyed by the definitions in workspace settings.no_show_countintegerHow many appointments this person did not attend.completed_countintegerHow many appointments this person attended.created_atstringWhen the record was created.updated_atstringWhen the record was last changed. Round-trip as expected_updated_at to guard against stale writes.Request
import { SoftSolz } from '@softsolz/sdk';
const client = new SoftSolz({ apiKey: process.env.SOFTSOLZ_API_KEY });
const result = await client.appointments.createCustomer({});console.log(result);Credentials
Sent as a Bearer token. Stored only in your browser.
Response · 201
{ "data": { "id": 0, "display_name": "string", "email": "string", "phone": "string", "timezone": "string", "addresses": [], "tags": [], "custom_fields": {}, "no_show_count": 0, "completed_count": 0, "created_at": "string", "updated_at": "string" }}