Quickstart
Mint a key, list your contacts, then create one. Five minutes, start to finish.
This walks through the smallest possible integration: read your contact list, then add a contact to it. If you want the full picture of what's available first, skim Introduction; otherwise, jump straight in.
1. Get a key
In your dashboard, go to Settings → API Keys and create one. Give it write scope for this walkthrough, since the second call below creates a contact. Copy the key now; you won't see it again.
2. List your contacts
curl https://api.peleka.io/api/v1/contacts \
-H "X-API-Key: pel_live_51H8x2KJ9mN..."{
"data": [
{ "id": "550e8400-e29b-41d4-a716-446655440000", "email": "[email protected]", "firstName": "Jane" }
],
"nextCursor": null
}If your workspace is brand new, data comes back empty and nextCursor is null. That's expected, not an error.
3. Create a contact
curl -X POST https://api.peleka.io/api/v1/contacts \
-H "X-API-Key: pel_live_51H8x2KJ9mN..." \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"firstName": "Alex"
}'{
"data": {
"id": "8f14e45f-ceea-467c-93cf-3903b73c9c9c",
"email": "[email protected]",
"firstName": "Alex",
"createdAt": "2026-08-12T09:14:02.000Z"
}
}email is the only required field. If a contact with that email already exists in the workspace, this returns a 409 rather than silently updating it — see Syncing contacts for the pattern that handles both cases, and for how to attach tags and custom fields at the same time.
4. Run it again
List contacts once more and the new record shows up. From here you're not doing anything conceptually different than the rest of the API: every resource follows the same auth, the same error format, and one of the two pagination styles covered in Pagination.