Returns a paginated list of records for a custom CRM object.
Required scope: crm:read or crm:write
curl --request GET \
--url https://api.zeeg.me/v2/crm/{objectSlug} \
--header 'Authorization: Bearer <token>'{
"success": true,
"status": 200,
"data": {
"pagination": {
"totalItems": 1,
"perPage": 10,
"currentPage": 1,
"lastPage": 1,
"hasPreviousPage": false,
"hasNextPage": false
},
"records": [
{
"id": "c1d2e3f4-a5b6-7890-cdef-123456789012",
"objectSlug": "products",
"attributes": {
"sku": "DRESS-001",
"price": 29,
"inventory_count": 150
},
"createdAt": "2025-06-01T10:00:00+00:00",
"updatedAt": "2025-06-01T10:00:00+00:00"
}
]
}
}Returns a paginated list of records for a custom CRM object. Use this endpoint to browse all records for any object you’ve created — products, deals, subscriptions, or any other custom object in your workspace.Documentation Index
Fetch the complete documentation index at: https://developer.zeeg.me/llms.txt
Use this file to discover all available pages before exploring further.
| Parameter | Type | Description |
|---|---|---|
objectSlug | string | The slug of the custom CRM object. Must already exist. Discover available slugs via List CRM Objects. |
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number. Starts at 1. |
perPage | integer | 10 | Number of records returned per page. Maximum is 100. |
sortBy | string | created_at | Attribute slug to sort by. Pass the exact attribute key (e.g. price, sku). Use created_at or updated_at for system timestamps. |
sortOrder | string | asc | Sort direction. Either asc (oldest/lowest first) or desc (newest/highest first). |
records array contains:
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique identifier for the record. Store this on your side to avoid re-fetching. |
objectSlug | string | The object this record belongs to. |
attributes | object | All attribute values keyed by their attribute slug. Unset attributes are null. |
createdAt | string (ISO 8601) | When the record was created. |
updatedAt | string (ISO 8601) | When the record was last modified. |
pagination wrapper contains:
| Field | Type | Description |
|---|---|---|
totalItems | integer | Total number of records across all pages. |
perPage | integer | Records per page as requested. |
currentPage | integer | The page returned in this response. |
lastPage | integer | Total number of pages. |
hasPreviousPage | boolean | true when a previous page exists. |
hasNextPage | boolean | true when a next page exists. |
attributes) are defined on the object schema. To see all available attribute slugs and their types, call GET /v2/crm/objects/{slug} before building a UI or processing the response.
GET /v2/crm/products?perPage=50&sortBy=created_at&sortOrder=desc&page=1
GET /v2/crm/products?perPage=50&sortBy=created_at&sortOrder=desc&page=2
hasNextPage is false.
sortBy=updated_at&sortOrder=desc.Slug of the custom CRM object.
Page number.
x >= 1Number of records per page.
1 <= x <= 100Attribute slug to sort by.
Sort direction.
asc, desc OK
true
200
Hide child attributes
Hide child attributes
Unique identifier for the record.
"c1d2e3f4-a5b6-7890-cdef-123456789012"
Slug of the CRM object this record belongs to.
"products"
Key/value pairs for the custom attributes defined on the object. Keys are attribute slugs.
{
"sku": "DRESS-001",
"price": 29,
"inventory_count": 150
}ISO 8601 timestamp when the record was created.
"2025-06-01T10:00:00+00:00"
ISO 8601 timestamp when the record was last updated.
"2025-06-01T12:00:00+00:00"
curl --request GET \
--url https://api.zeeg.me/v2/crm/{objectSlug} \
--header 'Authorization: Bearer <token>'{
"success": true,
"status": 200,
"data": {
"pagination": {
"totalItems": 1,
"perPage": 10,
"currentPage": 1,
"lastPage": 1,
"hasPreviousPage": false,
"hasNextPage": false
},
"records": [
{
"id": "c1d2e3f4-a5b6-7890-cdef-123456789012",
"objectSlug": "products",
"attributes": {
"sku": "DRESS-001",
"price": 29,
"inventory_count": 150
},
"createdAt": "2025-06-01T10:00:00+00:00",
"updatedAt": "2025-06-01T10:00:00+00:00"
}
]
}
}