[{"data":1,"prerenderedAt":124},["ShallowReactive",2],{"docs:de:rest-api":3},{"id":4,"meta":5,"intro":8,"contractVersion":11,"contractVersionLabel":12,"contractNotice":13,"contractDownload":14,"labels":17,"sections":29},"rest-api",{"title":6,"lead":7},"REST-API","Alle Routen, die ein API-Schlüssel aufrufen kann, gelesen aus dem OpenAPI-Vertrag, der im Dienst selbst mitreist.",{"title":9,"lead":10},"Referenz der REST-API","Was die API anbietet, wo jede Route liegt und was ein Schlüssel mitbringen muss, um durchzukommen.","1.15.0","Vertragsversion","Die Referenz unten wird aus dem OpenAPI-Vertrag gelesen, der auf Englisch verfasst ist. Sie ist bewusst nicht übersetzt: eine Übersetzung wäre eine Kopie, und eine Kopie läuft irgendwann auseinander.",{"href":15,"label":16},"\u002Fopenapi.json","Den öffentlichen Vertrag herunterladen (OpenAPI, JSON)",{"method":18,"path":19,"summary":20,"scope":21,"authentication":22,"form":23,"name":24,"type":25,"notes":26,"description":27,"downloadContract":16,"contractVersion":12,"command":28},"Methode","Pfad","Wozu sie dient","Geltungsbereich des Schlüssels","Akzeptiert","In der Anfrage","Name","Typ","Hinweise","Beschreibung","Befehl",[30,39,60],{"id":31,"title":32,"paragraphs":33,"block":38},"overview","Woher diese Seite stammt",[34,35,36,37],"Diese Referenz wird nicht geschrieben, sondern gelesen. Jede Route, jede Methode und jeder Geltungsbereich hier unten stammt aus dem OpenAPI-Vertrag, der in die Binärdatei der API kompiliert ist, und eine Prüfung gleicht diesen Vertrag bei jedem Build mit dem laufenden Code ab.","Eine von Hand gepflegte Referenz beginnt in der Woche nach ihrer Entstehung auseinanderzulaufen, und von da an ist sie schlechter als gar keine, weil man ihr glaubt. Der einzige Weg, nicht auseinanderzulaufen, ist, keine zweite Kopie zu haben.","Aufgeführt sind hier die Operationen, die ein API-Schlüssel aufrufen kann, und keine weitere. Den Rest des Dienstes steuert das Dashboard über Routen, die nur eine Browser-Sitzung erreicht: sie gehören nicht zur öffentlichen API, sie ändern sich ohne Ankündigung, und sie zu dokumentieren machte aus ihnen ein Versprechen, das niemand gegeben hat.","Hier finden Sie die Oberfläche: wo eine Route liegt und wozu sie dient. Den Rest trägt der Vertrag — Schemata für Anfrage und Antwort, Fehlercodes, Frequenzgrenzen — und er ist das Dokument, das man liest, wenn ein Aufruf etwas Unerwartetes antwortet. Die Kopie zum Herunterladen enthält dieselben Operationen wie diese Seite, und nur diese.",null,{"id":40,"title":41,"paragraphs":42,"block":46},"authentication","Authentifizierung",[43,44,45],"Drei Wege nachzuweisen, wer Sie sind, und sie sind nicht austauschbar. Der Schlüssel mit Geltungsbereichen ist der für Programme gedachte; die Sitzung ist die, die Ihr Browser hält, während Sie das Dashboard benutzen.","Schreibrechte schließen Leserechte nicht ein. Sonst läse man an einem Schlüssel jobs:write und müsste sich merken, dass darin auch das Lesen steckt.","Die Operationen, die überhaupt keinen Schlüssel annehmen — Zugangsdaten ausstellen, eine Zahlung eingehen, ein Konto vernichten — fehlen auf dieser Seite genau deshalb. Das ist eine Entscheidung und kein Versäumnis: ein Schlüssel, der einen weiteren erzeugen könnte, machte den Widerruf des ersten sinnlos.",{"kind":47,"schemes":48},"schemes",[49,53,57],{"name":50,"form":51,"description":52},"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.",{"name":54,"form":55,"description":56},"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.",{"name":58,"form":55,"description":59},"apiKey","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.",{"id":61,"title":62,"paragraphs":63,"block":65},"operations","Operationen",[64],"Gruppiert, wie der Vertrag sie gruppiert. Ein Pfadstück in geschweiften Klammern ist ein Parameter zum Ersetzen; die Spalte des Geltungsbereichs nennt, was ein Schlüssel mitbringen muss, damit dieser Aufruf durchkommt.",{"kind":61,"groups":66},[67,115],{"name":68,"description":69,"operations":70},"jobs","Cron jobs and executions (R8).",[71,77,82,86,90,94,99,103,107,111],{"method":72,"path":73,"summary":74,"scope":75,"security":76},"GET","\u002Fjobs","List jobs (R8)","jobs:read",[50,54,58],{"method":78,"path":73,"summary":79,"scope":80,"security":81},"POST","Create a job (R1, R8)","jobs:write",[50,54,58],{"method":72,"path":83,"summary":84,"scope":75,"security":85},"\u002Fjobs\u002F{id}","Read one job",[50,54,58],{"method":87,"path":83,"summary":88,"scope":80,"security":89},"PATCH","Partially update a job",[50,54,58],{"method":91,"path":83,"summary":92,"scope":80,"security":93},"DELETE","Delete a job",[50,54,58],{"method":72,"path":95,"summary":96,"scope":97,"security":98},"\u002Fjobs\u002F{id}\u002Fexecutions","Execution log (R6)","executions:read",[50,54,58],{"method":78,"path":95,"summary":100,"scope":101,"security":102},"Run now (R8)","executions:trigger",[50,54,58],{"method":72,"path":104,"summary":105,"scope":97,"security":106},"\u002Fjobs\u002F{id}\u002Fexecutions\u002Fstream","Execution log in real time (SPEC §4.2)",[50,54,58],{"method":72,"path":108,"summary":109,"scope":97,"security":110},"\u002Fexecutions\u002Fexport","Download the execution log (R27)",[50,54,58],{"method":72,"path":112,"summary":113,"scope":97,"security":114},"\u002Fexecutions\u002Fmetrics","Duration, failure rate and trend (R28)",[50,54,58],{"name":116,"description":117,"operations":118},"secrets","Workspace secrets resolved at execution time (R42, R43).",[119],{"method":72,"path":120,"summary":121,"scope":122,"security":123},"\u002Fsecrets","List workspace secrets (R42)","secrets:read",[50,54,58],1788438713217]