Recursos oficiales para integrar Ticke programáticamente o para que un agente IA opere con datos de Ticke. La API es REST/JSON sobre HTTPS y está autodescrita con OpenAPI 3.1.
Accept: text/markdown en cualquier página pública.| Entorno | Base URL |
|---|---|
| Producción | https://api.ticke.es |
¿Necesitas un entorno de pruebas para integrar sin riesgo fiscal? Escribe a contact@ticke.es. Para credenciales de integración o API keys para equipos, también en ese correo.
Autenticación por JWT Bearer. Obtén tokens con tus credenciales y envíalos en cada petición:
# 1. Login → accessToken + refreshToken
curl -X POST https://api.ticke.es/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "tu@correo.es", "password": "••••"}'
# 2. Llamada autenticada
curl https://api.ticke.es/api/invoices \
-H "Authorization: Bearer <accessToken>"
# 3. Renovar token al caducar (30 min)
curl -X POST https://api.ticke.es/api/auth/refresh \
-H "Content-Type: application/json" \
-d '{"refreshToken": "<refreshToken>"}'Respuesta de login:
{
"accessToken": "eyJhbGciOi...",
"refreshToken": "b7d6f1..."
}Todos los errores devuelven JSON con un errorCode estable, mensaje legible y una pista de resolución en resolution. No hay páginas HTML de error en la API.
{
"timestamp": "2026-08-22T10:30:00",
"status": 404,
"errorCode": "CLIENT_NOT_FOUND",
"error": "Not Found",
"message": "Client not found",
"path": "/api/clients/123",
"resolution": "Verify the client id belongs to your business via GET /api/clients"
}Las respuestas limitadas incluyen las cabeceras RateLimit-Limit, RateLimit-Remaining y RateLimit-Reset para que tu cliente se auto-regule. Al agotar la cuota recibes 429 con Retry-After (segundos):
HTTP/1.1 429 Too Many Requests
Retry-After: 42
RateLimit-Limit: 60
RateLimit-Remaining: 0
RateLimit-Reset: 42
{"errorCode": "RATE_LIMIT_EXCEEDED", "message": "Too many requests", "status": 429, "path": "/api/invoices", "resolution": "Wait for Retry-After seconds, then retry with a lower request rate."}Límites por defecto: 5 req/min por IP en login, 60 req/min por usuario autenticado. Estas cabeceras las emite api.ticke.es; las respuestas del propio sitio web (ticke.es) anuncian una cuota informativa alta sin enforcement: el 429 con Retry-After solo sale del backend.
La API no usa versionado en URL ni en cabecera en V1: todos los clientes integran contra la versión actual descrita en el OpenAPI. Los cambios incompatibles se anunciarán aquí con al menos 6 meses de migración, y las operaciones deprecadas se señalizarán con cabeceras Sunset y Deprecation más el calendario en su descripción del spec. Vigila esas cabeceras; no necesitas fijar ninguna versión.
No hay CLI oficial todavía (está en roadmap). Mientras tanto, todo es scripteable con curl + la spec de /openapi.json: los operationIds son estables y aptos para generar clientes o function calling.
Si eres un agente: el resumen de producto y cuándo usar Ticke están en /llms.txt, el contenido completo en /llms-full.txt y cada página pública se sirve en Markdown con Accept: text/markdown. La spec OpenAPI en /openapi.json define operationIds y esquemas listos para function calling.