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

# Introduction

> REST and MCP endpoints for searching and retrieving your SkillDiscs library.

## Base URL

```
https://skilldiscs.com/api/v1
```

## MCP Endpoint

```
https://skilldiscs.com/api/mcp
```

## Endpoints

| Method | Path           | Purpose                                                    |
| ------ | -------------- | ---------------------------------------------------------- |
| `POST` | `/search`      | Semantic search across owned Disks                         |
| `GET`  | `/disks`       | List & filter owned and active-saved Disks                 |
| `GET`  | `/disks/{id}`  | Read one Disk (UUID or public\_id)                         |
| `POST` | `/disks/batch` | Read up to 10 owned Disks in one call                      |
| `POST` | `/api/mcp`     | MCP Streamable HTTP endpoint for read-only knowledge tools |

## Identifiers

Disks have **two** identifiers:

* **`id`** — internal UUID (e.g. `f47ac10b-58cc-4372-a567-0e02b2c3d479`).
* **`public_id`** — short URL-safe slug (e.g. `abc123`).

Endpoints accepting `{id}` accept either form.

## Response shape

All responses are JSON. Errors follow this shape:

```json theme={null}
{
  "error": "rate_limit_exceeded",
  "message": "Optional human description",
  "retry_after": 42
}
```

## Redaction policy

The API never assumes all visible Disks can return verbatim source text.

* Owner reading own private Disk: full `text` and `sections[].text`.
* Owner reading own published Disk: `redacted: true`; sections include key points but not full text.
* Active-saved Disk: `redacted: true`; metadata and AI-derived fields only.

Search hits use the same policy: a hit contains either `section_text` or `snippet`, never both.

## CORS

CORS is enabled. Browser clients on any origin can call the API directly — but **never embed your API key in a client-side bundle**. Proxy through your own backend.
