Get a resource's extracted full text (paginated)
/resources/{ref}/contentReturns a resource's extracted full text, paginated by character. This
is the direct-REST door for the AI chat's document_read tool (full
content) and reads the same extracted-text source — a big enabler for
external RAG, since a caller can pull the text and chunk/embed it
themselves.
Page with either offset (0-based character offset) or page (1-based;
offset = (page - 1) * limit). When both are present, offset wins.
total is the full extracted-text length; hasMore is true while
further pages remain.
A resource that exists and is visible but has no extracted text yet
returns 200 with total: 0 and empty content — not a 404.
Not-found and no-view-access both return 404 NOT_FOUND so the surface
never reveals which refs exist in other usergroups.
Authorization
apiKey Issued to you when your integration is provisioned. Determines which catalogue resources are visible and which AI tools are available.
In: header
Path Parameters
Query Parameters
0-based character offset to start from.
0 <= value01-based page index (alternative to offset; ignored when offset is set).
1 <= valueCharacters to return in this page.
value <= 10000020000Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/resources/0/content"{ "data": { "ref": 0, "total": 0, "offset": 0, "limit": 0, "hasMore": true, "content": "string" }}{ "success": false, "status": "fail", "message": "string", "error": { "message": "API key is required", "code": "NO_API_KEY" }}{ "success": false, "status": "fail", "message": "API key is required", "error": { "code": "NO_API_KEY", "message": "API key is required" }}{ "success": false, "status": "fail", "message": "string", "error": { "message": "API key is required", "code": "NO_API_KEY" }}{ "success": false, "status": "fail", "message": "Hourly rate limit exceeded.", "error": { "code": "RATE_LIMITED", "message": "Hourly rate limit exceeded." }}List searchable fields GET
Returns the searchable fields for **this instance**, resolved live from the box's `resource_type_field` configuration. The field set is **instance-specific** — each publisher/deployment exposes different fields — so an integration should discover fields at runtime rather than assume a fixed set. The `name` of each field is what you pass as a key in `fieldFilters`/`dateFilters` on `POST /resources/search`.
Stream a rendered PDF page image GET
Returns JPEG bytes for a pre-rendered page of the resource's PDF (rendered during vector indexing). Useful for showing the exact page a search hit or AI citation points at. Two ways to authenticate: - `X-Api-Key` header (**read** scope) — for server-side fetches. - Signed URL (`exp` + `sig` query params) — time-limited HMAC signature, so the URL can be embedded directly in a browser `<img src>` without exposing the api-key. Signed page URLs are issued by the AI chat response when a citation references a page.