Create a new contact or update an existing one if a contact with the same email already exists (upsert). You can optionally attach the contact to lists and set property values inline.
API key from your SendKit dashboard. Pass it as a Bearer token in the Authorization header.
The contact's email address. If a contact with this email already exists, it will be updated.
255"john@example.com"
The contact's first name.
255"John"
The contact's last name.
255"Doe"
An external user identifier from your application.
255"ext_123"
Whether the contact should be marked as unsubscribed.
false
List IDs to attach the contact to. Replaces existing list memberships.
["550e8400-e29b-41d4-a716-446655440000"]Property values to set on the contact. Keys must match existing property keys.
{ "company": "Acme", "plan": "pro" }Existing contact updated (upsert)
Unique identifier.
"550e8400-e29b-41d4-a716-446655440000"
The contact's email address.
"john@example.com"
The contact's first name.
"John"
The contact's last name.
"Doe"
An external user identifier from your application.
"ext_123"
Whether the contact has unsubscribed.
false
Custom property values. Keys are uppercased property names.
{ "COMPANY": "Acme", "PLAN": "pro" }Lists this contact belongs to.
When the contact was created.
"2026-03-03 10:00:00"
When the contact was last updated.
"2026-03-03 10:00:00"