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

# API Reference Overview

> FastDrop API v1 endpoint reference

## Base URL

```
https://api.fastdrop.io/api/v1
```

## Authentication

All endpoints (except `/capabilities`, `/developers/*`) require an API key in the `X-API-Key` header:

```bash theme={null}
curl https://api.fastdrop.io/api/v1/usage \
  -H "X-API-Key: fd_live_your_key_here"
```

See [Authentication](/authentication) for details on getting and managing API keys.

## Response format

All responses return JSON. Successful responses return the data directly. Error responses follow a consistent format:

```json theme={null}
{
  "error": {
    "code": "error_code",
    "message": "Human-readable description",
    "details": {}
  }
}
```

## Common status codes

| Code | Meaning |
| - | - |
| `200` | Success |
| `201` | Created (webhook registration) |
| `202` | Accepted (job/batch submitted, processing async) |
| `204` | Deleted (webhook removed) |
| `400` | Bad request (invalid parameters) |
| `401` | Unauthorized (missing/invalid API key) |
| `402` | Payment required (insufficient credits) |
| `404` | Not found (invalid job/batch/webhook ID) |
| `429` | Rate limited (retry after delay) |
| `500` | Server error |

## Endpoints

### Before you commit

The check, the fix it prescribes, and files to try both on. Start here — this is
what decides whether the rest of the table is worth calling.

| Method | Path | Description | Credits |
| - | - | - | :-: |
| POST | `/readiness` | Decide whether footage suits an intended use — answers inline | 1 |
| POST | `/fix` | Execute the fix that verdict prescribed, then re-check the result | by duration |
| GET | `/fix/{fix_job_id}` | Poll a fix; carries the verification report | free |
| GET | `/samples` | Videos that are broken on purpose, free to check and fix | free |

### Once footage passes

| Method | Path | Description | Credits |
| - | - | - | :-: |
| POST | `/classify` | Submit a video for classification | 2 |
| GET | `/classify/{job_id}` | Poll job status and results | free |
| POST | `/thumbnails` | Extract keyframe thumbnails | 1 |
| POST | `/diagnostics` | Video technical analysis | 1 |
| POST | `/duplicates` | Perceptual hash fingerprint | 1 |
| POST | `/clips` | Detect clip candidates | 2 |
| POST | `/transcribe` | Transcription + English translation + optional SRT/TXT files | 8 |

### Batch Processing

| Method | Path | Description |
| - | - | - |
| POST | `/batch` | Submit up to 50 videos |
| GET | `/batch/{batch_id}` | Poll batch status |

### Webhooks

| Method | Path | Description |
| - | - | - |
| POST | `/webhooks` | Register a webhook endpoint |
| GET | `/webhooks` | List registered webhooks |
| DELETE | `/webhooks/{webhook_id}` | Delete a webhook |
| POST | `/webhooks/test` | Send a test event |

### Account

| Method | Path | Description |
| - | - | - |
| GET | `/usage` | Credit balance and usage stats |
| GET | `/capabilities` | List capabilities and costs (no auth) |
| POST | `/keys/rotate` | Rotate your API key |

## OpenAPI spec

The full OpenAPI 3.1 spec is available at:

```
https://api.fastdrop.io/api/v1/openapi.json
```


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