---
title: "Get a document's content"
method: GET
path: "/org/kb/nodes/{id}/content"
tags: ["Knowledge Base"]
---

# Get a document's content

`GET /org/kb/nodes/{id}/content`

## Request

- Base URL: `https://apiv2.senso.ai/api/v1`
- URL: `https://apiv2.senso.ai/api/v1/org/kb/nodes/{id}/content`
- Auth: API key in header `X-API-Key`

Returns the full content of a document node, including its body text (for raw and web documents), editorial and processing status, tags, and version provenance. Pass `?version=<n>` to fetch a specific version instead of the latest.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `version` integer

## Response `200`

The document's content.

- ContentDetailResponse: A content item with its current version's full body and provenance.
  - `id` string, uuid, required
  - `org_id` string, uuid, required
  - `type` 'raw' | 'web' | 'file', required: The content's source kind.
  - `title` string
  - `summary` string
  - `tags` ContentTagsInfo: Legacy category/topic labels for a content item.
    - `category_id` string
    - `category_name` string
    - `topic_id` string
    - `topic_name` string
  - `org_tags` TagResponse[]
    - `id` string, uuid, required
    - `org_id` string, uuid, required
    - `name` string, required
    - `curated` boolean, required: True = part of the org's working vocabulary; false = machine-minted (from search queries), awaiting adoption.
    - `prompt_count` integer: Prompts carrying this tag.
    - `content_count` integer: Content items carrying this tag.
    - `kb_content_count` integer: Knowledge-base nodes carrying this tag.
    - `generated_content_count` integer: Generated content carrying this tag.
    - `generated_draft_count` integer: Generated drafts carrying this tag.
    - `generated_published_count` integer: Published generated content carrying this tag.
    - `kb_search_message_count` integer: Search queries carrying this tag.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `version_num` integer
  - `editorial_status` string: The editorial workflow state (e.g. `draft`, `published`).
  - `processing_status` 'pending' | 'processing' | 'complete' | 'failed': The ingestion status of the content.
  - `error_code` string: Stable classification of an ingestion failure; present only when `processing_status` is `failed`.
  - `text` string: The document body — raw text for raw documents, extracted markdown (or HTML) for web documents.
  - `content_type` string, required: The MIME type of the content (e.g. `text/markdown`, `application/pdf`).
  - `uploaded_by` ContentVersionUploaderResponse: Provenance of a content version — who or what produced it.
    - `actor_type` string, required: Who produced the version: `user`, `api_key`, `system`, or `scheduled_job`.
    - `user_id` string, uuid: The uploading user's id (present when `actor_type` is `user` and still resolvable).
    - `email` string
    - `given_name` string
    - `family_name` string
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: The request was malformed — a bad path/query parameter or an invalid value.
- `401`: Missing or invalid credentials — supply a valid org API key in the `X-API-Key` header.
- `403`: The API key is authenticated but not permitted to access this resource.
- `404`: The requested resource does not exist or is not visible to this key.

---

[API](https://skmtc.dev/senso/apis/senso-org-api.md) - [All operations](https://skmtc.dev/senso/apis/senso-org-api/llms.txt) - [OpenAPI document](https://skmtc.dev/senso/apis/senso-org-api/revisions/d789b4fcbe84?raw)
