Create a contact
Create or update a RankLadder contact over the API, keyed by phone number.
The API ships one action today: create or update a contact. It uses the same upsert path as every connected CRM, so owner edits still win and existing contacts are matched instead of duplicated.
Requires authentication.
Request
POST /api/v1/contacts| Field | Required | Notes |
|---|---|---|
phone | Yes | The dedup key. E.164 format preferred, e.g. +15035551234. |
name | No | Contact name. |
email | No | Contact email. |
If a contact with that phone number already exists, it is updated. Otherwise a new contact is created, which also fires the new_contact webhook event.
Example:
curl -X POST https://app.rankladder.app/api/v1/contacts \
-H "Authorization: Bearer rl_zapier_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "+15035551234", "name": "Sam Alvarez", "email": "sam@example.com"}'Response
{
"action": "inserted",
"contact_id": "b2c3d4e5-0000-4000-8000-000000000000"
}action is inserted when a new contact was created, updated when an existing contact was matched, or skipped when the contact could not be written (a reason field explains why).
Errors
| Status | Body | Meaning |
|---|---|---|
401 | { "error": "unauthorized" } | Missing, invalid, or revoked key. |
400 | { "error": "missing_phone" } | The phone field is empty or absent. |