# Discovery endpoints

Use discovery endpoints to inspect supported formats, options, limits, and extractor metadata.

## Options for one format

```http
GET /options/{format}
X-Fast-Api-Key: YOUR_API_KEY
```

Use this endpoint when you are building a `/estimate`, `/extract`, or `/transcribe` request body. It returns the valid `selectedCapabilities` values and `capabilityOptions` keys allowed for that source format.

The response always includes a `constraints` array. An empty array means the
advertised capabilities are independent. Clients must apply every published
dependency or mutual-exclusion constraint before submitting a job.

For example, `GET /options/mp4` returns `video.audio`, `video.metadata`, `video.subtitles`, `video.frames`, and `media.transcript`. If you select `media.transcript`, use the returned `transcription.mode` option and one of its allowed values.

```json
{
  "format": "mp4",
  "job": "extract.mp4",
  "defaults": {
    "selectedCapabilities": ["video.audio", "video.frames", "video.metadata", "video.subtitles"],
    "includeManifest": true,
    "capabilityOptions": {
      "video.audio": {
        "audioFormat": "mp3"
      },
      "video.frames": {
        "frameMode": "evenly-spaced",
        "frameIntervalSeconds": 1,
        "maxExtractedFrames": 500
      }
    }
  },
  "capabilities": [
    {
      "id": "media.transcript",
      "output": "transcript",
      "defaultSelected": false,
      "options": [
        {
          "id": "transcription.mode",
          "type": "enum",
          "required": true,
          "defaultValue": "fast",
          "allowedValues": ["fast", "quality", "meeting-intelligence"]
        }
      ]
    }
  ],
  "constraints": []
}
```

## List extractors

```http
GET /extractors
X-Fast-Api-Key: YOUR_API_KEY
```

Returns registered extractors with source formats, categories, costing metadata, and limits.

## Source file type

```http
GET /extractors/{sourceFileType}
```

Use this when you want extractor metadata for one source extension. For example, `GET /extractors/mp4` returns the Extract jobs that accept MP4 input. Use `GET /options/mp4` when you need to construct the actual `selectedCapabilities` and `capabilityOptions` payload.

## Schema

```http
GET /schema
X-Fast-Api-Key: YOUR_API_KEY
```

Returns a compact supported-format schema for API clients that only need extension and output-group discovery. Prefer `GET /options/{format}` when you need to construct a valid options payload.

## Public discovery scope

Use the documented discovery endpoints on this page when building API clients.
