Referencia de la API REST

Qué expone la API, dónde vive cada ruta y qué debe llevar una clave para pasar.

Versión del contrato 1.15.0 La referencia de abajo se lee del contrato OpenAPI, que está escrito en inglés. No se traduce a propósito: traducirlo significaría copiarlo, y una copia acaba divergiendo. Descarga el contrato público (OpenAPI, JSON)

De dónde sale esta página

Esta referencia no se escribe, se lee. Cada ruta, cada método y cada ámbito de aquí abajo vienen del contrato OpenAPI compilado dentro del binario de la API, y una comprobación coteja ese contrato con el código en ejecución en cada compilación.

Una referencia mantenida a mano empieza a divergir la semana siguiente a escribirla, y desde ese momento es peor que ninguna referencia, porque se la cree. La única forma de no divergir es no tener una segunda copia de la que divergir.

Aquí se enumeran las operaciones que una clave API puede llamar, y ninguna más. El resto del servicio lo gobierna el panel con rutas que solo alcanza una sesión del navegador: no forman parte de la API pública, cambian sin aviso, y documentarlas las convertiría en una promesa que nadie ha hecho.

Aquí encuentras la superficie: dónde vive una ruta y para qué sirve. El resto lo lleva el contrato — esquemas de petición y respuesta, códigos de error, límites de frecuencia — y es el documento que hay que leer cuando una llamada responde algo que no esperabas. La copia que puedes descargar contiene las mismas operaciones que esta página, y solo esas.

Autenticación

Tres formas de demostrar quién eres, y no son intercambiables. La clave con ámbitos es la pensada para los programas; la sesión es la que guarda tu navegador mientras usas el panel.

Los ámbitos de escritura no incluyen los de lectura. Si no, quien mira una clave vería jobs:write y tendría que acordarse de que también cubre la lectura.

Las operaciones que no aceptan ninguna clave — emitir credenciales, comprometer un pago, destruir una cuenta — faltan de esta página justo por eso. Es una decisión y no un olvido: una clave capaz de crear otra dejaría sin sentido revocar la primera.

NombreEn la peticiónDescripción
sessionCookieCookie: pq_session=…Browser session (R14). HttpOnly: the token is out of reach of JavaScript, so an XSS on the dashboard cannot carry it away.
sessionBearerAuthorization: Bearer …The same session token, for clients without a cookie jar. When both arrive, the cookie wins — it is the session the user expects to be using.
apiKeyAuthorization: Bearer …Scoped API key (R9): Authorization: Bearer pq_live_.... The prefix is what tells it apart from a session token without having to try both. The scope each operation requires is declared in x-api-key-scope, and it is compared against the code on every CI run. Write scopes do not imply read scopes: otherwise someone looking at a key's scopes would see jobs:write and have to remember that it covers reading too. Operations that do not declare this scheme do not accept a key, ever: they are the ones that issue credentials, commit to a payment, or destroy the account.

Operaciones

Agrupadas como las agrupa el contrato. Un tramo de ruta entre llaves es un parámetro que sustituyes; la columna del ámbito dice qué debe llevar una clave para que esa llamada pase.

jobs

Cron jobs and executions (R8).

MétodoRutaQué haceÁmbito de la clave
GET/jobsList jobs (R8)jobs:read
POST/jobsCreate a job (R1, R8)jobs:write
GET/jobs/{id}Read one jobjobs:read
PATCH/jobs/{id}Partially update a jobjobs:write
DELETE/jobs/{id}Delete a jobjobs:write
GET/jobs/{id}/executionsExecution log (R6)executions:read
POST/jobs/{id}/executionsRun now (R8)executions:trigger
GET/jobs/{id}/executions/streamExecution log in real time (SPEC §4.2)executions:read
GET/executions/exportDownload the execution log (R27)executions:read
GET/executions/metricsDuration, failure rate and trend (R28)executions:read

secrets

Workspace secrets resolved at execution time (R42, R43).

MétodoRutaQué haceÁmbito de la clave
GET/secretsList workspace secrets (R42)secrets:read