---
title: "Get content"
method: GET
path: "/contents/{id}"
tags: ["content"]
---

# Get content

`GET /contents/{id}`

Get through indexed content.

Required scope: \`knowledge:read\`

## Path parameters

- `id` string, uuid, required

## Query parameters

- `authz_policy` string
- `principal_id` string

## Response `200`

Successful get content

- Content
  - `id` string, required — Content ID
  - `text` string, required — Content chunk from the source
  - `url` string, required — Source URL of the content
  - `title` string, required — Title of the content or document
  - `timestamp` integer, required — Unix timestamp when the content was indexed
  - `file_type` 'html' | 'pdf' | 'ppt' | 'pptx' | 'pptm' | 'doc' | 'docx' | 'docm' | 'xls' | 'xlsx' | 'xlsm' | 'md' | 'txt' | 'jsonl' | 'png' | 'jpg' | 'webp' | 'heic' | 'heif' | 'wav' | 'mp3' | 'aiff' | 'aac' | 'm4a' | 'ogg' | 'flac' | 'mp4' | 'mpg' | 'mov' | 'avi' | 'flv' | 'webm' | 'wmv' | '3gp' | 'notion_page', required — The type of the source file
  - `page_number` integer, required — Page number for paginated documents like PDFs. Set to 0 for sources without page numbers
  - `source_type` 'crawl' | 'local_file' | 'google_drive' | 'github' | 'notion', required — The type of the source
  - `source_id` string — Optional source ID for the original source. For crawl content, use this value with GET /sources/{source_id}/raw to download the stored crawl file content. For local_file content, use GET /sources/{source_id} for source details.
  - `keywords` string[]

## Other responses

- `400` — Bad Request - The request was malformed or invalid
- `401` — Unauthorized - Authentication failed
- `403` — Forbidden - Insufficient permissions
- `404` — Not Found - The requested content does not exist
- `429` — Too Many Requests - Rate limit exceeded
- `500` — Internal Server Error

## Changes

> 71 revisions in range; 18 not diffed.

- **2026-07-06** `dda59d58227c` — 1 info
  - added the optional property `source_id` to the response with the `200` status
- **2026-06-17** `05add33422b2` — 2 info
  - added the new optional `query` request parameter `authz_policy`
  - added the new optional `query` request parameter `principal_id`
- **2026-04-03** `9ba2547b5e58` — 1 breaking, 1 info
  - for the `path` request parameter `id`, the format changed from no format to `uuid`
  - added the non-success response with the status `404`
- **2026-02-10** `e5a84cf93911` — 1 warning
  - added the new `aac` enum value to the `file_type` response property for the response status `200`
- **2026-01-19** `43d49afc6c38` — 1 warning
  - added the new `jsonl` enum value to the `file_type` response property for the response status `200`

[Full history](https://skmtc.dev/qlonolink/apis/qaip-apis/changes/contents/:id/get.md)

---

[API](https://skmtc.dev/qlonolink/apis/qaip-apis.md) · [All operations](https://skmtc.dev/qlonolink/apis/qaip-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qlonolink/qaip-apis/revisions/61dc40676905/schema)
