REST

Uso de la API

Autentica, conecta proveedores, lee recursos normalizados, escribe con seguridad y reproduce eventos.

Cada respuesta REST usa campos snake_case en la superficie pública. El alcance de organización y aplicación viene de la API key.

Autenticación

Crea una API key con alcance de aplicación en el panel. Envíala como Bearer token en cada request API. Las API keys contienen scopes, application_id y organization_id.

Clave Bearerbash
curl https://api.hora.to/v1/usage \
  -H "Authorization: Bearer $HORATO_API_KEY"

Flujo de conexión de proveedores

Inicia la autorización OAuth para un proveedor, redirige al usuario y deja que Horato guarde la conexión y los tokens del proveedor. Consulta los endpoints de capacidades antes de intentar operaciones específicas del proveedor.

Iniciar autorización de Googlebash
curl -X POST https://api.hora.to/v1/auth/connectors/google/authorize \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"scopes":["email.read","calendar.write"],"redirect_uri":"https://app.example.com/oauth/callback"}'

Leer y mutar recursos

Prefiere IDs canónicos para recursos almacenados y conserva IDs de proveedor para reconciliación. Las mutaciones deben incluir etags cuando la superficie del recurso expone control de conflictos.

Leer mensajesbash
curl "https://api.hora.to/v1/email/messages?connection_id=conn_123&limit=25" \
  -H "Authorization: Bearer $HORATO_API_KEY"
Crear evento de calendariobash
curl -X POST https://api.hora.to/v1/calendars/cal_primary/events \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_id":"conn_123","title":"Intro call","start":"2026-06-10T16:00:00Z","end":"2026-06-10T16:30:00Z"}'

Paginación e idempotencia

Los endpoints de lista devuelven `next_cursor` cuando existen más resultados. Los endpoints de escritura deben enviar el header `Idempotency-Key` para crear recursos de forma segura cuando el cliente pueda reintentar después de fallos de red.