Resources

Get a resource's extracted full text (paginated)

GET/resources/{ref}/content

Returns 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.

X-Api-Key<token>

Issued to you when your integration is provisioned. Determines which catalogue resources are visible and which AI tools are available.

In: header

Path Parameters

ref*integer

Query Parameters

offset?integer

0-based character offset to start from.

Range0 <= value
Default0
page?integer

1-based page index (alternative to offset; ignored when offset is set).

Range1 <= value
limit?integer

Characters to return in this page.

Rangevalue <= 100000
Default20000

Response 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."  }}