Zum Hauptinhalt springen
Wenn Sie Guardrails als Code verwalten möchten — eine PII-Policy in CI erstellen, zwei Versionen vor einem Release diffen oder den Matches-Feed in Ihr eigenes Dashboard ziehen — sprechen Sie mit den /api/guardrail/*-Routen. Diese Seite ist die Route-für-Route-Guardrail-API-Referenz: jeder Endpunkt, die Workspace-Rolle, die er erfordert, und die Auth, die er erwartet. Was ein Guardrail ist und wie Regeln komponieren, lesen Sie unter Guardrails. Diese Seite ist der Begleiter auf Wire-Ebene.

1. Auth und Scope

Jede /api/guardrail/*-Route ist Management-Plane: Sie authentifiziert mit Ihrem Konsolen-Session- oder Access-Token (dieselbe Identität, mit der Sie sich in die Konsole einloggen), nicht mit einem Relay-Key.
Ihr sk-orca-...-Relay-Key authentifiziert /v1/*-Modellaufrufe — er funktioniert nicht auf /api/guardrail/*. Konfigurationsrouten verwenden Ihr User-Session-/Access-Token, gescoped auf den aktiven Workspace.
  • Routen sind workspace-bezogen — sie sehen immer nur die Guardrails des aktiven Workspaces. Nichts überquert eine Tenant-Grenze.
  • Jede Route ist RBAC-gegated durch Ihre Workspace-Rolle (Viewer / Developer / Admin / Owner). Lesen ist für Viewer+ offen; die Sandbox und alle Schreibvorgänge erfordern Developer+; die False-Positive-Endpunkte erfordern Admin (Admin oder Owner).
Die meisten Teams rufen diese Routen nie direkt auf — die Konsole steuert sie alle. Greifen Sie zur REST-Surface, wenn Sie Guardrails in der Versionskontrolle, in CI oder in Ihr eigenes Tooling verdrahtet haben möchten.

2. Ein konkreter Aufruf — Ihre Guardrails auflisten

Ein Lesevorgang ist der einfachste Einstiegspunkt. Authentifiziert als jedes beliebige Workspace-Mitglied (Viewer+):
curl https://api.orcarouter.ai/api/guardrail/ \
  -H "Authorization: Bearer <your-access-token>" \
  -H "X-Workspace-Id: <workspace-id>"
Sie erhalten die Guardrails des Workspaces mit ihren angehängten-Key-Zählern zurück. Um stattdessen Ihren ersten Request end-to-end zu screenen — eine Policy erstellen, einen Key anhängen, einen Aufruf senden — folgen Sie dem 5-Schritte-Quickstart, der alles aus der Konsole erledigt.

3. Das Rollenmodell in einer Tabelle

Die Aktion, die Sie vornehmen, nicht die Route, wählt die Stufe.
AktionMindestrolle
Lesen (list/get, History, Matches, Eval-Runs), einen Eval ausführenViewer+
Sandbox-Test ausführenDeveloper+
Erstellen, aktualisieren, löschen, zurücksetzen, Corpus hochladen/löschenDeveloper+
Einen Match als False Positive markieren / entmarkierenAdmin
Lesevorgänge mappen auf die guardrails:read-Permission (gehalten von Viewer aufwärts); Schreibvorgänge mappen auf guardrails:write (Developer aufwärts). Das Markieren eines False Positive erfordert zusätzlich die Admin-Rolle. Siehe Scope, Keys & Policies dafür, wie Rollen und Permissions kombinieren.

4. Routen nach Bereich

Methode & PfadRolle
GET /api/guardrail/Viewer+
GET /api/guardrail/metaViewer+
GET /api/guardrail/my-permissionsjedes Mitglied
GET /api/guardrail/:idViewer+
GET /api/guardrail/:id/tokensViewer+
POST /api/guardrail/testDeveloper+
POST /api/guardrail/Developer+
PUT /api/guardrail/Developer+
DELETE /api/guardrail/:idDeveloper+
meta gibt das Engine-Vokabular zurück — Regeltypen, Stages, Aktionen, PII-Entitäten, Presets und Preset-Kategorien — sodass ein Tool ein Formular bauen kann, ohne die Enums hart zu codieren. test führt die aktuelle Policy über Beispieltext in einer Sandbox aus: nichts wird persistiert, nichts geht upstream.
Methode & PfadRolle
GET /api/guardrail/:id/historyViewer+
GET /api/guardrail/:id/history/diffViewer+
GET /api/guardrail/:id/history/:versionViewer+
POST /api/guardrail/:id/revertDeveloper+
Jeder Create, Update und Delete schreibt eine History-Zeile in derselben Transaktion. revert kopiert eine alte Version als neue Version vorwärts — die History wird nie mutiert.
Methode & PfadRolle
POST /api/guardrail/:id/evalViewer+
GET /api/guardrail/:id/eval/runsViewer+
GET /api/guardrail/eval/runs/:run_idViewer+
GET /api/guardrail/eval/corporaViewer+
POST /api/guardrail/eval/corporaDeveloper+
GET /api/guardrail/eval/corpora/:idViewer+
DELETE /api/guardrail/eval/corpora/:idDeveloper+
Führen Sie ein Guardrail gegen ein gebündeltes Red-Team-Corpus oder ein eigenes JSONL-Set aus, das Sie hochladen, und lesen Sie dann die Fehlschläge pro Sample. Nützlich zum Tunen einer Judge-Rubrik oder um zu beweisen, dass eine Policy bekannte Angriffe abfängt, bevor Sie ausliefern.
Methode & PfadRolle
GET /api/guardrail/matchjedes Mitglied
GET /api/guardrail/match/groupedjedes Mitglied
GET /api/guardrail/match/statsjedes Mitglied
GET /api/guardrail/match/exportjedes Mitglied
GET /api/guardrail/match/cap-statusjedes Mitglied
GET /api/guardrail/match/:idjedes Mitglied
POST /api/guardrail/match/:id/mark-fpAdmin
DELETE /api/guardrail/match/:id/mark-fpAdmin
Ein Match zeichnet den Regeltyp, die Aktion, das Stage und einen Detail-String auf — plus den gematchten Teilstring nur, wenn „Log raw content” für dieses Guardrail an ist (standardmäßig aus). Die Read-Routen tragen keine zusätzliche Permission-Middleware, sodass jedes aktive Workspace-Mitglied sie erreichen kann; die beiden mark-fp-Routen sind Admin-only (Admin oder Owner) und ratenbegrenzt.

5. Auflösung: welches Guardrail gilt

Die obigen Routen verwalten Policies; die Auflösung entscheidet, welche auf einem gegebenen Relay-Aufruf läuft. Es ist ein Explizit-oder-Default-Modell ohne stillen Fallback bei einem expliziten Attachment:
  1. Explizite guardrail_id auf dem Key → dieses Guardrail gilt, sofern es existiert und aktiviert ist. Ein deaktiviertes Attachment ist der Aus-Schalter — es fällt nicht zurück.
  2. Kein Attachment → das aktivierte Default-Guardrail des Workspaces (is_default).
  3. Keines von beiden → keine Durchsetzung. Der Request ist byte-identisch zu einem Workspace, der das Feature nie aktiviert hat.
Dies ist das eine Verhalten, das sich von der Firewall unterscheidet: Eine deaktivierte angehängte Firewall-Policy fällt auf den Workspace-Default zurück, während ein deaktiviertes angehängtes Guardrail zu keinem auflöst. Siehe Guardrails vs. Firewall.
Setzen Sie guardrail_id auf einem Key über den Key-Editor oder die Token-API; 0/null bedeutet „kein explizites Attachment”.

6. Was ein Block zurückgibt

Wenn eine Regel mit block-Aktion feuert, gibt der Relay-Aufruf (/v1/*, auf Ihrem Relay-Key) — nicht diese Management-Routen — zurück:
FeldWert
HTTP-Status400
Fehlercodeguardrail_blocked
Kontingentkostenein Block im Input-Stage feuert vor dem Pre-Consume, sodass kein Kontingent berechnet wird
Retryals skip-retry markiert
Die Nachricht benennt das Guardrail und die Regel, die gefeuert hat. Für den vollständigen Code-Katalog und die Triage-Pfade siehe Fehlercodes und Warum wurde mein Request blockiert?.

7. Aktionen, Stages und Regeltypen auf einen Blick

Die meta-Route gibt diese als Enums zurück; hier sind sie zum schnellen Nachschlagen.
  • Aktionen: block (ablehnen, HTTP 400), mask (den Treffer redigieren, den bereinigten Text weiterleiten), flag (nur loggen — beobachten, ohne den Traffic zu ändern), annotate (nicht blockierend — den Treffer aufzeichnen und einen menschenlesbaren Hinweis upstream injizieren, sodass dem Modell davon erzählt wird, bevor es antwortet), spotlight (nicht blockierend — den gematchten nicht vertrauenswürdigen Bereich in Delimiter einschließen und dem Modell sagen, ihn als Daten, nicht als Anweisungen zu behandeln; eine Prompt-Injection-Verteidigung, in der Praxis Input-Stage).
  • Stages: input (der Request), output (die Antwort des Modells) oder both.
  • Regeltypen: keyword, regex, pii, max_chars, external, llm_judge, grounding.
Output-Stage-Regeln werden auf sowohl streaming als auch nicht-streaming Antworten durchgesetzt: Ein block schneidet den Stream ab, und ein mask schreibt gematchte Bereiche in-band um, während Chunks fließen. In einem Stream können bereits geflushte Bytes nicht zurückgezogen werden, sodass auf einen Match erst reagiert wird, wenn genug davon gepuffert hat — für die stärkste Garantie scannen Sie im Input-Stage, das den Request bereinigt, bevor das Modell ihn je sieht. Beweisen Sie Ihre exakte Stage-/Stream-Kombination zuerst in der Sandbox.
Für Per-Entität-PII-Overrides, eigene Entitäten, den LLM-Judge und kontextuelle Grounding-Felder siehe die Tiefenreferenz in Guardrails.

8. Verwandte Referenzen

Firewall-API

Das Aktionsplane-Pendant — /api/workspace/firewall/* und die Gateway-Routen.

Compliance-API

/api/compliance/* — Packs, signierte Reports, Residency, Readiness.

Fehlercodes

Jeder *_blocked-Code, sein HTTP-Status und was dagegen zu tun ist.

Guardrails (Deep Dive)

Regeltypen, PII-Entitäten, Presets, Evals und der Matches-Feed in voller Tiefe.
Siehe auch Guardrails vs. Firewall, Wie OrcaRouter Traffic inspiziert und das Glossar.