POST/v1/flights/order/cancel/:gdsprovider/:orderId

Cancelar orden de vuelo

Solicita la cancelación de una orden de vuelo existente, usando opcionalmente un cancelId generado por un flujo de cancelación pendiente.

Compartir
POST/v1/flights/order/cancel/:gdsprovider/:orderId

Consola API

Pruébalo

Envía una petición real al entorno sandbox e inspecciona la respuesta.

Credenciales

Inicia sesión para elegir entre tus API keys guardadas en vez de pegarlas.

Parámetros de ruta

2 campos

Proveedor GDS

Sistema de distribución global usado para obtener contenido de vuelos. Selecciona 0 para el proveedor predeterminado.

ID de orden

Identificador de la orden devuelta al crear la reserva.

Cuerpo de la petición

Petición cURL

cURL
bash
curl -X POST 'https://api.sandbox.travelandz.com/v1/flights/order/cancel/0/:orderId' \
  -H 'Authorization: Bearer YOUR_SECRET_KEY' \
  -H 'X-Travelandz-Id: YOUR_PUBLIC_KEY:YOUR_PROFILE_CODE' \
  -H 'Content-Type: application/json' \
  -d '{"cancelId":"ore_0000B7awtcMBc20FXigs1Z","renewIfExpired":true}'

Añade tus credenciales para enviar una petición.

Respuesta

Pulsa «¡Pruébalo!» para enviar una petición y ver la respuesta aquí.

Solicita la cancelación de una orden de vuelo existente, usando opcionalmente un cancelId generado por un flujo de cancelación pendiente.

Endpoint

MétodoRutaAuth
POST/v1/flights/order/cancel/:gdsprovider/:orderIdAPI key requerida
Headers obligatorios:
HeaderDescripción
AuthorizationBearer <secret_key>. El secret se muestra una sola vez al crear la credencial.
X-Travelandz-Id<public_key>:<profile_code>. El profile_code es el codigo de Developer Profile con prefijo dp_ que ves en el dashboard. Esto vincula la peticion con un perfil y una credencial.
Content-TypeUsa application/json para peticiones con cuerpo.

Esquema de parámetros de la petición

gdsprovider
number
orderId
string

Esquema del cuerpo de la petición

cancelId
stringNo
renewIfExpired
booleanNo
Cuando cancelId haya expirado, envia true para crear y confirmar automaticamente una nueva cancelacion pendiente.

Respuesta exitosa

Devuelve the final public cancellation confirmation. Las respuestas de Duffel incluyen id de cancelacion, resumen de reembolso, fecha de confirmacion y liveMode.

Esquema del cuerpo de la respuesta

message
string
orderId
string
cancellationId
stringNo
Presente en cancelaciones publicas de Duffel. Se omite en flujos directos de proveedor que no exponen un id de cancelacion pendiente.
refund
object
refundto
string
refundamount
string
refundcurrency
string
confirmedAt
string
Format: ISO 8601
No
Presente en cancelaciones publicas de Duffel despues de la confirmacion.
liveMode
boolean
True cuando la peticion se sirve desde el entorno live de Travelandz. Este valor viene de Travelandz, no del payload del proveedor.

Notas operativas

  • cancelId es opcional. Cuando se envia para Duffel, Travelandz obtiene y valida esa cancelacion antes de confirmarla.
  • Si el cancelId enviado no pertenece al orderId indicado, la API devuelve 400.
  • Si el cancelId enviado expiro y renewIfExpired no es true, la API devuelve 400.
  • Si el cancelId enviado expiro y renewIfExpired=true, Travelandz crea una nueva cancelacion pendiente, la persiste internamente y confirma esa nueva cancelacion.
  • Si se omite cancelId para Duffel, Travelandz crea, persiste y confirma automaticamente una nueva cancelacion pendiente.
  • La cancelacion directa puede fallar cuando la reserva ya esta en ticketing o ya no es cancelable.

Ejemplo

bash
bash
curl -X POST https://api.sandbox.travelandz.com/v1/flights/order/cancel/0/order_123 \
  -H "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
  -H "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE" \
  -H "Content-Type: application/json" \
  -d '{"cancelId":"ore_123","renewIfExpired":true}'

Cuerpo de la petición - Ejemplo

json
json
{
  "cancelId": "ore_0000B7awtcMBc20FXigs1Z",
  "renewIfExpired": true
}

Respuestas

CódigoDescripción
200Orden de vuelo cancelada correctamente.
400Solicitud inválida: payload no válido.
401No autorizado: credenciales inválidas o ausentes.
403Prohibido: credenciales inválidas.
500Error interno del servidor

200 Cuerpo de la respuesta

Tipo de contenido: application/json

json
json
{
  "message": "Order canceled successfully",
  "orderId": "ord_0000B7aw6DtypHDaOdA5hV",
  "cancellationId": "ore_0000B7awtcMBc20FXigs1Z",
  "refund": {
    "to": "balance",
    "amount": "221.89",
    "currency": "EUR"
  },
  "confirmedAt": "2026-06-22T15:50:48.458Z",
  "liveMode": false
}