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

# ReyGrid Documentation

> Build with the ReyGrid RAG platform API: chat with RAG agents, manage persistent conversations, and integrate through the official Python and TypeScript SDKs.

<div className="rg-hero">
  # Build on ReyGrid

  ReyGrid is a RAG platform. Chat with your RAG agents, keep persistent per-user conversations, and manage messages through one REST API, or use the official Python and TypeScript SDKs.

  <div className="rg-actions" style={{ marginTop: "2rem" }}>
    <a className="rg-btn rg-btn-primary" href="/quickstart">Quickstart</a>
    <a className="rg-btn rg-btn-secondary" href="/rest-api/overview">REST API overview</a>
  </div>
</div>

<CardGroup cols={3}>
  <Card title="REST API" icon="code" href="/rest-api/overview">
    Build directly on top of the HTTP API.
  </Card>

  <Card title="Python SDK" icon="python" href="/integrations/python/installation">
    Integrate the API into your Python applications, sync or async.
  </Card>

  <Card title="TypeScript SDK" icon="js" href="/integrations/typescript/installation">
    Build integrations with a fully typed client.
  </Card>
</CardGroup>

## Send your first message

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X POST https://reygrid.com/api/v1/agents/{AgentId}/chat \
    -H "Authorization: Bearer $REYGRID_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"message": "Hello!", "userId": "user_42"}'
  ```

  ```python Python theme={"system"}
  from reygrid import ReyGrid

  client = ReyGrid(api_key="YOUR_API_KEY")
  reply = client.chat("{AgentId}", "Hello!", user_id="user_42")
  print(reply.output.reply.content)
  ```

  ```typescript TypeScript theme={"system"}
  import { ReyGrid } from "reygrid";

  const client = new ReyGrid({ apiKey: "YOUR_API_KEY" });
  const res = await client.chat("{AgentId}", "Hello!", { userId: "user_42" });
  console.log(res.output.reply.content);
  ```
</CodeGroup>

## Explore

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/rest-api/authentication">
    Authenticate every request with a Bearer API key.
  </Card>

  <Card title="Persistent conversations" icon="comments" href="/rest-api/conversations">
    Keep one conversation per user with `userId`.
  </Card>

  <Card title="Streaming" icon="bolt" href="/rest-api/streaming">
    Receive replies as Server-Sent Events.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/rest-api/errors">
    Status codes and error payloads.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.