¿Qué es el Código de Estado 415 Tipo de Medio No Soportado? El Error de Formato

INEZA Felin-Michel

INEZA Felin-Michel

14 October 2025

¿Qué es el Código de Estado 415 Tipo de Medio No Soportado? El Error de Formato

Estás integrando con una nueva API. Elaboras cuidadosamente una solicitud JSON con todos los datos correctos, la envías y, en lugar de la respuesta de éxito que esperabas, recibes un frustrante error: 415 Unsupported Media Type. Vuelves a verificar tu autenticación, la URL de tu endpoint, tu carga de datos... todo parece correcto. Entonces, ¿qué salió mal?

El problema probablemente no sea qué enviaste, sino cómo le dijiste al servidor lo que estabas enviando. Este código de estado común pero a menudo confuso se trata de fallas de comunicación en el formato de datos.

El error 415 es la forma en que el servidor dice: "Entiendo que estás tratando de enviarme datos, pero no hablo este idioma. Esperaba que me los enviaras en un formato diferente que sí pueda procesar".

Si eres un desarrollador que trabaja con APIs, ya sea construyéndolas o consumiéndolas, comprender el código de estado 415 es crucial para integraciones fluidas y para evitar frustrantes sesiones de depuración.

En esta guía detallada, exploraremos qué significa el código de estado 415 Unsupported Media Type, por qué ocurre, escenarios típicos y formas prácticas de solucionarlo o evitarlo. Ya seas un desarrollador que lidia con integraciones de API o simplemente tengas curiosidad sobre cómo funciona la comunicación web, esta publicación te ayudará a dominar los errores 415.

💡
Si quieres asegurarte de que tus solicitudes de API nunca fallen debido a tipos de medios incorrectos, prueba Apidog hoy mismo. Es gratuito para descargar, fácil de usar y ayuda a los desarrolladores a detectar instantáneamente las inconsistencias en los tipos de contenido. Con Apidog, puedes simular diferentes encabezados, ejecutar pruebas automatizadas y colaborar con tu equipo, todo en un solo lugar.
button

Muy bien, ¡entremos en materia y aclaremos la confusión en torno al HTTP 415 de una vez por todas!

El Problema: Hablar el Idioma del Servidor

Imagina que le envías una carta a alguien que solo lee francés. Podrías escribir la carta en inglés más elocuente y perfectamente estructurada, pero si el destinatario no entiende inglés, tu mensaje será inútil. El error 415 es el equivalente digital de este escenario.

Los servidores web a menudo están construidos para entender formatos de datos específicos. Necesitan saber en qué "idioma" están escritos los datos entrantes para poder analizarlos y procesarlos correctamente. El encabezado Content-Type es la forma en que el cliente le dice al servidor en qué formato están los datos.

¿Qué Significa Realmente HTTP 415 Unsupported Media Type?

El código de estado 415 Unsupported Media Type indica que el servidor entiende la solicitud, pero se niega a aceptarla porque el formato de la carga útil (tipo de medio) está en un formato no compatible con el servidor para el recurso solicitado.

En términos más simples, tu cliente (como Postman, Apidog o tu navegador) está enviando datos en un formato que el servidor no entiende o no está configurado para procesar.

El servidor esencialmente está diciendo: "Recibí tus datos, pero no puedo procesarlos porque están en un formato que no entiendo o no admito para este endpoint en particular".

Una respuesta 415 típica se ve así:

HTTP/1.1 415 Unsupported Media TypeContent-Type: application/json
{
  "error": "Unsupported Media Type",
  "message": "The request payload format is not supported.",
  "supported_types": ["application/json", "application/xml"]
}

Esto te dice: "¡Oye! Recibí tu solicitud, pero no puedo procesar este tipo de contenido".

Esto se relaciona más comúnmente con el valor del encabezado Content-Type en la solicitud HTTP que especifica el formato de los datos que se envían (como JSON, XML o datos de formulario multiparte). Algunos servidores pueden proporcionar información más útil sobre qué formatos admiten, mientras que otros pueden devolver un mensaje de error más genérico.

Inmersión Profunda: La Definición Técnica (para los Curiosos)

Según la especificación HTTP/1.1 (RFC 7231), la Sección 6.5.13 define el código de estado 415 como:

“El código de estado 415 (Unsupported Media Type) indica que el servidor de origen se niega a atender la solicitud porque la carga útil está en un formato no compatible con este método en el recurso de destino.”

El punto clave aquí:

El Corazón del Asunto: El Encabezado Content-Type

El encabezado Content-Type es la pieza de información crucial que determina si obtendrás un error 415 o una respuesta exitosa. Este encabezado le dice al servidor qué tipo de datos estás enviando en el cuerpo de la solicitud.

Aquí están los tipos de contenido más comunes que encontrarás:

Valores Comunes de Content-Type:

Para APIs JSON:

Para Datos de Formulario:

Para XML:

Para Texto Plano:

Cómo Ocurre el Error 415: Un Desglose Paso a Paso

Repasemos exactamente lo que sucede cuando ocurre un error 415.

Paso 1: El Cliente Envía una Solicitud

Una aplicación cliente envía una solicitud a un endpoint de API del servidor. Por ejemplo, digamos que estamos intentando crear un nuevo usuario:

POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/xmlContent-Length: 125
<user><name>John Doe</name><email>john@example.com</email></user>

Paso 2: El Servidor Verifica el Content-Type

El servidor recibe la solicitud y examina el encabezado Content-Type. Ve application/xml y verifica su configuración para el endpoint /api/users.

Paso 3: El Servidor Se Da Cuenta del Problema

El endpoint /api/users del servidor está configurado para aceptar solo application/json. No tiene un analizador XML configurado para este endpoint y no sabe cómo manejar los datos entrantes.

Paso 4: La Respuesta 415

En lugar de intentar procesar los datos mal formados (lo que podría conducir a errores o problemas de seguridad), el servidor responde con un código de estado 415 Unsupported Media Type.

Paso 5: El Cliente Recibe el Error

La aplicación cliente recibe la respuesta 415 y necesita manejarla apropiadamente, generalmente corrigiendo el encabezado Content-Type y reenviando la solicitud.

Escenarios Comunes Donde Podrías Encontrar un 415

1. Carga de Archivos en APIs

Si intentas subir una imagen usando application/json en lugar de multipart/form-data, el servidor no entenderá el contenido del archivo.

2. APIs Personalizadas con Validación Estricta

Las APIs con validación de esquema estricta rechazan cualquier solicitud que no coincida con sus reglas.

3. Aplicaciones Móviles que Usan SDKs Obsoletos

A veces, los SDKs antiguos envían solicitudes con encabezados desactualizados, que las APIs modernas ya no admiten.

4. Solicitudes de Origen Cruzado (Problemas de CORS)

Ciertas configuraciones de CORS pueden restringir los tipos de contenido aceptados, causando indirectamente una respuesta 415.

El Papel del Encabezado Content-Type

El encabezado Content-Type en las solicitudes HTTP le dice al servidor qué tipo de datos está enviando el cliente.

Por ejemplo:

Si este encabezado falta o dice algo que el servidor no puede manejar, es probable que veas una respuesta 415.

Escenarios del Mundo Real que Causan Errores 415

Escenario 1: Falta el Encabezado Content-Type

POST /api/users HTTP/1.1Host: api.example.com

{"name": "John Doe", "email": "john@example.com"}

Muchos servidores rechazarán esto porque no hay un encabezado Content-Type que les diga cómo interpretar los datos.

Escenario 2: Content-Type Incorrecto para los Datos

POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/x-www-form-urlencoded

{"name": "John Doe", "email": "john@example.com"}

El encabezado dice que son datos de formulario, pero el cuerpo es JSON. Esta discrepancia confunde al servidor.

Escenario 3: El Servidor No Admite el Formato

POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/xml
<user><name>John</name></user>

El servidor podría admitir solo JSON para este endpoint, incluso si el XML está bien formado.

Probando el Manejo de Content-Type con Apidog

Interfaz de usuario de Apidog

Hablemos de cómo Apidog puede facilitarte la vida al lidiar con estos errores. Probar diferentes tipos de contenido y asegurar que tu API los maneje correctamente es donde Apidog brilla. Hace que sea increíblemente fácil probar estos escenarios sin escribir código complejo.

Con Apidog, puedes:

  1. Configurar fácilmente los encabezados Content-Type: Usa la interfaz intuitiva de Apidog para seleccionar entre tipos de contenido comunes o especificar personalizados.
  2. Probar múltiples formatos: Prueba rápidamente el mismo endpoint con diferentes tipos de contenido (JSON, XML, datos de formulario) para ver cómo responde tu servidor.
  3. Validar respuestas de error: Asegúrate de que tu API devuelva respuestas 415 adecuadas con mensajes de error útiles al recibir formatos no compatibles.
  4. Probar casos extremos: Experimenta con tipos de contenido mal formados, encabezados faltantes o datos no coincidentes para asegurar que tu API los maneje con gracia.
  5. Automatizar las pruebas de Content-Type: Crea suites de prueba que verifiquen automáticamente que tu API acepta correctamente los formatos admitidos y rechaza adecuadamente los no admitidos.
button

Por ejemplo, cuando configuras una solicitud POST en Apidog, aplica automáticamente el Content-Type correcto según el tipo de cuerpo de tu solicitud (JSON, XML, form-data, etc.).

Eso significa menos sorpresas y no más errores 415 arruinando tus sesiones de prueba. Esta prueba proactiva puede ahorrar horas de depuración y asegurar que tu API se comporte de manera predecible.

415 vs. Otros Errores 4xx: Conociendo la Diferencia

Es importante distinguir el 415 de otros errores del cliente:

Mejores Prácticas para Manejar Errores 415

Para Consumidores de API (Desarrolladores Clientes):

Para Proveedores de API (Desarrolladores de Servidor):

Ejemplo de una Respuesta 415 Bien Diseñada:

HTTP/1.1 415 Unsupported Media TypeContent-Type: application/json
{
  "error": "unsupported_media_type",
  "message": "Este endpoint solo acepta cargas útiles application/json.",
  "supported_types": ["application/json"],
  "documentation": "<https://api.example.com/docs/content-types>"
}

Errores Comunes de Content-Type que Causan 415

Aquí hay algunos errores en los que los desarrolladores suelen caer:

Error Descripción Ejemplo
Usar nombre de encabezado incorrecto Error tipográfico o de mayúsculas/minúsculas contenttype en lugar de Content-Type
Enviar datos de formulario en lugar de JSON El servidor espera solo JSON application/x-www-form-urlencoded
Olvidar el charset Falta información de codificación application/json; charset=utf-8
Enviar cuerpo vacío Falta la carga útil requerida POST /api sin datos
Usar tipos de archivo no compatibles Formato de carga incorrecto Subir .exe en lugar de .png

Estos parecen pequeños pero pueden causar fallas importantes en las solicitudes.

Soluciones Comunes para Errores 415

Si te encuentras con un error 415, aquí están las soluciones más comunes:

Añadir el Encabezado Content-Type Faltante:

POST /api/users HTTP/1.1Content-Type: application/json

Corregir el Encabezado Content-Type:

# Antes (incorrecto):
Content-Type: text/plain
# Después (correcto):
Content-Type: application/json

Convertir Tus Datos a un Formato Compatible:

Si el servidor solo acepta JSON, asegúrate de enviar JSON adecuado, no XML o datos de formulario.

Verificar Errores Tipográficos:

# Incorrecto:
Content-Type: application/jason

# Correcto:
Content-Type: application/json

Consideraciones Avanzadas

Negociación de Contenido

Algunas APIs sofisticadas admiten la negociación de contenido, donde el cliente puede especificar qué formatos puede aceptar usando el encabezado Accept:

GET /api/users/123 HTTP/1.1Accept: application/json, application/xml;q=0.9

Esto le dice al servidor "Prefiero JSON, pero puedo aceptar XML si es necesario".

Parámetro Charset

Para formatos basados en texto, es posible que debas especificar la codificación de caracteres:

Content-Type: application/json; charset=utf-8

Conclusión: La Importancia de una Comunicación Clara

El código de estado HTTP 415 Unsupported Media Type resalta un aspecto fundamental de la comunicación web: ambas partes necesitan acordar el "idioma" que están utilizando para intercambiar datos. No basta con enviar los datos correctos, tienes que enviarlos en el formato correcto y anunciar adecuadamente cuál es ese formato.

HTTP 415 Unsupported Media Type es una parte clave para garantizar que los servidores solo procesen formatos de datos esperados y compatibles. Manejar correctamente los encabezados Content-Type, seguir las especificaciones de la API y probar con herramientas como Apidog puede reducir drásticamente estos errores.

Comprender y manejar adecuadamente los errores 415 te convertirá en un consumidor de API más eficaz y en un mejor diseñador de API. Al prestar atención a los tipos de contenido y proporcionar una comunicación clara entre clientes y servidores, puedes evitar estos errores frustrantes y construir integraciones más robustas. Recuerda que las APIs prosperan con una comunicación clara entre el cliente y el servidor. Si hablan el mismo "idioma" (en este caso, el tipo de medio), todo funciona sin problemas.

Así que la próxima vez que te encuentres con un error 415, recuerda que no es una falla compleja del servidor, es un simple problema de comunicación que suele ser fácil de solucionar. Y cuando estés construyendo o probando APIs, usar una herramienta como Apidog te ayudará a asegurar que tus tipos de contenido siempre sean correctos, previniendo estos errores antes de que ocurran.

button

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs