Ir al contenido

Versionado y compatibilidad

Todos los endpoints públicos de la API de MailerDash viven bajo el prefijo /v1/. Este prefijo representa el contrato público estable: una vez que un endpoint está documentado bajo /v1/, nos comprometemos a no introducir cambios que rompan la compatibilidad sin un ciclo de deprecación.

Ejemplos de cambios que no se consideran breaking (son retrocompatibles):

  • Agregar nuevos campos opcionales a respuestas existentes.
  • Agregar nuevos endpoints.
  • Agregar nuevos valores posibles a enums en campos no críticos.
  • Cambiar mensajes de error legibles por humanos (campo message).

Ejemplos de cambios que son breaking y requerirían /v2/:

  • Eliminar o renombrar campos de respuesta existentes.
  • Cambiar el tipo de un campo (p.ej. de string a array).
  • Cambiar la semántica de un parámetro existente.
  • Modificar los códigos de error (type, code) de forma incompatible.

Un nuevo prefijo /v2/ solo se introduce cuando sea necesario realizar cambios de ruptura de compatibilidad. No hay planes actuales de migrar a /v2/. Cuando ocurra, se anunciará con anticipación y ambas versiones coexistirán durante la ventana de gracia.


Cuando un endpoint necesita cambiar de path o comportamiento de forma no retrocompatible, seguimos este proceso:

  1. El nuevo endpoint o comportamiento se publica (con su nuevo path o semántica).
  2. El endpoint anterior se mantiene como alias legacy — sigue funcionando exactamente igual que antes.
  3. El alias queda marcado como deprecated: true en el spec OpenAPI (openapi.yaml).
  4. Los clientes son notificados de la ventana de gracia antes de que el alias sea removido.

Puedes consultar la versión exacta del software que está corriendo en producción en cualquier momento:

Ventana de terminal
GET https://api.mailerdash.com/version

Respuesta:

{
"version": "0.11.22"
}

Este endpoint está fuera del prefijo /v1/ y no requiere autenticación. La versión sigue SemVer: MAJOR.MINOR.PATCH.

También hay un endpoint de health check:

Ventana de terminal
GET https://api.mailerdash.com/health

Retorna 200 OK cuando el servidor está activo y en condiciones normales de operación.


El archivo openapi.yaml está versionado junto con el software. Puedes acceder a la referencia interactiva de la API en:


ConceptoPolítica
Prefijo estable/v1/ — no cambia sin ciclo de deprecación
Breaking changesSolo bajo nuevo prefijo /v2/
DeprecaciónAlias legacy + deprecated: true + ventana de gracia
Versión del softwareGET /version (sin auth)
Health checkGET /health (sin auth)