API (externa)
Gredit expone una API REST bajo el namespace /api/v1/ para integración programática desde herramientas externas (CI/CD, scripts, servicios propios). Todos los endpoints de esta sección comparten el mismo esquema de autenticación JWT.
Para rutas usadas por la aplicación web, ver API interna. Para autenticación federada SAML, ver Endpoints SAML.
Autenticación
Las peticiones a /api/v1/* requieren un token JWT en el encabezado Authorization:
Authorization: Bearer <token>
El token se obtiene en Configuración → Acceso API. Su vigencia depende de la configuración de la Cuenta (intervalo y frecuencia). Un mismo token autoriza el acceso a todos los endpoints documentados en esta página (casos, ejecuciones, etc.).
Casos
Casos por guion
Obtiene los casos generados por un guion específico.
GET /api/v1/scripts/:id/issues
| Parámetro | Ubicación | Tipo | Descripción |
|---|---|---|---|
id | path | integer | ID del guion |
Ejemplo:
curl -H "Authorization: Bearer $TOKEN" \
https://gredit.example.com/api/v1/scripts/42/issues
Casos por estado
Obtiene un resumen de casos agrupados por estado.
GET /api/v1/scripts/issues_by_status
Ejemplo:
curl -H "Authorization: Bearer $TOKEN" \
https://gredit.example.com/api/v1/scripts/issues_by_status
Ejecuciones
La API de ejecución permite encolar corridas y ejecuciones de guiones. Las operaciones son asíncronas: la respuesta inicial devuelve un ID para consultar estado y salida mediante polling. Las ejecuciones originadas por esta API quedan registradas con source: api.
Discovery
Listar guiones
GET /api/v1/scripts
| Parámetro | Ubicación | Tipo | Requerido | Descripción |
|---|---|---|---|---|
q | query | string | No | Filtra por nombre (substring, case-insensitive). Ej: ?q=ANCAP |
Respuesta: array de guiones con id, name, language, database y schedules (array con id y name de cada trabajo donde participa el guion).
Listar schedules
GET /api/v1/schedules
| Parámetro | Ubicación | Tipo | Requerido | Descripción |
|---|---|---|---|---|
id | query | integer | No | Filtra un schedule específico. Ej: ?id=7 |
Respuesta: array de schedules con id, name, scripts (cada job con job_id, script_id, script_name, server_id) y rules (array con id y name).
Ejecutar guion (sin reglas)
Ejecuta un guion de forma aislada. No dispara reglas; el resultado se consulta como ejecución.
POST /api/v1/scripts/:id/executions
Body (opcional):
{
"server_id": 6
}
| Campo | Requerido | Descripción |
|---|---|---|
server_id | No | Servidor donde ejecutar. Si se omite, usa el servidor default de la cuenta. |
Respuesta (201):
{
"execution_id": 55,
"script_id": 42,
"script_name": "Cierre diario",
"status": "pending"
}
Ejecutar schedule (con reglas)
Ejecuta jobs de un schedule. Al finalizar el guion se disparan las reglas configuradas en ese trabajo.
POST /api/v1/schedules/:id/run
Body (opcional):
{
"script_ids": [42, 87],
"server_id": 3
}
| Campo | Requerido | Descripción |
|---|---|---|
script_ids | No | IDs de guiones a ejecutar. Si se omite, corre todos los jobs del schedule. |
server_id | No | Servidor donde ejecutar. Si se omite, usa el del job. |
Respuesta (201):
{
"runs": [
{ "run_id": 101, "script_id": 42, "script_name": "Cierre diario", "status": "pending" },
{ "run_id": 102, "script_id": 87, "script_name": "Envío reportes", "status": "pending" }
]
}
Polling
Consultar corrida (con reglas)
GET /api/v1/runs/:id
Respuesta: id, status, source, started_at, ended_at, stdout, stderr, script_id, schedule_id.
Consultar ejecución (sin reglas)
GET /api/v1/executions/:id
Respuesta: id, status, source, started_at, ended_at, stdout, stderr, script_id.
Flujo recomendado
Con reglas (Trabajos)
- Obtener token en Configuración → Acceso API
- Identificar el schedule:
- Si conocés el trabajo:
GET /api/v1/schedules?id=... - Si solo conocés el guion:
GET /api/v1/scripts?q=...— cada guion incluye enscheduleslos trabajos donde participa (id,name)
- Si conocés el trabajo:
GET /api/v1/schedules?id=...para verificar guiones y reglas del schedule elegidoPOST /api/v1/schedules/:id/run(opcional:script_ids,server_id)GET /api/v1/runs/:idhasta questatusindique finalización
Sin reglas (Guiones)
- Obtener token en Configuración → Acceso API
GET /api/v1/scripts?q=...para obtener eliddel guionPOST /api/v1/scripts/:id/executions(opcional:server_id)GET /api/v1/executions/:idhasta questatusindique finalización