Error codes
Error body
All errors return a JSON body with anerror field:
Async endpoints and silent failures
For async endpoints (create-with-ai, create), validation happens in the background worker — not at the HTTP layer. This means:
- A
200response does not guarantee a contact was created - If
unstructured_textis empty, no contact work is performed despite a successful response - If none of
full_name,phone_number, orcontact_emailare present on a structured create, the worker returns early without creating
Duplicate events
Async endpoints deduplicate payloads using a hash of the request body. If the same payload is received more than once:- The response is still
200 acknowledgedistrueeventIdis omitted
eventId to distinguish new events from duplicates.