Client form data containing scheduling fields. Required when client_id is not provided - the API requires client identification either via existing client_id or via form_data fields.
- Prefer
client_id: If you have an existing client_id, use it instead of form_data. This is simpler and avoids form validation.
- Use form_data: Only when creating a booking for a new client who doesn't exist yet.
Call GET /platform/v1/forms?business_id={business_id}&form_type=scheduling&service_uid={service_id} to get the scheduling form definition. Required fields (typically email and first_name) will have required: true.
The fields property must be an array of field objects, NOT a key-value object:
{
"form_data": {
"fields": [
{
"field_id": "{email_field_id}",
"type": "email",
"new_data": "[email protected]"
},
{
"field_id": "{first_name_field_id}",
"type": "first_name",
"new_data": "John"
}
],
"service_fields": [],
"others": { "notes": null },
"policies": {}
}
}
Warning: Using the wrong format (e.g., {"field_id": "value"} as a key-value object) will cause validation errors.
When the service interaction_type is client_location or phone_call, include meeting details:
{
"form_data": {
"fields": [...],
"meeting_details": {
"meeting_interaction_details": "123 Main St, City"
}
}
}