The Create Contact endpoint adds a new donor record to your CharityStack account. You must provide firstName and lastName. All other fields — emails, phones, addresses, and organization name — are optional but recommended for complete records. The API enforces uniqueness per merchant: if a contact with the same primary email or primary phone already exists, the request returns 409 Conflict.
Endpoint
POST https://0k90mc4jjj.execute-api.us-east-2.amazonaws.com/v1/contacts
Authentication
Bearer token using your API key. Format: Bearer cs_live_your_key
Request body
Organization or company name.
List of email address objects. At least one email is strongly recommended. Mark this as the primary email. Defaults to false. Only one email should be marked primary.
List of phone number objects. Phone number string. Non-digit characters are stripped automatically.
Mark this as the primary phone number. Defaults to false.
List of mailing address objects. Show address object fields
Street address line 2 (apartment, suite, etc.).
State or region code (e.g., MA).
Country name (e.g., United States).
Mark this as the primary address.
Response
On success the API returns 201 Created with the full contact object and a confirmation message.
The newly created contact record. Show contact object fields
Unique contact identifier (UUID).
Array of address objects.
ISO 8601 creation timestamp.
ISO 8601 last-updated timestamp.
Confirmation message: "Contact created successfully".
Status codes
Code Description 201Contact created successfully. 400Missing required fields or invalid email format. 401Missing or invalid API key. 409A contact with this email or phone already exists for your merchant.
Example
curl -X POST https://0k90mc4jjj.execute-api.us-east-2.amazonaws.com/v1/contacts \
-H "Authorization: Bearer cs_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"firstName": "Jane",
"lastName": "Smith",
"organizationName": "Smith Foundation",
"emails": [
{ "value": "jane@smithfoundation.org", "is_primary": true }
],
"phones": [
{ "value": "+1 617-555-0101", "is_primary": true }
],
"addresses": [
{
"line1": "456 Park Ave",
"line2": "",
"city": "Boston",
"region": "MA",
"postal": "02101",
"country": "United States",
"is_primary": true
}
]
}'
201 response
{
"contact" : {
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"fullName" : "Jane Smith" ,
"organizationName" : "Smith Foundation" ,
"emails" : [
{ "value" : "jane@smithfoundation.org" , "is_primary" : true }
],
"phones" : [
{ "value" : "16175550101" , "is_primary" : true }
],
"addresses" : [
{
"line1" : "456 Park Ave" ,
"line2" : "" ,
"city" : "Boston" ,
"region" : "MA" ,
"postal" : "02101" ,
"country" : "United States" ,
"is_primary" : true
}
],
"totalTransactionCount" : 0 ,
"totalTransactionValue" : 0 ,
"created_at" : "2025-04-28T12:00:00.000000" ,
"updated_at" : "2025-04-28T12:00:00.000000"
},
"message" : "Contact created successfully"
}
Phone numbers are normalized automatically. The value +1 617-555-0101 is stored as 16175550101. When filtering by phone, use the cleaned digit-only format.