Skip to main content
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

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

Request body

firstName
string
required
Contact’s first name.
lastName
string
required
Contact’s last name.
organizationName
string
Organization or company name.
emails
object[]
List of email address objects. At least one email is strongly recommended.
phones
object[]
List of phone number objects.
addresses
object[]
List of mailing address objects.

Response

On success the API returns 201 Created with the full contact object and a confirmation message.
contact
object
required
The newly created contact record.
message
string
Confirmation message: "Contact created successfully".

Status codes

CodeDescription
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
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.