---
title: "Get Search Result Set Page"
method: GET
path: "/search/result-sets/{resultSetId}"
tags: ["Search"]
---

# Get Search Result Set Page

`GET /search/result-sets/{resultSetId}`

## Request

- Base URL: `https://ironcladapp.com/public/api/v1`
- URL: `https://ironcladapp.com/public/api/v1/search/result-sets/{resultSetId}`
- Auth: API key in header `Authorization` and OAuth 2
  - Authorization code: `https://ironcladapp.com/oauth/authorize`
  - Client credentials
  - Token URL: `https://ironcladapp.com/oauth/token` scopes: `public.search.conversational`, `public.records.readRecords`, `public.workflows.readWorkflows`

Retrieve a paginated window of records from a search result set created by conversational_search. When conversational_search finds a large number of matching records, it returns a resultSetId in its pagination block. Use this endpoint to page through the full result set.

**OAuth Scopes required:** `public.search.conversational`, `public.records.readRecords`, `public.workflows.readWorkflows`

## Path parameters

- `resultSetId` string, required

## Query parameters

- `page` integer
- `pageSize` integer

## Response `200`

A page of records from the result set

- object
  - `resultSetId` string, required: The result set identifier
  - `page` integer, required: The page number returned, starting at 0.
  - `pageSize` integer, required: The number of records per page
  - `totalCount` integer, required: How many records matched the search. This can be larger than servableCount (see there for why), so page with hasMore rather than counting up to this value.
  - `servableCount` integer, required: How many of the matching records this endpoint can return. It is lower than totalCount in two cases: a result set saved as a fixed list of records keeps only the first records up to a storage limit (currently 200), and a very large live result set can be paged only through its first 10,000 records. hasMore becomes false once these are exhausted.
  - `hasMore` boolean, required: Whether another page exists. Stop when false.
  - `nextPage` integer, nullable, required: The page number to request next (page + 1), or null when there are no more pages. Returned so callers, including AI agents, do not have to compute it.
  - `columns` object[], required: The fixed and query-relevant columns included in each record's metadata.
    - `key` string, required: The key used in each record's metadata object.
    - `label` string, required: The current display label for the column.
    - `type` string, required: The record property type.
    - `source` 'fixed' | 'query', required: Whether this is core record metadata or a property selected for relevance to the query.
  - `records` object[], required: The records on this page
    - `id` string, required: The record ID
    - `url` string, nullable, required: URL to view the record in Ironclad
    - `title` string: The record title
    - `metadata` object, required: Display-ready values keyed by the corresponding columns entries.

## Other responses

- `400`: 400
- `401`: 401
- `403`: 403
- `404`: 404

## Changes

- **2026-11-03** `435da5a4396e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ironcladapp/apis/ironclad-public-api/changes/search/result-sets/:resultSetId/get.md)

---

[API](https://skmtc.dev/ironcladapp/apis/ironclad-public-api.md) - [All operations](https://skmtc.dev/ironcladapp/apis/ironclad-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ironcladapp/apis/ironclad-public-api/revisions/435da5a4396e?raw)
