Get Contact Custom Fields
Retrieve all custom field values for a specific contact.
Request
GET /contacts/{contactUuid}/custom-fields
Path Parameters
| Parameter | Type | Description |
|---|---|---|
contactUuid | string | Contact's UUID |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number (min: 1) |
per_page | integer | 100 | Items per page (min: 1, max: 100) |
Ordering: Results are ordered by created_at descending (newest first).
Example Request
curl -X GET "https://email.easy.tools/api/v1/contacts/550e8400-e29b-41d4-a716-446655440000/custom-fields?page=1&per_page=50" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Response
Success Response (200 OK)
{
"data": [
{
"uuid": "c1a2b3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"field_key": "company",
"name": "Company",
"type": "text",
"value": "Acme Inc"
},
{
"uuid": "f4e3d2c1-b0a9-4876-9543-21fedcba0987",
"field_key": "plan",
"name": "Plan",
"type": "select",
"value": "enterprise"
},
{
"uuid": "1f2e3d4c-5b6a-4798-8c0d-1e2f3a4b5c6d",
"field_key": "is_vip",
"name": "VIP Customer",
"type": "boolean",
"value": true
},
{
"uuid": "9a8b7c6d-5e4f-4302-a1b0-9c8d7e6f5a4b",
"field_key": "events-attended",
"name": "Events Attended",
"type": "list",
"value": ["Webinar X", "Webinar Y"]
}
],
"pagination": {
"current_page": 1,
"per_page": 50,
"total": 4
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
uuid | string | Field's unique identifier |
field_key | string | Unique key for the field |
name | string | Display name |
type | string | Field type |
value | mixed | The field value (type depends on field type) |
Supported Field Types and Value Formats
| Field Type | Value Type | Example |
|---|---|---|
text | string | "Acme Inc" |
number | number | 42, 3.14 |
boolean | boolean | true, false |
date | string | "2025-01-15" |
datetime | string | "2025-01-15T10:30:00Z" |
select | string | "enterprise" |
list | array of strings | ["Webinar X", "Webinar Y"] |
Pagination Object
| Field | Type | Description |
|---|---|---|
current_page | integer | Current page number |
per_page | integer | Number of items per page |
total | integer | Total number of custom field values |
Error Responses
Not Found Error (404)
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Contact not found"
}
}
Validation Error (422 Unprocessable Entity)
{
"error": {
"code": "VALIDATION_ERROR",
"message": "The given data was invalid",
"details": {
"per_page": ["The per page field must not be greater than 100."]
}
}
}