---
title: "Entender los errores | StudioMeyer Academy"
description: "Códigos estables, indicaciones claras y siguientes pasos seguros."
canonical: "https://studiomeyer.academy/es/entwickler/fehler"
language: es
markdown_versions: ["https://studiomeyer.academy/entwickler/fehler.md", "https://studiomeyer.academy/en/entwickler/fehler.md", "https://studiomeyer.academy/es/entwickler/fehler.md"]
publisher: "StudioMeyer Academy, https://studiomeyer.academy (llms.txt: https://studiomeyer.academy/llms.txt)"
---

## Reaccionar a los códigos

Basa la lógica en slug o code, nunca en message. Cada error incluye message, hint y documentation\_url. request\_id aparece en el cuerpo y en X-Request-Id. Incluye ese identificador al comunicar un problema, sin tokens ni contenido personal.

- [GET /v1/errors](https://studiomeyer.academy/v1/errors)
- [OpenAPI](https://studiomeyer.academy/v1/openapi.json)

## Reintentar con seguridad

Con rate\_limited espera Retry-After. Con insufficient\_scope solicita una nueva autorización. Con price\_changed consigue una oferta y aprobación nuevas. Con outcome\_unknown consulta primero el historial y resultado; no uses otra clave para el mismo pago incierto. Los errores OAuth usan error y error\_description en lugar de la respuesta Academy.

## Referencia

### `auth_required`

Error 1000 · HTTP 401

Debes iniciar sesión.

**Siguiente paso:** Inicia sesión con OAuth o usa el acceso público.

### `invalid_token`

Error 1001 · HTTP 401

La credencial no es válida o ha caducado.

**Siguiente paso:** Renueva la credencial o vuelve a conectarte.

### `insufficient_scope`

Error 1002 · HTTP 403

Falta un permiso necesario.

**Siguiente paso:** Vuelve a conectarte y selecciona los permisos necesarios.

### `credits_spend_not_granted`

Error 1003 · HTTP 403

No tienes permiso para gastar créditos.

**Siguiente paso:** Pide el consentimiento de la persona y vuelve a conectarte.

### `account_suspended`

Error 1004 · HTTP 403

La cuenta está suspendida.

**Siguiente paso:** Contacta con soporte.

### `session_required`

Error 1005 · HTTP 403

Esta acción requiere una sesión en el navegador.

**Siguiente paso:** Abre el enlace de la cuenta en el navegador.

### `validation_failed`

Error 1100 · HTTP 400

La entrada no es válida.

**Siguiente paso:** Corrige los campos según el esquema publicado.

### `not_found`

Error 1101 · HTTP 404

No se ha encontrado la entrada.

**Siguiente paso:** Busca mediante /v1/search.

### `idempotency_key_reused`

Error 1102 · HTTP 409

La clave de idempotencia pertenece a otra solicitud.

**Siguiente paso:** Usa una clave nueva para una acción nueva.

### `conflict`

Error 1103 · HTTP 409

La solicitud entra en conflicto con el estado actual.

**Siguiente paso:** Consulta el estado actual y vuelve a intentarlo.

### `idempotency_key_required`

Error 1104 · HTTP 400

Falta la clave de idempotencia.

**Siguiente paso:** Incluye la cabecera Idempotency-Key.

### `idempotency_in_flight`

Error 1105 · HTTP 409

Esta acción ya está en curso.

**Siguiente paso:** Consulta su estado antes de enviarla de nuevo.

### `confirmation_required`

Error 1106 · HTTP 422

Falta la confirmación explícita.

**Siguiente paso:** Muestra la acción y envía la confirmación solo después del consentimiento.

### `locale_not_supported`

Error 1107 · HTTP 400

Este idioma no está disponible.

**Siguiente paso:** Elige de, en o es.

### `rate_limited`

Error 1200 · HTTP 429

Se ha alcanzado el límite de solicitudes.

**Siguiente paso:** Espera los segundos indicados en Retry-After.

### `tutor_limit_reached`

Error 1201 · HTTP 409

Se ha alcanzado el límite del tutor.

**Siguiente paso:** Vuelve a intentarlo más tarde.

### `path_not_found`

Error 2001 · HTTP 404

No se ha encontrado la ruta de aprendizaje.

**Siguiente paso:** Consulta las rutas disponibles en /v1/paths.

### `module_not_found`

Error 2002 · HTTP 404

No se ha encontrado el módulo.

**Siguiente paso:** Consulta la ruta y su contenido confirmado.

### `lesson_not_found`

Error 2003 · HTTP 404

No se ha encontrado la lección.

**Siguiente paso:** Comprueba el nivel y el identificador o usa la búsqueda.

### `library_item_not_found`

Error 2004 · HTTP 404

No se ha encontrado la entrada de biblioteca.

**Siguiente paso:** Consulta la biblioteca en /v1/library.

### `content_type_unknown`

Error 2005 · HTTP 400

El tipo de contenido es desconocido.

**Siguiente paso:** Elige un tipo de contenido incluido en el esquema.

### `premium_required`

Error 2006 · HTTP 402

Este contenido requiere acceso prémium.

**Siguiente paso:** Lee la vista previa y pide consentimiento antes de desbloquearlo.

### `content_dormant`

Error 2007 · HTTP 410

Este contenido ya no está activo.

**Siguiente paso:** Consulta el sucesor indicado.

### `lesson_already_completed`

Error 3001 · HTTP 409

La lección ya está completada.

**Siguiente paso:** Continúa mediante /v1/me/continue.

### `quiz_not_available`

Error 3002 · HTTP 404

No hay un cuestionario para esta lección.

**Siguiente paso:** Repasa la lección.

### `note_not_found`

Error 3003 · HTTP 404

No se ha encontrado la nota.

**Siguiente paso:** Consulta tus notas en /v1/me/notes.

### `insufficient_credits`

Error 4002 · HTTP 409

No hay créditos suficientes.

**Siguiente paso:** Compara el precio y el saldo en la página de la cuenta.

### `bonus_credits_not_allowed`

Error 4003 · HTTP 422

Los créditos de bonificación no sirven para coaching.

**Siguiente paso:** Usa créditos admitidos o envía una solicitud sin pago.

### `already_unlocked`

Error 4004 · HTTP 409

El contenido ya está desbloqueado.

**Siguiente paso:** Léelo en /v1/me/premium/{id}.

### `price_changed`

Error 4005 · HTTP 409

El precio ha cambiado.

**Siguiente paso:** Muestra la vista previa actualizada y pide consentimiento de nuevo.

### `outcome_unknown`

Error 4006 · HTTP 503

Se desconoce el resultado de la acción.

**Siguiente paso:** Consulta primero /v1/me/credits/ledger y evita solicitudes duplicadas.

### `package_not_found`

Error 5001 · HTTP 404

No se ha encontrado el paquete.

**Siguiente paso:** Busca un paquete disponible en el catálogo.

### `draft_consent_required`

Error 5002 · HTTP 422

El paquete es un borrador.

**Siguiente paso:** Pide consentimiento y después envía consentDraft: true.

### `package_deprecated`

Error 5003 · HTTP 410

El paquete está obsoleto.

**Siguiente paso:** Consulta su sucesor en los enlaces.

### `lockfile_invalid`

Error 5004 · HTTP 400

El archivo de bloqueo no es válido.

**Siguiente paso:** Comprueba el archivo según el formato de paquetes.

### `local_changes_detected`

Error 5005 · HTTP 409

Se han detectado cambios locales.

**Siguiente paso:** Muestra y resuelve los cambios antes de actualizar.

### `script_consent_required`

Error 5006 · HTTP 422

El paquete contiene scripts.

**Siguiente paso:** Muestra los scripts y pide un consentimiento separado.

### `internal`

Error 9000 · HTTP 500

Se ha producido un error del servidor.

**Siguiente paso:** Comunica el error con el identificador de solicitud.

### `not_implemented`

Error 9001 · HTTP 501

Esta función aún no está disponible.

**Siguiente paso:** Consulta el registro de cambios.

### `temporarily_unavailable`

Error 9002 · HTTP 503

Esta acción no está disponible actualmente.

**Siguiente paso:** Comprueba los requisitos indicados y vuelve a intentarlo más tarde.

## Sitemap

Páginas públicas de este sitio como Markdown: [sitemap](https://studiomeyer.academy/sitemap.md). Punto de entrada curado: [llms.txt](https://studiomeyer.academy/llms.txt), texto completo: [llms-full.txt](https://studiomeyer.academy/llms-full.txt).
