API Quelvian — v1
API REST pública para integraciones externas. Lectura de reservas, propiedades, conversaciones; creación de mensajes outbound; configuración de webhooks.
Especificación OpenAPI 3.0
Spec completa en formato YAML:
Importable en Postman, Insomnia, Swagger UI o cualquier cliente compatible OpenAPI 3.0.
Autenticación
Cada request requiere el header Authorization: Bearer qvn_live_{32-hex}. La API key se genera en Settings → API Keys del workspace. Cada key tiene scopes específicos (ej. read:reservations) y opcionalmente fecha de expiración.
curl -i https://app.quelvian.com/api/v1/reservations \ -H "Authorization: Bearer qvn_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Endpoints disponibles
GET/api/v1/reservations
Scope:
read:reservationsListar reservas con filtros opcionales (status, date_from, date_to, page, per_page).
GET/api/v1/reservations/{id}
Scope:
read:reservationsObtener una reserva por ID.
GET/api/v1/properties
Scope:
read:propertiesListar propiedades (paginado).
GET/api/v1/conversations
Scope:
read:conversationsListar conversaciones del Inbox.
GET/api/v1/conversations/{id}
Scope:
read:conversationsObtener una conversación por ID.
POST/api/v1/messages
Scope:
write:messagesCrear mensaje outbound en una conversación (body: conversation_id, content).
GET/api/v1/webhooks
Scope:
read:webhooksListar webhooks outbound configurados.
Rate limiting
Las rutas /api/v1/* están limitadas a 60 requests/minuto/IP. Si superas el límite recibirás un 429 Too Many Requests con header Retry-After indicando segundos a esperar.
Versionado y deprecación
Esta es la v1. Cambios breaking se versionarán como /api/v2/ con período de transición ≥ 90 días. Cambios non-breaking (nuevos endpoints, campos opcionales) se añadirán a v1.
Soporte
Si encuentras un bug, necesitas un nuevo endpoint o quieres reportar abuso: formulario de contacto o dani@quelvian.com.