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.
| Nombre | En la petición | Descripción |
|---|---|---|
sessionCookie | Cookie: pq_session=… | Browser session (R14). HttpOnly: the token is out of reach of JavaScript, so an XSS on the dashboard cannot carry it away. |
sessionBearer | Authorization: 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. |
apiKey | Authorization: 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étodo | Ruta | Qué hace | Ámbito de la clave |
|---|---|---|---|
GET | /jobs | List jobs (R8) | jobs:read |
POST | /jobs | Create a job (R1, R8) | jobs:write |
GET | /jobs/{id} | Read one job | jobs:read |
PATCH | /jobs/{id} | Partially update a job | jobs:write |
DELETE | /jobs/{id} | Delete a job | jobs:write |
GET | /jobs/{id}/executions | Execution log (R6) | executions:read |
POST | /jobs/{id}/executions | Run now (R8) | executions:trigger |
GET | /jobs/{id}/executions/stream | Execution log in real time (SPEC §4.2) | executions:read |
GET | /executions/export | Download the execution log (R27) | executions:read |
GET | /executions/metrics | Duration, failure rate and trend (R28) | executions:read |
secrets
Workspace secrets resolved at execution time (R42, R43).
| Método | Ruta | Qué hace | Ámbito de la clave |
|---|---|---|---|
GET | /secrets | List workspace secrets (R42) | secrets:read |