Register an app
gate_create_appGive 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 to the project gateway; never send the admin key to the workload.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The app name, e.g. "storefront" or "nightly sync" | |
| models | No | For a model API: the only models this app may ask for, exact names or a prefix ending in * (e.g. ["gpt-4.1-mini", "claude-haiku-*"]). Omit for no model limit. | |
| routes | No | Only the calls this app makes, one "METHOD /path" per item | |
| template | No | Ready-made API policy: reads allowed, risky writes held, destructive calls refused. Explicit routes replace the entire template policy. Free and Pro; configure the project upstream first. See /templates. | |
| admin_key | Yes | The project admin key (ga_...). Read it from the .env; never print it. | |
| max_calls | No | Pro: optional lifetime call allowance for this app. Rotation preserves its count. | |
| expires_at | No | Pro: optional future ISO time with timezone, at most 30 days from creation. Rotation preserves this expiry. | |
| per_minute | No | Calls per minute for this app (default 60) | |
| project_id | Yes | The project id from gate_create_project, e.g. p1a2b3... |