Riferimento dell’API REST
Che cosa espone l’API, dove sta ogni rotta e che cosa deve portare una chiave per passare.
Versione del contratto 1.15.0 Il riferimento qui sotto è letto dal contratto OpenAPI, che è scritto in inglese. Non è tradotto di proposito: tradurlo vorrebbe dire ricopiarlo, e una copia prima o poi diverge. Scarica il contratto pubblico (OpenAPI, JSON)
Da dove viene questa pagina
Questo riferimento non è scritto, è letto. Ogni rotta, ogni metodo e ogni ambito qui sotto vengono dal contratto OpenAPI compilato dentro il binario dell’API, e un controllo confronta quel contratto con il codice in esecuzione a ogni build.
Un riferimento tenuto a mano comincia a divergere la settimana dopo essere stato scritto, e da quel momento è peggio di nessun riferimento, perché lo si crede. L’unico modo per non divergere è non avere una seconda copia da cui divergere.
Qui sono elencate le operazioni che una chiave API può chiamare, e nessuna altra. Il resto del servizio la dashboard lo guida con rotte che raggiunge solo una sessione dal browser: non fanno parte dell’API pubblica, cambiano senza preavviso, e documentarle le trasformerebbe in una promessa che nessuno ha fatto.
Qui trovi la superficie: dove sta una rotta e a che cosa serve. Il resto lo porta il contratto — schemi di richiesta e risposta, codici di errore, limiti di frequenza — ed è il documento da leggere quando una chiamata risponde qualcosa che non ti aspettavi. La copia che puoi scaricare contiene le stesse operazioni di questa pagina, e solo quelle.
Autenticazione
Tre modi di dimostrare chi sei, e non sono intercambiabili. La chiave con ambiti è quella pensata per i programmi; la sessione è quella che il browser tiene mentre usi la dashboard.
Gli ambiti di scrittura non comprendono quelli di lettura. Altrimenti chi guarda una chiave leggerebbe jobs:write e dovrebbe ricordarsi che copre anche la lettura.
Le operazioni che non accettano nessuna chiave — emettere credenziali, impegnare un pagamento, distruggere un account — mancano da questa pagina esattamente per questo. È una decisione e non una dimenticanza: una chiave capace di crearne un’altra renderebbe inutile revocare la prima.
| Nome | Sulla richiesta | Descrizione |
|---|---|---|
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. |
Operazioni
Raggruppate come le raggruppa il contratto. Un pezzo di percorso fra parentesi graffe è un parametro da sostituire; la colonna dell’ambito dice che cosa deve portare una chiave perché quella chiamata passi.
jobs
Cron jobs and executions (R8).
| Metodo | Percorso | Che cosa fa | Ambito della chiave |
|---|---|---|---|
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).
| Metodo | Percorso | Che cosa fa | Ambito della chiave |
|---|---|---|---|
GET | /secrets | List workspace secrets (R42) | secrets:read |