> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siftstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# docs

> sift/docs/v1/docs.proto

<a name="sift_docs_v1_docs-proto" />

<a name="sift_docs_v1_docs-proto-services" />

## Services

*RPC methods exposed by this API.*

### DocsService

DocsService exposes read-only access to Sift's bundled product documentation
(docs.siftstack.com). Tools such as the Sift MCP server can search and read the docs
over HTTP with the same bearer token / API key used for the rest of the Sift API.

| Method     | Request                                 | Response                                  | Description                                                                                                                                                                                                       |
| :--------- | :-------------------------------------- | :---------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SearchDocs | [SearchDocsRequest](#searchdocsrequest) | [SearchDocsResponse](#searchdocsresponse) | SearchDocs runs a keyword search across the bundled docs and returns ranked pages, each with the best-matching line and a line-numbered window of surrounding context. Follow up with ReadDoc on a promising hit. |
| ReadDoc    | [ReadDocRequest](#readdocrequest)       | [ReadDocResponse](#readdocresponse)       | ReadDoc returns the markdown for a single doc page by path, optionally sliced by 1-indexed offset/limit for long reference pages.                                                                                 |

<a name="sift_docs_v1_docs-proto-messages" />

## Messages

*Data models used across requests/responses.*

### DocHit

| Field        | Type   | Label | Description                                                                                                                                    |
| :----------- | :----- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------- |
| path         | string |       | Doc path, e.g. "documentation/ingest/asset-channels.mdx". Pass to ReadDoc.                                                                     |
| title        | string |       |                                                                                                                                                |
| score        | int32  |       | Relevance score; higher is more relevant. Title matches weigh most, then headings, then body.                                                  |
| match\_line  | int32  |       | 1-indexed line number of the best match, in the same coordinates as ReadDoc; pass to ReadDoc as offset to see more.                            |
| total\_lines | int32  |       | Total line count of the page.                                                                                                                  |
| content      | string |       | Window of the 10 lines above and below match\_line, clamped to the page. Each line is prefixed with "\<line\_number>\t", aligned with ReadDoc. |

### ReadDocRequest

| Field  | Type   | Label | Description                                                                                |
| :----- | :----- | :---- | :----------------------------------------------------------------------------------------- |
| path   | string |       | Doc path returned by SearchDocs, e.g. "documentation/ingest/asset-channels.mdx". Required. |
| offset | int32  |       | 1-indexed start line. Defaults to 1. Optional.                                             |
| limit  | int32  |       | Number of lines to return. Defaults to all remaining lines. Optional.                      |

### ReadDocResponse

| Field        | Type   | Label | Description                                                                                                                                                               |
| :----------- | :----- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| path         | string |       |                                                                                                                                                                           |
| title        | string |       |                                                                                                                                                                           |
| total\_lines | int32  |       | Total line count of the page (independent of offset/limit).                                                                                                               |
| start\_line  | int32  |       | 1-indexed line number of the first returned line.                                                                                                                         |
| content      | string |       | Page markdown. Each line is prefixed with "\<line\_number>\t" so follow-up reads can target specific ranges. MDX/JSX tags are stripped; fenced code blocks are preserved. |

### SearchDocsRequest

| Field        | Type   | Label | Description                                                                                          |
| :----------- | :----- | :---- | :--------------------------------------------------------------------------------------------------- |
| query        | string |       | Keyword query, e.g. "asset channels CEL". Required.                                                  |
| max\_results | int32  |       | Maximum hits to return. Defaults to 10; values above the hard cap of 25 are coerced to 25. Optional. |

### SearchDocsResponse

| Field          | Type              | Label    | Description                                              |
| :------------- | :---------------- | :------- | :------------------------------------------------------- |
| hits           | [DocHit](#dochit) | repeated |                                                          |
| total\_scanned | int32             |          | Total number of doc pages scanned to produce these hits. |

<a name="sift_docs_v1_docs-proto-enums" />

## Enums

*Allowed constant values used in message fields.*
