API Deprecation: Definición, Mejores Prácticas, Ejemplos
API deprecation es el phase-out formal de un endpoint, versión o campo — anunciado con timeline, funciona durante sunset, luego removido.
¿Qué es API deprecation?
API deprecation es el proceso formal de eliminar gradualmente un endpoint API, versión, parámetro o campo response. El thing deprecated sigue funcionando durante un período sunset, pero los consumers son advertidos a migrar. Eventualmente, el piece deprecated es removido (llamado "sunset"), y los clientes que aún lo llaman se rompen.
Deprecation es el contrato entre API provider y consumers: "Estamos cambiando esto. Aquí está el timeline. Aquí está la alternativa."
Lifecycle deprecation
| Fase | Qué pasa |
|---|---|
| 1. Anunciar | Public notice: fecha deprecation, fecha sunset, path migración |
| 2. Marcar deprecated | Headers Deprecation + Sunset; docs updated |
| 3. Ventana sunset | API vieja funciona; warnings emitidas; API nueva disponible |
| 4. Sunset | API vieja removida; clientes obtienen 410 Gone |
Estándares HTTP para deprecation
HTTP/1.1 200 OK
Deprecation: Sat, 1 Jun 2026 00:00:00 GMT
Sunset: Sat, 1 Dec 2026 00:00:00 GMT
Link: <https://api.example.com/v2/users>; rel="successor-version"| Header | Estándar | Propósito |
|---|---|---|
Deprecation | RFC 9745 | Cuándo deprecation tomó efecto |
Sunset | RFC 8594 | Cuándo el recurso será removido |
Link: rel="successor-version" | RFC 8288 | Puntero al replacement |
Qué se deprecateа
- Versiones API enteras
- Endpoints específicos
- Parámetros request
- Campos response
- Métodos autenticación
- Tipos eventos webhook
- Métodos SDK
Mejores prácticas deprecation
- Anunciar temprano.
- Documentar path migración.
- Usar headers Sunset/Deprecation.
- Email consumers conocidos.
- Trackear uso.
- Período transición con ambas APIs corriendo.
- Estrategia versioning.
- Documentar changelog.
- Brownouts antes sunset.
Pitfalls deprecation comunes
- Breakage silencioso.
- Sin path migración documentado.
- Ventana sunset muy corta.
- Remover campo aún en uso.
- Olvidar SDKs.
- Sin reemplazo.
- Comunicación solo via blog.
Ejemplo: deprecation API GitHub
GitHub anuncia breaking changes ~12 meses por adelantado.
Ejemplo: versioning API Stripe
Stripe pinea cada API key a una fecha versión específica.
FAQ: API deprecation
¿Cuán larga debería ser una ventana sunset?
6+ meses para cambios pequeños; 12+ meses para version cuts mayores.
¿Debería versionar mi API?
Sí para cualquier API con consumers externos.
¿Diferencia entre deprecation y sunset?
Deprecation: anunciado. Sunset: realmente removido.
¿Cómo sé quién llama mi API deprecated?
Loguear uso per-endpoint con consumer ID.
¿Qué código HTTP para endpoints sunset?
410 Gone.
¿Debería deprecar o solo añadir nuevos campos?
Cambios aditivos son non-breaking.
¿Qué si los customers no migran?
Brownouts antes sunset final.
Testea coexistencia versión API con LoadFocus
Durante ventanas deprecation, LoadFocus corre scripts JMeter y k6 contra versiones API viejas y nuevas. Regístrate en loadfocus.com/signup.
Herramientas LoadFocus relacionadas
Lleva este concepto a la práctica con LoadFocus — la misma plataforma que potencia todo lo que acabas de leer.