Skip to main content

List Record Set Records

List records in a record set with page-based pagination. Pass include=values to attach each record's latest cell values with per-cell status and confidence.

List the records (rows) in a record set with offset-based pagination. Each record carries its identity metadata: the document_id it maps to, its ordinal position, an optional record_key, a row-level status, and an aggregate confidence score. Pass include=values to also attach the record's latest cell values keyed by field, each with its own status and confidence. This is the primary way to read structured data out of the value plane.

Unlike the cursor-based pagination used by most list endpoints, record set records use offset-based pagination with page and limit parameters. This is intentional: record sets are table-like structures where random access by page number is a common use case for building paginated table UIs. The pagination block reports the total record count so you can compute page counts up front.

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

Path parameters

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

Query parameters

pageintegerPage number (1-indexed). Default: 1
limitintegerNumber of records per page (1-100). Default: 20
includestringPass "values" to attach each record's latest-version cell values.

Response

Response fields

dataarrayArray of record objects.
data[].idstringRecord UUID.
data[].document_idstring | nullSource document UUID, if the record maps to a document.
data[].ordinalintegerStable row order within the record set (0-based).
data[].record_keystring | nullExternal or customer-defined key, when known (e.g. a contract number).
data[].statusstringRow-level lifecycle state.
data[].confidencenumber | nullAggregate confidence for the row (0-1).
data[].valuesobjectOnly with include=values: map of field_key to the latest cell value.
data[].values[key].valuestring | number | boolean | object | nullThe cell value. Null for cells held in review.
data[].values[key].statusstringCell status (e.g. extracted, resolved, pending_approval).
data[].values[key].confidencenumber | nullPer-cell confidence score (0-1).
pagination.totalintegerTotal number of records in the set.
pagination.pageintegerCurrent page number.
pagination.limitintegerRecords per page.
pagination.has_morebooleanWhether more records exist beyond this page.
linksobjectRelated resource URLs (self, record_set).

curl

Response

{
  "data": [
    {
      "id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
      "document_id": "d1c2b3a4-e5f6-7890-abcd-ef1234567890",
      "ordinal": 0,
      "record_key": "INV-2024-0042",
      "status": "active",
      "confidence": 0.96,
      "values": {
        "invoice_number": {
          "value": "INV-2024-0042",
          "status": "extracted",
          "confidence": 0.97
        },
        "country_code": {
          "value": "DE",
          "status": "resolved",
          "confidence": 0.95
        }
      }
    }
  ],
  "pagination": {
    "total": 142,
    "page": 1,
    "limit": 10,
    "has_more": true
  },
  "links": {
    "self": "/v1/record-sets/a1b2c3d4-e5f6-7890-abcd-ef1234567890/records",
    "record_set": "/v1/record-sets/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}
A cell with status pending_approval returns value null. Values held in the review queue never leave the API until a reviewer approves them, so treat a null value with pending_approval status as a review holdback, not missing data.

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.