Custom objects
Records of the objects your workspace defines for itself.
- GET List records of a custom object
- POST Create a custom object record
- GET Get a custom object record
- PATCH Update a custom object record
- DELETE Archive a custom object record
#List records of a custom object
GET/api/v1/objects/{slug}/records
| Parameter | In | Type | Notes |
|---|---|---|---|
slug required | path | string | The custom object's slug, as shown in CRM settings. |
limit | query | integer | Page size, at most 100. |
cursor | query | string | pagination.nextCursor from the previous page. |
sort | query | -updated_at | updated_at | -created_at | created_at | Sort order. A leading minus sorts descending. |
updated_since | query | datetime | Only records updated at or after this instant. |
q | query | string | Free-text search over the object's main columns. |
owner | query | string | Only records whose owner equals this. |
curl https://synconone.com/api/v1/objects/string/records \
-H "Authorization: Bearer sk_live_YOUR_KEY"{
"data": [
{
"id": "pr_1a2b3c4d5e6f7a8b",
"object": "string",
"name": "Emily Carter",
"owner": "string",
"created_at": "2026-11-05T10:00:00Z",
"updated_at": "2026-11-05T10:00:00Z"
}
],
"pagination": {
"nextCursor": null,
"hasMore": false
}
}Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.
#Create a custom object record
POST/api/v1/objects/{slug}/records
| Parameter | In | Type | Notes |
|---|---|---|---|
slug required | path | string | The custom object's slug, as shown in CRM settings. |
| Body field | Type | Notes |
|---|---|---|
name | string | Name |
owner | string | Owner |
curl -X POST https://synconone.com/api/v1/objects/string/records \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Emily Carter","owner":"string"}'{
"data": {
"id": "pr_1a2b3c4d5e6f7a8b",
"object": "string",
"name": "Emily Carter",
"owner": "string",
"created_at": "2026-11-05T10:00:00Z",
"updated_at": "2026-11-05T10:00:00Z"
}
}Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 409: Conflict, approval required, or idempotent request in progress. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.
#Get a custom object record
GET/api/v1/objects/{slug}/records/{id}
| Parameter | In | Type | Notes |
|---|---|---|---|
slug required | path | string | The custom object's slug, as shown in CRM settings. |
id required | path | string | Public id of the record. |
curl https://synconone.com/api/v1/objects/string/records/pr_1a2b3c4d5e6f7a8b \
-H "Authorization: Bearer sk_live_YOUR_KEY"{
"data": {
"id": "pr_1a2b3c4d5e6f7a8b",
"object": "string",
"name": "Emily Carter",
"owner": "string",
"created_at": "2026-11-05T10:00:00Z",
"updated_at": "2026-11-05T10:00:00Z"
}
}Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.
#Update a custom object record
PATCH/api/v1/objects/{slug}/records/{id}
| Parameter | In | Type | Notes |
|---|---|---|---|
slug required | path | string | The custom object's slug, as shown in CRM settings. |
id required | path | string | Public id of the record. |
| Body field | Type | Notes |
|---|---|---|
name | string | Name |
owner | string | Owner |
curl -X PATCH https://synconone.com/api/v1/objects/string/records/pr_1a2b3c4d5e6f7a8b \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Emily Carter","owner":"string"}'{
"data": {
"id": "pr_1a2b3c4d5e6f7a8b",
"object": "string",
"name": "Emily Carter",
"owner": "string",
"created_at": "2026-11-05T10:00:00Z",
"updated_at": "2026-11-05T10:00:00Z"
}
}Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 409: Conflict, approval required, or idempotent request in progress. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.
#Archive a custom object record
DELETE/api/v1/objects/{slug}/records/{id}
| Parameter | In | Type | Notes |
|---|---|---|---|
slug required | path | string | The custom object's slug, as shown in CRM settings. |
id required | path | string | Public id of the record. |
curl -X DELETE https://synconone.com/api/v1/objects/string/records/pr_1a2b3c4d5e6f7a8b \
-H "Authorization: Bearer sk_live_YOUR_KEY"{
"data": {
"id": "pr_1a2b3c4d5e6f7a8b",
"object": "string",
"archived": true
}
}Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.