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

# Introduction

> Use the Overshoot REST API to ingest live video, query vision-language models, and manage stream lifecycle.

The Overshoot REST API turns a live video feed into a conversation. Publish frames over WebRTC, then call an OpenAI-compatible chat completions endpoint to ask any vision-language model about your stream — over the last few seconds, the latest frame, or anywhere in the stream's history.

## Endpoints

* [List models](/api-reference/list-models) — discover the vision-language models you can target in chat completions.
* [Create stream](/api-reference/create-stream) — open a live stream and get a LiveKit room URL + token to start publishing frames.
* [Get stream](/api-reference/get-stream) — inspect the state of a stream: frame counts, recent FPS, lease expiry.
* [Renew stream lease](/api-reference/keepalive-stream) — keep a stream alive past the default 5-minute idle window.
* [Delete stream](/api-reference/delete-stream) — end a stream and release its resources.
* [Chat completions](/api-reference/chat-completions) — ask any vision-language model about a stream's frames.

## Base URL

```text theme={null}
https://api.overshoot.ai/v1beta
```

Billing endpoints are mounted on the same host under `/billing`.

## Authentication

Bearer tokens. Include your API key on every authenticated request:

```bash theme={null}
curl https://api.overshoot.ai/v1beta/streams/<id> \
  -H "Authorization: Bearer ovs-..."
```

Keys are prefixed with `ovs-` and managed in the [Overshoot dashboard](https://platform.overshoot.ai). [List models](/api-reference/list-models) is the only unauthenticated endpoint.

<Note>
  Calls using your API key incur cost. Treat keys as secrets — never commit them or expose them in client-side code.
</Note>

## Errors

Non-2xx responses use this shape:

```json theme={null}
{ "detail": "Stream not found" }
```

| Code         | Meaning                                                          |
| ------------ | ---------------------------------------------------------------- |
| `401`, `403` | Missing or invalid API key.                                      |
| `402`        | Insufficient credits.                                            |
| `404`        | Stream not found, or not owned by your key.                      |
| `422`        | Request validation failed. `details` lists the offending fields. |
| `503`        | Service is draining or starting up — retry.                      |

## Related

* [The Stream](/the-stream) — concept guide for the stream lifecycle.
* [Models](/models) — overview of available vision-language models.
* [Chat Completion](/chat-completion) — the URL grammar for referencing frames and segments.
* [Best practices](/best-practices) — production tips for low latency and cost.
