Contacts API
Find, create and update contacts and tags.
Base URL: https://api-admin-us-east.velaro.com/api/v1. Send your API key as Authorization: Bearer vlk_.... Create keys under Settings > API Keys; each key carries only the scopes you grant it.
List notes
GET /api/v1/contacts/{id}/notes
Required scope: read:contacts
| Parameter | In | Type | Notes |
|---|---|---|---|
| id | path | integer (int64) | required |
| page | query | integer (int32) | optional, default 1 |
| pageSize | query | integer (int32) | optional, default 50 |
Add contact note
POST /api/v1/contacts/{id}/notes
Required scope: write:contacts
| Parameter | In | Type | Notes |
|---|---|---|---|
| id | path | integer (int64) | required |
Request body: JSON AddNoteRequest
Remove tag
DELETE /api/v1/contacts/{id}/tags/{tagId}
Required scope: write:contacts
| Parameter | In | Type | Notes |
|---|---|---|---|
| id | path | integer (int64) | required |
| tagId | path | integer (int32) | required |
Soft-deletes a contact (hidden from lists, restorable for 30 days). Other-site ids return 404.
DELETE /api/v1/contacts/{id}
Required scope: write:contacts
| Parameter | In | Type | Notes |
|---|---|---|---|
| id | path | integer (int64) | required |
Get contact
GET /api/v1/contacts/{id}
Required scope: read:contacts
| Parameter | In | Type | Notes |
|---|---|---|---|
| id | path | integer (int64) | required |
Response: JSON ContactDto
Patch contact
PATCH /api/v1/contacts/{id}
Required scope: write:contacts
| Parameter | In | Type | Notes |
|---|---|---|---|
| id | path | integer (int64) | required |
Request body: JSON UpsertContactRequest
Tag contact
POST /api/v1/contacts/tag
Required scope: write:contacts
Request body: JSON TagContactRequest
List tags
GET /api/v1/contacts/tags
Required scope: read:contacts
Creates or updates a contact, matching an existing one by uniqueId, then email, then phone. At least one of those three is required. Fields not sent are left unchanged.
POST /api/v1/contacts/upsert
Required scope: write:contacts
Request body: JSON ContactUpsertByKeyRequest
List contacts
GET /api/v1/contacts
Required scope: read:contacts
| Parameter | In | Type | Notes |
|---|---|---|---|
| query | string | optional | |
| search | query | string | optional |
| page | query | integer (int32) | optional, default 1 |
| pageSize | query | integer (int32) | optional, default 50 |
Response: JSON list of ContactDto
Upsert contact
POST /api/v1/contacts
Required scope: write:contacts
Request body: JSON UpsertContactRequest
Common responses: 401 for a missing or invalid key, 403 when the key lacks the scope, 429 when the rate limit is reached.
Was this article helpful?