Skip to main content

List Record Set Fields

List the field definitions of a record set: field keys, display names, data types, position order, and required or hidden flags that define the columns.

List the field definitions of a record set. Fields define the columns available in the set: each field has a field_key (the column name used to key cell values), a data_type, an optional display_name, a position that fixes the column order, and is_required and is_hidden flags. Use this endpoint to learn the shape of the data before fetching records.

Field definitions are derived from the schema used during extraction or the policy used during resolution, so different record sets can carry different columns even when they originate from the same documents. The response is ordered by position ascending, which is the same order used for display and export. Fetching the field list first also lets you build dynamic table UIs that adapt to whatever columns a set defines.

GET/v1/record-sets/{id}/fields

Path parameters

id*uuidRecord set UUID. Must belong to your organization.

Response

Response fields

dataarrayArray of field definition objects, ordered by position.
data[].idstringField definition UUID.
data[].field_keystringField key (column name). Cell values in records are keyed by this.
data[].display_namestring | nullHuman-readable display name.
data[].data_typestringValue type of the column (e.g. string, number, date, boolean).
data[].positionintegerColumn order position (ascending).
data[].is_requiredbooleanWhether the field is marked required in the set.
data[].is_hiddenbooleanWhether the field is hidden from default display.
links.selfstringURL of this field list.
links.record_setstringURL of the parent record set.

curl

Response

{
  "data": [
    { "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890", "field_key": "invoice_number", "display_name": "Invoice Number", "data_type": "string", "position": 0, "is_required": true, "is_hidden": false },
    { "id": "f2b3c4d5-e6f7-8901-bcde-f23456789012", "field_key": "vendor_name", "display_name": "Vendor Name", "data_type": "string", "position": 1, "is_required": false, "is_hidden": false },
    { "id": "f3c4d5e6-f7a8-9012-cdef-345678901234", "field_key": "total_amount", "display_name": "Total Amount", "data_type": "number", "position": 2, "is_required": false, "is_hidden": false },
    { "id": "f4d5e6f7-a8b9-0123-def0-456789012345", "field_key": "invoice_date", "display_name": "Invoice Date", "data_type": "date", "position": 3, "is_required": false, "is_hidden": false }
  ],
  "links": {
    "self": "/v1/record-sets/a1b2c3d4-e5f6-7890-abcd-ef1234567890/fields",
    "record_set": "/v1/record-sets/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}
The field_key values returned here are the keys of the values map on each record. Fetch fields once, then use them to interpret every page of the records endpoint.

Errors

Error responses

401unauthorizedMissing or invalid API key.
404not_foundRecord set not found or does not belong to your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.