Skip to main content
The Create Contact endpoint adds a new contact record to your CharityStack account. firstName and lastName are required; all other fields are optional. Email uniqueness is enforced per organization — if an email in the request already belongs to another of your contacts, the request returns 409 email_taken with the existing contact’s ID.

Endpoint

Authentication

string
required
Bearer token using your API key. Format: Bearer cs_live_your_key

Request body

string
required
Contact’s first name. Non-blank.
string
required
Contact’s last name. Non-blank.
string
Organization or company the contact belongs to.
object[]
Email entries. Duplicates (case-insensitive) are rejected.
object[]
Phone entries. Values are normalized to E.164 (e.g. +34613628904); bare national numbers are treated as US. Unparseable numbers return 400.
object[]
Address entries.
SUBSCRIBED or UNSUBSCRIBED. Omit to use the creation default: SUBSCRIBED (email is an opt-out regime).
SUBSCRIBED or UNSUBSCRIBED. Omit to use the creation default: NEVER_SUBSCRIBED (SMS is an opt-in regime — only set SUBSCRIBED when you have collected explicit SMS consent).

Response

On success returns 201 with the created contact:
object
required
The full created contact record, in the same shape as Get Contact — including its generated id.

Errors

Example

Successful creates emit the contact.created webhook event.