Reference
List field sets
GET /v1/field-sets. The named bundles of fields an order can deliver, with their exact columns.
GET /v1/field-sets
The named bundles of fields an order can deliver, with their exact columns. Every field set costs 1 credit a record: no telephone, export or API surcharge.
| Property | Value |
|---|---|
| Endpoint | GET https://mydatahub.emailmovers.com/v1/field-sets |
| Operation id | listFieldSets |
| Cost | Free (0 credits) |
| Access | No account, key or token needed. |
| MCP tool | list_field_sets |
| Tag | Catalogue |
Request
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
limit | query | integer (1 to 100) | no | Items per page, 1 to 100. Default 25. |
cursor | query | string | no | An opaque cursor from next_cursor. Pass it back unchanged. |
MyDataHub-Version | header | string | no | The dated API version, pinned per key when left out. Non-breaking changes ship as new dates; the path major changes only for breaking changes, with a 12 month deprecation window. |
Example request
curl "https://mydatahub.emailmovers.com/v1/field-sets"Responses
200: A page of field sets.
Headers: RateLimit, RateLimit-Policy.
| Member | Type | Always present | Description |
|---|---|---|---|
data | array of FieldSet | yes | |
data[].id | string | yes | Such as standard, standard_telephone or full. |
data[].name | string | yes | |
data[].description | string | yes | |
data[].credits_per_record | number (0 or more) | yes | Every field set costs 1 credit a record. |
data[].columns | array of object | yes | |
has_more | boolean | yes | Whether another page follows. |
next_cursor | string or null | yes | Pass as cursor to fetch the next page; null on the last page. |
Example response
{
"data": [
{
"id": "standard",
"name": "Standard",
"description": "Named email, postal address and company fields with Companies House number and SIC.",
"credits_per_record": 1,
"columns": [
{
"name": "first_name",
"description": "First name"
},
{
"name": "email",
"description": "Named business email"
},
{
"name": "companies_house_number",
"description": "Companies House number"
}
]
}
],
"has_more": false,
"next_cursor": null
}Errors
Every error is a problem object with a code and a next_step. Every response carries the RateLimit and RateLimit-Policy headers; see Rate limits.
| Status | Problem codes | When |
|---|---|---|
| 400 | invalid-request, idempotency-key-required, unsupported-version | The request could not be read, or an Idempotency-Key is missing. |
| 422 | validation-failed, quote-required, dataset-unavailable | The request is not valid. errors lists every problem with a JSON pointer and did_you_mean. |
| 429 | rate-limited | Too many requests. Wait for Retry-After. |
| Any other failure | internal-error, service-unavailable, tps-screen-expired | Something failed on our side (500 internal-error) or the service is briefly unavailable (503 service-unavailable, with Retry-After). Nothing was charged; retry with the same Idempotency-Key. A count, sample, quote or order with telephone in play is also refused with 503 tps-screen-expired, with no Retry-After, while the dataset version's TPS and CTPS screen is more than 28 days old. |