Approvals
Some actions are never an agent’s to take alone, because they give out access or send your data somewhere new: creating an API key, or adding, removing or re-enabling a webhook endpoint. An agent that needs one asks, and a person who could do it themselves decides.
How it works
Section titled “How it works”- The agent asks, with the action, its details and a reason, such as “I’m connecting acme-web and need an API key that can read the workspace”. Everyone who could approve it gets a notification.
- A person decides, from the notification or the link the agent shows. You see exactly what will happen and why, and choose Approve or Deny.
- It happens as you, with your permissions. The audit log records it under your name, along with the agent that asked.
A request expires after 24 hours, and a person can decide it only once.
Secrets stay out of the agent’s hands
Section titled “Secrets stay out of the agent’s hands”When the action creates a secret, such as an API key or a webhook signing secret, the agent never sees it:
-
Asked from the CLI: after you approve, the CLI writes the secret straight into a file in your project. It’s never printed, so an agent working in the terminal can’t read it.
Terminal window limitry workspace approval-requests create --action workspace.apiKey.create \--input '{"name":"acme-web","scopes":["checks:write"],"environment":"test"}' \--reason "Connect acme-web" --jsonlimitry workspace approval-requests redeem <id> --wait --write-env .env# Done: … Wrote LIMITRY_API_KEY to .env (the value is not shown). -
Asked by an agent over MCP: the action runs when you approve, and you see the secret, once, on the approval page.
An API key request names its environment, test or live, and the
key it creates starts with lim_test_ or lim_live_. You see which
before you approve.
What an agent can ask for in Limitry
Section titled “What an agent can ask for in Limitry”Besides API keys and webhook endpoints, an agent can ask for two Limitry actions. Owners and admins decide them.
| Action | What happens when you approve |
|---|---|
limit.credit |
Adds credits to a subject’s balance, or takes them back (a negative amount, with a note). The request names the environment, and without one the change goes to test. |
limits.copyToLive |
Copies test limits to live: all of them, or the ones listed. Before approving, Copy to live on the Limits page shows what would change. |
For developers
Section titled “For developers”GET /v1/workspace/approval-actions lists what an agent can ask for, each
with its input schema and who approves it.
POST /v1/workspace/approval-requests asks, and
GET /v1/workspace/approval-requests/{requestId} reports the decision. Asking
needs the workspace.approvals:write scope and a person’s credential:
a personal access token, or an app a person connected, but not a
workspace API key.