gate_openshell_setup
Discover one-command OpenShell setup
Read-only local setup plan for native OpenShell + Gate: one command, exact installer hash, recipe schema, prerequisites, authority boundaries and cleanup. Default creates an isolated Free read-only demo with no model or payment. A trusted local controller may configure an owner-authorized API with explicit routes/scope and private credential files. This tool does not run commands, create resources or accept credentials.
無需輸入參數。
gate_create_project
Create a Gate project
Create a Free project in front of an existing HTTPS API. No signup or payment required. For a credential-free demo use https://sandbox.gate.odilelabs.com with GET /customers/:cid/tickets/:id (customer A holds tickets 1-3, B holds 4-5: try GET /customers/A/tickets/1). Returns project_id, admin_key (shown once) and the gateway base URL apps call instead of the API. A real API and its credentials need owner authorization.
輸入參數name必填upstream必填header_nameheader_value
gate_add_app
Register an app
Give one app its own key and the calls it may make. Routes are rules like "GET /orders/:id", "POST /orders", "GET /users/{user}/orders" (per-user), or example calls like "GET /orders/42", which become rules allowing any id. Returns key (shown once), app.id and normalized rules. Send key as Authorization: Bearer <key> to the project gateway; never send the admin key to the workload.
輸入參數name必填modelsroutestemplateadmin_key必填per_minuteproject_id必填
gate_set_models
Set an app's allowed models
For a project in front of a model API: limit which models one app may ask for (the request body's "model", or a /models/<name> path). Other models are refused with 403 model_not_allowed before the provider sees them. models: null removes the limit.
輸入參數app必填models必填admin_key必填project_id必填
The project's apps with their allowed calls, limits, state and anomaly-guard settings.
輸入參數admin_key必填project_id必填
gate_check_setup
Check an agent integration setup
Read actual Gate protection settings before giving an integration production access. Reports observe-only mode, writes without mandatory runs, missing user-token configuration, wildcard grants and approval separation, with evidence, exact remedies and explicit limits. Sends no upstream requests, changes no settings and uses no gateway quota. Configuration-only: not a security certificate or runtime enforcement test.
輸入參數appadmin_key必填project_id必填
gate_metrics
Read Gate operational metrics
Read last-24-hour stored call counts by HTTP status and reason, measured duration through response headers (including upstream wait), per-app anomaly scores and 24-hour anomaly counts, and separate current-month gateway usage: plan, used, allowed, plus upgrade URL and checkout path on Free at 80% or above. Only POST the checkout path when the admin asks to upgrade; reading metrics never starts checkout. Project admin only. Audit may be partial: invalid-key sampling and audit-off periods are disclosed. No upstream requests, quota use or policy changes; not a health certificate or performance guarantee.
輸入參數admin_key必填project_id必填
gate_audit
Read the audit log
The most recent calls through the gateway (time, app, matched route, status, reason, duration), newest first, with totals by status and refusal reason. Gate never stores bodies, query values or headers.
輸入參數applimitstatusadmin_key必填project_id必填
gate_create_run
Grant one agent run
Gate Actions: give one agent session narrow, expiring permission. Actions are rules with {placeholders} bound by scope (e.g. "PATCH /customers/{customer}/tickets/:id" with scope {"customer":"A"}), each with an optional max and approval. Add a human approver with gate_add_approver before granting approval:true actions; without an active approver the grant is refused. Returns a run token (shown once) the agent sends as x-odile-run with its app key. Writes in a run need an Idempotency-Key. Give a write a check ("GET /bookings?idempotency_key={key}") and the agent can settle a lost answer with POST /g/<id>/_gate/recover.
輸入參數app必填labelscopeactions必填admin_key必填max_callsproject_id必填ttl_seconds
gate_set_app_runs
Require runs for an app
Make an app need a run: "writes" (every write needs x-odile-run), "all" (every call), or "off".
輸入參數app必填mode必填admin_key必填project_id必填
gate_set_response
Choose response fields for an app
Opt-in JSON response redaction: return only explicit JSON Pointer paths, e.g. /id and /items/*/name. * matches one segment; selecting a container allows its whole subtree. Applies to every upstream response for this app, including errors. Maximum 1 MiB and 5 seconds to read; invalid/non-JSON responses are withheld. No bodies are stored. A withheld reply never reverses an upstream write. null disables filtering. Free and Pro.
輸入參數app必填allow必填admin_key必填project_id必填
gate_add_approver
Add an approver
Create an approver key for the person who approves held actions (shown once), before granting approval actions. Give it to that person, never to an agent. Only an active approver key can approve, reject or reopen actions.
輸入參數name必填admin_key必填project_id必填
gate_list_actions
List held actions
Actions waiting for approval (or in another state), with the exact call. With an installed approval-risk model, pending actions sort by risk descending and include risk (0–1) and risk_features (top two advisory signals). No model means no score and newest first. Only a person decides in the dashboard.
輸入參數stateadmin_key必填project_id必填
gate_explain_refusal
Explain a refused call
What a Gate refusal means and how to fix it, from the x-gate-refused header value (e.g. route_not_allowed).
輸入參數reason必填recoverable
gate_delegate_run
Delegate a narrower run
Hand a narrower run to another active app in the same project. Uses the parent app key and run token, never the admin key. Scope, expiry, approvals and ancestor budgets stay enforced; maximum depth five.
輸入參數app必填labelactions必填app_key必填max_callsrun_token必填project_id必填ttl_seconds
gate_learn_suggestions
Read learning suggestions
Read normalized routes and a suggested per-minute limit from an admin-enabled, time-boxed learning session. Records only method, normalized path templates and counts per minute; no query values, raw ids, headers or bodies. Never enables learning or applies rules.
輸入參數app必填admin_key必填project_id必填
gate_audit_proof
Export a signed audit proof
Read chained audit rows, decided-action feature snapshots and anchors with an HMAC-SHA256 signature. No sealed paths/bodies, notes, keys or IPs in the action labels. Legacy actions lack snapshots and are excluded. store_audit=false has no chain. Follow next_from for audit rows and next_actions_after as actions_after for labels (10,000 each). Use API/SDK above the MCP response size limit.
輸入參數tofromadmin_key必填project_id必填actions_after
gate_audit_verify
Verify a signed audit export
Recompute a pasted export chain and project signature; returns intact or broken_at (one-based row position). Does not approve actions or change permissions.
輸入參數proof必填admin_key必填project_id必填
gate_run_tree
Read run tree
Read a run and its delegated descendants without tokens.
輸入參數run_id必填admin_key必填project_id必填
gate_run_timeline
Read run timeline
Read call metadata, approvals and approver names, recovery outcomes and delegated children; no bodies or query values.
輸入參數beforerun_id必填admin_key必填project_id必填
gate_create_app
Create an app
Give one app its own key and the calls it may make. Routes are rules like "GET /orders/:id", "POST /orders", "GET /users/{user}/orders" (per-user), or example calls like "GET /orders/42", which become rules allowing any id. Returns key (shown once), app.id and normalized rules. Send key as Authorization: Bearer <key> to the project gateway; never send the admin key to the workload.
輸入參數name必填modelsroutestemplateadmin_key必填per_minuteproject_id必填
gate_validate_config
Check an odile.yaml
Parse and check a declarative Gate config (apps, routes, rate limits, run mode, plugins including anomaly-guard, alerts, approvers) without changing anything. anomaly-guard settings: mode off|alert|strict, z_threshold 2–10, min_minutes 1–30, half_life 5–1440. Returns errors with their path, warnings, and the normalized config.
輸入參數config必填
gate_sync_declarative
Apply an odile.yaml
Make a Gate project match an odile.yaml: creates the project (if no project_id) and missing apps and approvers, applies run mode, loop, learning and anomaly-guard settings and alerts. Example plugin: {name: anomaly-guard, settings: {mode: alert, z_threshold: 4, min_minutes: 3, half_life: 60}}. Never revokes or deletes; differences it cannot apply (an app's routes or rate limit) come back as drift. dry_run lists the steps without changing anything. New keys are shown once.
輸入參數config必填dry_runadmin_keyproject_id