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

# API overview

> Authentication, base URL, scopes, and error semantics for the Yuzu API.

The Yuzu API lets you create and manage video-generation flows from your own systems — typically to wire Yuzu into a CRM, automation, or notetaker pipeline.

## Base URL

```
https://app.yuzulabs.io/api/v1
```

## Authentication

All endpoints require a Bearer token in the `Authorization` header:

```
Authorization: Bearer yzlk_your_api_key_here
```

API keys start with `yzlk_` and are created from **Settings → API Keys** in your Yuzu workspace. Keys are scoped to a single workspace and can be restricted to specific operations (see **Scopes** below).

<Warning>
  Treat keys as secrets. They grant access to your workspace's data and quota. Rotate immediately if exposed.
</Warning>

## Scopes

| Scope           | What it allows                                                    |
| --------------- | ----------------------------------------------------------------- |
| `flows:create`  | Start new flows.                                                  |
| `flows:read`    | Read flow status, scripts, and rendered video URLs.               |
| `flows:approve` | Approve, edit, or reject scripts when manual approval is enabled. |
| `flows:cancel`  | Cancel an in-progress flow.                                       |
| `*`             | All of the above.                                                 |

## Errors

Errors return a JSON body with a stable `code`:

```json theme={null}
{
  "success": false,
  "error": "Email content must be at least 50 words",
  "code": "VALIDATION_ERROR"
}
```

| Status | Code                 | Meaning                                               |
| ------ | -------------------- | ----------------------------------------------------- |
| 400    | `VALIDATION_ERROR`   | Request body failed validation.                       |
| 401    | `INVALID_API_KEY`    | Missing or invalid API key.                           |
| 403    | `INSUFFICIENT_SCOPE` | Key doesn't have the required scope.                  |
| 404    | `FLOW_NOT_FOUND`     | The flow ID doesn't exist or isn't in your workspace. |
| 429    | `QUOTA_EXCEEDED`     | Workspace video quota reached.                        |
| 5xx    | `INTERNAL_ERROR`     | Transient — retry with exponential backoff.           |

## Available flows

<CardGroup cols={1}>
  <Card title="Sales Email Video Flow" icon="envelope-open-text" href="/api-reference/sales-email-video">
    60–70 second follow-up videos generated from a sales-call summary email.
  </Card>
</CardGroup>
