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

# Quickstart

> First authenticated request in under 2 minutes.

## 1. Generate an API key

1. Open [Settings](https://skilldiscs.com/settings).
2. Scroll to **API Keys**.
3. Name your key (e.g. `claude-agent`) → **Generate**.
4. Copy the `sk_...` value — it is shown **once**.

<Warning>
  Treat your API key like a password. Anyone holding it can read API-visible data from your SkillDiscs library. Rotate immediately if leaked.
</Warning>

## 2. Make your first request

Search your library for "quantum physics":

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://skilldiscs.com/api/v1/search \
    -H "Authorization: Bearer sk_your_key_here" \
    -H "Content-Type: application/json" \
    -d '{"query": "quantum physics", "limit": 5}'
  ```

  ```javascript node theme={null}
  const res = await fetch('https://skilldiscs.com/api/v1/search', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.SKILLDISCS_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ query: 'quantum physics', limit: 5 }),
  })
  const { results } = await res.json()
  console.log(results)
  ```

  ```python python theme={null}
  import os, requests

  r = requests.post(
      "https://skilldiscs.com/api/v1/search",
      headers={"Authorization": f"Bearer {os.environ['SKILLDISCS_API_KEY']}"},
      json={"query": "quantum physics", "limit": 5},
  )
  print(r.json())
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "results": [
    {
      "disk_public_id": "abc123",
      "disk_title": "Feynman on Quantum Mechanics",
      "section_index": 2,
      "snippet": "...probability amplitudes interfere...",
      "key_points": ["Probability amplitudes can reinforce or cancel each other."],
      "redacted": true,
      "similarity": 0.87
    }
  ]
}
```

If `redacted` is `false`, the hit includes `section_text` instead of `snippet`.

## 3. Read a Disk

Pass the `disk_public_id` from search to fetch the Disk:

```bash theme={null}
curl https://skilldiscs.com/api/v1/disks/abc123 \
  -H "Authorization: Bearer sk_your_key_here"
```

Owner-private Disks include full `text` and section text. Published or saved Disks return the same Disk metadata with `redacted: true` and no verbatim source text.

## 4. Next steps

<CardGroup cols={2}>
  <Card title="LLM Agent Integration" icon="robot" href="/guides/llm-agents">
    Connect to Claude, GPT, or custom agents.
  </Card>

  <Card title="Full API Reference" icon="book" href="/api-reference/introduction">
    Every endpoint, parameter, response.
  </Card>
</CardGroup>
