# Errores

> Formato del error, qué pide cada status HTTP de tu parte y el catálogo completo de códigos.

Todo error, en toda ruta y en todo status, tiene el mismo cuerpo:

```json
{ "code": "INSUFFICIENT_CREDITS", "extra": { "credits_needed": 121, "current_balance": 40 } }
```

| Campo | Tipo | Descripción |
|---|---|---|
| `code` | string | Identificador estable, en mayúsculas, de un conjunto cerrado. Haz un `switch` sobre él. |
| `extra` | object | Solo aparece cuando hay algo sobre lo que actuar: qué faltó, qué campo falló, qué ids fueron rechazados. |

No existe mensaje en texto. El servidor no conoce el idioma de tu usuario, y el texto no se trata en un `switch`: traduce el `code` en tu interfaz.

## Status HTTP

| Status | Significa | Qué hacer |
|---|---|---|
| `400` | El cuerpo de la solicitud está mal | Corrígelo. Repetirlo igual da el mismo error. |
| `401` | Clave ausente, revocada o vencida | Revisa el header `X-Api-Key`. |
| `402` | Créditos insuficientes | Lee `extra.credits_needed` y recarga. |
| `403` | La fuente o la cuenta está fuera de alcance | No hay nada que repetir. |
| `404` | No existe en este workspace | Revisa el id y el workspace. |
| `409` | Existe, pero su estado actual rechaza la operación | Espera y vuelve a intentar. |
| `410` | Existió y expiró | Envía de nuevo o renderiza de nuevo. |
| `422` | Enlace válido, video inutilizable | Usa otra fuente. |
| `429` | Límite de solicitudes | Espera los segundos de `Retry-After`. |
| `5xx` | Falla nuestra | Reintenta con espera creciente. |

## Validación

Un cuerpo o query fuera del schema responde `VALIDATION_ERROR`, y `extra.errors` lista los campos que fallaron, con punto entre los niveles:

```json title="400 Bad Request"
{ "code": "VALIDATION_ERROR", "extra": { "errors": ["video_id", "timeframe.end"] } }
```

## Ruta inexistente

Una ruta que no existe responde `404 NOT_FOUND`, con `extra.openapi` apuntando a la especificación y `extra.docs` al `llms.txt` de esta documentación. Así un agente que adivinó la ruta encuentra el camino correcto.

## Tratando errores

**Node.js**

```js
const response = await fetch(`${API}/clips`, { method: "POST", headers, body });
if (!response.ok) {
	const { code, extra } = await response.json();
	switch (code) {
		case "INSUFFICIENT_CREDITS":
			return askForTopUp(extra.credits_needed);
		case "RATE_LIMIT_EXCEEDED":
		case "SERVICE_UNAVAILABLE":
			return retryAfter(Number(response.headers.get("Retry-After")));
		default:
			throw new Error(code);
	}
}
```

**Python**

```python
response = requests.post(f"{API}/clips", headers=HEADERS, json=body)
if not response.ok:
    error = response.json()
    match error["code"]:
        case "INSUFFICIENT_CREDITS":
            return ask_for_top_up(error["extra"]["credits_needed"])
        case "RATE_LIMIT_EXCEEDED" | "SERVICE_UNAVAILABLE":
            return retry_after(int(response.headers["Retry-After"]))
        case _:
            raise RuntimeError(error["code"])
```

## Error de job

Un job que falla después de ser aceptado no devuelve un status HTTP de error: la ruta de lectura responde `200` con `status: "failed"` y el motivo en `error_code`. En el clipping, por ejemplo, `DOWNLOAD_PRIVATE_VIDEO` indica que el video quedó privado después del análisis. Ve [Clips](/es/clipping#cuando-falla).

## Catálogo de códigos

Todos los códigos que devuelve la API, generados a partir de la especificación en cada publicación de esta documentación. Para el significado de un código en una ruta, abre la ruta en la [referencia](/reference).

| Code | Status | Devuelto por |
|---|---|---|
| `CONNECTION_INVALID` | 400 | `DELETE /posts/{id}/items/{itemId}` |
| `DELETE_FAILED` | 400 | `DELETE /posts/{id}/items/{itemId}` |
| `DELETE_LIMIT_REACHED` | 400 | `DELETE /posts/{id}/items/{itemId}` |
| `DELETE_NOT_SUPPORTED` | 400 | `DELETE /posts/{id}/items/{itemId}` |
| `FILE_TOO_LARGE` | 400 | `POST /videos/upload`, `POST /transcriptions/upload`, `POST /personas/sources/upload` |
| `IMAGES_INVALID` | 400 | `POST /generations` |
| `INVALID_CHANNEL_URL` | 400 | `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop` |
| `INVALID_CONNECTIONS` | 400 | `POST /posts`, `PATCH /posts/{id}` |
| `INVALID_DURATION_RANGE` | 400 | `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop` |
| `INVALID_FILE_TYPE` | 400 | `POST /videos/upload`, `POST /transcriptions/upload`, `POST /personas/sources/upload` |
| `INVALID_IMAGE` | 400 | `POST /personas/faces`, `POST /personas/{id}/shots/photos`, `POST /generations/images` |
| `INVALID_METADATA` | 400 | `POST /posts` |
| `INVALID_OBSERVING_TYPE` | 400 | `GET /monitors/{id}/broadcasts`, `GET /monitors/{id}/broadcasts/{broadcastId}/clips`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/apply_template`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/{clipId}/render` |
| `INVALID_SCHEDULED_AT` | 400 | `POST /posts`, `PATCH /posts/{id}` |
| `INVALID_STRATEGY_OPTIONS` | 400 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `INVALID_TRANSLATE_LANGUAGE` | 400 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `ITEM_NOT_EDITABLE` | 400 | `PATCH /posts/{id}` |
| `ITEM_NOT_FAILED` | 400 | `POST /posts/{id}/items/{itemId}/retry` |
| `ITEM_NOT_REMOVABLE` | 400 | `DELETE /posts/{id}/items/{itemId}` |
| `ITEMS_EMPTY` | 400 | `PATCH /posts/{id}` |
| `MEDIA_METADATA_REQUIRED` | 400 | `POST /transcriptions` |
| `MEDIA_TOO_LONG` | 400 | `POST /transcriptions` |
| `MISSING_WORKSPACE_ID` | 400 | cualquier ruta |
| `MODE_UNSUPPORTED` | 400 | `POST /generations` |
| `MODEL_UNAVAILABLE` | 400 | `POST /generations`, `POST /generations/improve` |
| `NO_PENDING_ITEMS` | 400 | `POST /posts/{id}/publish` |
| `NO_RENDERS_SELECTED` | 400 | `POST /renders/bulk-download` |
| `NOTHING_TO_UPDATE` | 400 | `PATCH /posts/{id}` |
| `PERMISSION_MISSING` | 400 | `DELETE /posts/{id}/items/{itemId}` |
| `PLATFORM_UNAVAILABLE` | 400 | `POST /posts` |
| `PRODUCT_URL_INVALID` | 400 | `POST /personas/{id}/shots/product` |
| `PUBLISHED_ID_MISSING` | 400 | `DELETE /posts/{id}/items/{itemId}` |
| `RATIO_INVALID` | 400 | `POST /generations` |
| `RESOLUTION_INVALID` | 400 | `POST /generations` |
| `SCENE_ACTION_UNSUPPORTED` | 400 | `POST /personas/{id}/shots` |
| `SCHEDULE_LOCKED` | 400 | `PATCH /posts/{id}` |
| `SECONDS_INVALID` | 400 | `POST /generations` |
| `STYLE_REQUIRED` | 400 | `GET /personas/swap/quote`, `POST /personas/{id}/videos` |
| `STYLE_UNSUPPORTED` | 400 | `GET /personas/swap/quote`, `POST /personas/{id}/videos` |
| `TARGET_UNSUPPORTED` | 400 | `POST /personas/{id}/videos` |
| `TIMEFRAME_OUT_OF_BOUNDS` | 400 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `TIMEFRAME_TOO_SHORT` | 400 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `TOO_MANY_RENDERS` | 400 | `POST /renders/bulk-download` |
| `VALIDATION_ERROR` | 400 | cualquier ruta |
| `VIDEO_DURATION_OUT_OF_RANGE` | 400 | `GET /personas/swap/quote`, `POST /personas/{id}/videos` |
| `VIDEO_TOO_LONG` | 400 | `POST /videos/upload/complete`, `POST /clips`, `POST /clips/info`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `VIDEO_TOO_SHORT` | 400 | `POST /videos/upload/complete` |
| `VIDEO_UNSUPPORTED` | 400 | `GET /personas/swap/quote`, `POST /personas/{id}/videos` |
| `VOICE_INVALID` | 400 | `POST /generations` |
| `WORKSPACE_NOT_AUTHORIZED` | 400 | cualquier ruta |
| `UNAUTHORIZED` | 401 | cualquier ruta |
| `CREDIT_CHARGE_FAILED` | 402 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `INSUFFICIENT_CREDITS` | 402 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry`, `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop`, `POST /transcriptions`, `POST /personas`, `POST /personas/{id}/regenerate`, `POST /personas/{id}/videos`, `POST /personas/{id}/shots`, `POST /generations`, `POST /generations/improve` |
| `ACCESS_DENIED` | 403 | `POST /clips/info` |
| `ACCOUNT_BLOCKED` | 403 | cualquier ruta |
| `AGE_RESTRICTED` | 403 | `POST /clips/info` |
| `CLIP_FORBIDDEN` | 403 | `DELETE /clips/{videoId}` |
| `CLIP_RESULT_FORBIDDEN` | 403 | `DELETE /clips/{videoId}/submissions/{submissionId}/clips/{clipId}` |
| `COPYRIGHT_BLOCKED` | 403 | `POST /clips/info` |
| `DAILY_LIMIT_EXCEEDED` | 403 | `POST /posts` |
| `FORBIDDEN` | 403 | cualquier ruta |
| `LIVE_CLIPS_NOT_AVAILABLE` | 403 | `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop` |
| `PLATFORM_NOT_SUPPORTED` | 403 | `POST /clips`, `POST /clips/info`, `POST /clips/{videoId}/submissions/{submissionId}/retry`, `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop` |
| `POST_FORBIDDEN` | 403 | `DELETE /posts/{id}/items/{itemId}` |
| `PRIVATE_VIDEO` | 403 | `POST /clips/info` |
| `REGION_BLOCKED` | 403 | `POST /clips/info` |
| `RENDER_FORBIDDEN` | 403 | `DELETE /renders/{renderId}` |
| `SUBMISSION_FORBIDDEN` | 403 | `DELETE /clips/{videoId}/submissions/{submissionId}` |
| `WORKSPACE_FORBIDDEN` | 403 | cualquier ruta |
| `CLIP_NOT_FOUND` | 404 | `DELETE /clips/{videoId}`, `GET /clips/{videoId}/submissions`, `DELETE /clips/{videoId}/submissions/{submissionId}`, `DELETE /clips/{videoId}/submissions/{submissionId}/clips/{clipId}`, `GET /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/subtitles`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/{clipId}/render` |
| `CLIP_RESULT_NOT_FOUND` | 404 | `DELETE /clips/{videoId}/submissions/{submissionId}/clips/{clipId}`, `GET /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/subtitles`, `POST /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/render` |
| `CONNECTION_NOT_FOUND` | 404, 400 | `GET /connections/{id}`, `DELETE /posts/{id}/items/{itemId}` |
| `CREATOR_NOT_FOUND` | 404 | `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop` |
| `EDIT_NOT_FOUND` | 404 | `POST /monitors/{id}/broadcasts/{broadcastId}/clips/{clipId}/render`, `POST /renders` |
| `EDITS_NOT_FOUND` | 404 | `POST /posts`, `PATCH /posts/{id}` |
| `FACE_NOT_FOUND` | 404 | `POST /personas` |
| `FILE_NOT_FOUND` | 404 | `POST /videos/upload/multipart/complete`, `POST /videos/upload/multipart/abort`, `POST /videos/upload/complete`, `POST /personas/sources/upload/complete` |
| `GENERATION_NOT_FOUND` | 404 | `GET /generations/{id}`, `DELETE /generations/{id}`, `POST /generations/{id}/edit`, `POST /generations/{id}/feedback`, `POST /generations/{id}/refund`, `GET /generations/{id}/download` |
| `IMAGE_NOT_FOUND` | 404 | `POST /generations` |
| `ITEM_NOT_FOUND` | 404 | `POST /posts/{id}/items/{itemId}/retry`, `DELETE /posts/{id}/items/{itemId}` |
| `JOB_NOT_FOUND` | 404 | `GET /renders/bulk-download/{jobId}` |
| `MEDIA_NOT_FOUND` | 404 | `POST /transcriptions`, `GET /personas/swap/quote`, `POST /personas/{id}/videos` |
| `METADATA_UNAVAILABLE` | 404 | `POST /clips/info` |
| `MONITORING_NOT_FOUND` | 404 | `POST /monitors`, `GET /monitors/{id}`, `PATCH /monitors/{id}`, `DELETE /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop`, `GET /monitors/{id}/broadcasts`, `GET /monitors/{id}/broadcasts/{broadcastId}/clips`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/apply_template`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/{clipId}/render` |
| `NO_SUBTITLES` | 404 | `GET /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/subtitles` |
| `NO_VALID_RENDERS` | 404 | `POST /renders/bulk-download` |
| `NO_VIDEO_INFO` | 404 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `NOT_FOUND` | 404 | cualquier ruta |
| `PERSONA_NOT_FOUND` | 404 | `POST /personas/presets/{presetId}`, `POST /personas`, `GET /personas/{id}`, `DELETE /personas/{id}`, `POST /personas/{id}/regenerate`, `POST /personas/{id}/versions/{versionId}/restore`, `POST /personas/{id}/versions/{versionId}/feedback`, `POST /personas/{id}/save`, `POST /personas/{id}/videos`, `POST /personas/{id}/shots/product`, `POST /personas/{id}/shots` |
| `PHOTO_NOT_FOUND` | 404 | `POST /personas/{id}/shots` |
| `POST_NOT_FOUND` | 404 | `GET /posts/{id}`, `PATCH /posts/{id}`, `POST /posts/{id}/publish`, `POST /posts/{id}/items/{itemId}/retry`, `DELETE /posts/{id}/items/{itemId}` |
| `PRESET_NOT_FOUND` | 404 | `POST /personas/presets/{presetId}`, `PUT /personas/presets/{presetId}/favorite` |
| `RENDER_NOT_FOUND` | 404 | `GET /renders/{renderId}`, `DELETE /renders/{renderId}`, `GET /renders/{renderId}/download` |
| `SHOT_NOT_FOUND` | 404 | `GET /personas/{id}/shots/{shotId}` |
| `STRATEGY_NOT_FOUND` | 404 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry`, `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop` |
| `STREAM_NOT_FOUND` | 404 | `GET /monitors/{id}/broadcasts/{broadcastId}/clips` |
| `SUBMISSION_NOT_FOUND` | 404 | `GET /clips/{videoId}/submissions/{submissionId}`, `DELETE /clips/{videoId}/submissions/{submissionId}`, `POST /clips/{videoId}/submissions/{submissionId}/retry`, `POST /clips/{videoId}/submissions/{submissionId}/apply_template`, `GET /clips/{videoId}/submissions/{submissionId}/clips`, `DELETE /clips/{videoId}/submissions/{submissionId}/clips/{clipId}`, `GET /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/subtitles` |
| `TEMPLATE_NOT_FOUND` | 404 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry`, `POST /clips/{videoId}/submissions/{submissionId}/apply_template`, `POST /monitors`, `PATCH /monitors/{id}`, `POST /monitors/{id}/start`, `POST /monitors/{id}/stop`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/apply_template` |
| `TRANSCRIPTION_NOT_FOUND` | 404 | `GET /transcriptions/{transcriptionId}`, `DELETE /transcriptions/{transcriptionId}`, `GET /transcriptions/{transcriptionId}/transcript`, `GET /transcriptions/{transcriptionId}/download` |
| `UNAVAILABLE` | 404 | `POST /clips/info` |
| `VERSION_NOT_FOUND` | 404 | `POST /personas/{id}/versions/{versionId}/restore`, `POST /personas/{id}/versions/{versionId}/feedback`, `POST /personas/{id}/videos`, `POST /personas/{id}/shots` |
| `VIDEO_ID_NOT_FOUND` | 404 | `POST /clips/info` |
| `VIDEO_NOT_FOUND` | 404 | `GET /clips/{videoId}/submissions/{submissionId}`, `POST /personas/{id}/videos/{videoId}/feedback`, `GET /personas/{id}/videos/{videoId}` |
| `WORKSPACE_NOT_FOUND` | 404 | `GET /workspace` |
| `STORAGE_LIMIT_EXCEEDED` | 406 | `POST /transcriptions/upload`, `POST /personas/sources/upload`, `POST /generations/images` |
| `CARD_LOCKED` | 409 | `POST /personas/{id}/regenerate`, `POST /personas/{id}/versions/{versionId}/restore` |
| `CARD_NOT_READY` | 409 | `POST /personas/{id}/save` |
| `DUPLICATE_POST` | 409 | `POST /posts` |
| `MEDIA_REFUNDED` | 409 | `POST /posts`, `PATCH /posts/{id}` |
| `PRICE_CHANGED` | 409 | `POST /personas/{id}/videos`, `POST /personas/{id}/shots`, `POST /generations` |
| `REFUND_AFTER_DOWNLOAD` | 409 | `POST /generations/{id}/refund` |
| `REFUND_AFTER_POST` | 409 | `POST /generations/{id}/refund` |
| `REFUND_ALREADY_REQUESTED` | 409 | `POST /generations/{id}/refund` |
| `REFUND_NOT_ALLOWED` | 409 | `POST /generations/{id}/refund` |
| `RENDER_ALREADY_IN_PROGRESS` | 409 | `POST /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/render`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/{clipId}/render`, `POST /renders` |
| `SUBMISSION_NOT_FAILED` | 409 | `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `TRANSCRIPTION_NOT_READY` | 409 | `GET /transcriptions/{transcriptionId}/transcript`, `GET /transcriptions/{transcriptionId}/download` |
| `VIDEO_ALREADY_PROCESSING` | 409 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `VIDEO_IN_PROGRESS` | 409 | `POST /personas/{id}/videos` |
| `JOB_EXPIRED` | 410 | `GET /renders/bulk-download/{jobId}` |
| `RECORDING_EXPIRED` | 410 | `GET /monitors/{id}/broadcasts/{broadcastId}/clips`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/{clipId}/render`, `POST /posts` |
| `RENDER_FILE_EXPIRED` | 410 | `GET /renders/{renderId}/download` |
| `SUBMISSION_EXPIRED` | 410 | `GET /clips/{videoId}/submissions/{submissionId}`, `GET /clips/{videoId}/submissions/{submissionId}/clips` |
| `AUDIO_ONLY` | 422 | `POST /clips/info` |
| `CHANNEL_URL` | 422 | `POST /clips/info` |
| `INVALID_DIMENSIONS` | 422 | `POST /clips/info` |
| `INVALID_DURATION` | 422 | `POST /clips/info` |
| `INVALID_URL` | 422 | `POST /clips/info` |
| `LIVE_STREAM` | 422 | `POST /clips/info` |
| `MEDIA_UNREADABLE` | 422 | `POST /transcriptions`, `POST /personas/sources/upload/complete` |
| `PLAYLIST_URL` | 422 | `POST /clips/info` |
| `PREMIUM_ONLY` | 422 | `POST /clips/info` |
| `PRODUCT_NOT_READABLE` | 422 | `POST /personas/{id}/shots/product` |
| `SHORTS_NOT_SUPPORTED` | 422 | `POST /clips/info` |
| `BATCH_ALREADY_RUNNING` | 429 | `POST /clips/{videoId}/submissions/{submissionId}/apply_template`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/apply_template` |
| `PRODUCT_RATE_LIMITED` | 429 | `POST /personas/{id}/shots/product` |
| `RATE_LIMIT_EXCEEDED` | 429 | `POST /clips/info`, `POST /monitors` |
| `TOO_MANY_PENDING_CLIPS` | 429 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `TOO_MANY_RUNNING` | 429 | `POST /generations` |
| `CANCEL_FAILED` | 500 | `DELETE /renders/{renderId}` |
| `CREDIT_CHARGE_ERROR` | 500 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `FAILED_TO_GET_VIDEO` | 500 | `POST /clips/info` |
| `INTERNAL_ERROR` | 500 | `POST /videos/upload/complete`, `POST /personas/sources/upload/complete` |
| `INTERNAL_SERVER_ERROR` | 500 | cualquier ruta |
| `PRESIGN_FAILED` | 500 | `POST /videos/upload`, `POST /transcriptions/upload`, `POST /personas/sources/upload` |
| `PROCESSING_ERROR` | 500 | `POST /clips`, `POST /clips/{videoId}/submissions/{submissionId}/retry` |
| `RENDER_FAILED` | 500 | `POST /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/render`, `POST /monitors/{id}/broadcasts/{broadcastId}/clips/{clipId}/render`, `POST /renders` |
| `RENDER_SETUP_FAILED` | 500 | `POST /clips/{videoId}/submissions/{submissionId}/clips/{clipId}/render` |
| `SIGNED_URL_FAILED` | 500 | `GET /renders/{renderId}/download` |
| `UNKNOWN_ERROR` | 500 | `POST /clips/info`, `POST /posts` |
| `AI_UNAVAILABLE` | 502 | `POST /generations/improve` |
| `MEDIA_UNAVAILABLE` | 502 | `GET /personas/catalog`, `POST /personas/presets/{presetId}`, `GET /personas/swap/quote`, `POST /personas/{id}/videos`, `POST /personas/{id}/shots`, `POST /generations` |
| `SERVICE_UNAVAILABLE` | 503 | `POST /clips/info` |
