Create a compliance client
Previewpost
https://api.expiryedge.com/v2/compliance-clientseditor or admin60/minIdempotency-Key
Request
curl -X POST 'https://api.expiryedge.com/v2/compliance-clients' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"name": "Northwind Dental",
"primary_contact_name": "Priya Shah",
"email": "office@northwinddental.example",
"industry": "Dental",
"custom_fields": {
"tax_id": "12-3456789"
}
}'Response
{
"name": "Example name",
"primary_contact_name": "Example name",
"email": "name@example.com",
"phone": "+15555550123",
"website": "string",
"address": "string",
"industry": "string",
"status": "Active",
"notes": "string",
"custom_fields": {},
"id": "cli_123",
"organization_id": "org_123",
"user_id": "use_123",
"is_archived": true,
"archived_at": "2026-10-15T09:00:00Z",
"created_at": "2026-09-27T14:05:00.000Z"
}Field names as stored; unknown fields are rejected (400).
Idempotency-KeystringOptional client-generated key (1-255 characters of letters, digits,- _ : .).pattern: ^[A-Za-z0-9_\-:.]{1,255}$
namestringrequiredmax length: 200primary_contact_namestringemailstringphonestringwebsitestringaddressstringindustrystringstatusstringAllowedActiveInactivenotesstringcustom_fieldsmap of string
201
Created.
namestringmax length: 200primary_contact_namestringemailstringphonestringwebsitestringaddressstringindustrystringstatusstringAllowedActiveInactivenotesstringcustom_fieldsmap of stringidstringorganization_idstringuser_idstringis_archivedbooleanarchived_atstring | nullcreated_atstringUTC timestamp, ISO 8601. Every v1 response uses this form, never a raw Firestore Timestamp ({_seconds, _nanoseconds}).format: date-timeupdated_atstringUTC timestamp, ISO 8601. Every v1 response uses this form, never a raw Firestore Timestamp ({_seconds, _nanoseconds}).format: date-time
400 | Invalid parameters or body ( VALIDATION_FAILED; details names the fields). |
401 | Missing, invalid or expired token ( UNAUTHORIZED). |
403 | Your role can't do this, or your account has no organization ( FORBIDDEN). |
405 | Wrong HTTP method for this path; the Allow header lists the valid ones. |
409 | State or uniqueness conflict: EMAIL_EXISTS (contacts), GROUP_EXISTS (contact groups), CONFLICT (folder name taken), FOLDER_NOT_EMPTY, CLIENT_HAS_PROJECTS, TOO_MANY_ATTACHMENTS, INVALID_STATE (collection request cancel/resend), or IDEMPOTENCY_IN_PROGRESS (same Idempotency-Key still running; see Retry-After). |
422 | The Idempotency-Key was already used with a different body ( IDEMPOTENCY_KEY_REUSED). |
429 | Too many requests for this endpoint from your IP. Wait Retry-After seconds. |
