Add a single contact (lead), tenant-wide phone dedup.
POST/api/v1/contacts
Insert one lead row, tenant-scoped. If the phone already exists for this tenant anywhere, returns the existing lead_id with already_existed=true. Requires consent_acknowledged=true (TCPA audit trail written to custom_fields.consent). Dedup semantic: TENANT-WIDE phone uniqueness, intentionally different from POST /v1/leads/bulk (which dedups per list_id). Scope: write_crm.
Request
Responses
- 200
- 201
- 400
- 401
- 403
- 422
Existing contact returned (already_existed=true)
Contact created (already_existed=false)
Missing or invalid parameters
Invalid or missing API key
API key lacks the required scope for this endpoint
Invalid phone or consent_acknowledged missing/false.