elaichi__access_request__resolve
Approve or deny a pending access request that SOMEONE ELSE filed. Needs member:manage, and refuses (403) a request the caller filed themselves however many permissions they hold — a decision is a record that a second person reviewed the ask, and one signed by its own requester reads downstream exactly like one that was not. An admin who no longer needs what they asked for uses access_request.withdraw on their own row instead. THIS RECORDS A DECISION — IT DOES NOT GRANT ANYTHING, with one exception that is the reason this is refused here: approving a reason:"restriction" request in the Elaichi web app now actually LIFTS the restriction it names, and restrictions are read-only on this surface (see restriction.list), so that must never happen by the back door. Approving a reason:"permission" request only sets this request’s own status and an optional note back to the requester; the requester’s role and restrictions are completely untouched, and nothing about what they can call changes because of this call. To actually widen what they can do, follow up with member.set_roles or the restriction APIs. Refuses (error) a request that has already left "pending" — a decision is recorded once. Returns the resolved request. NOT CALLABLE FROM ANY AI SURFACE, in-app agent or MCP: this needs step-up reauthentication (confirming it is really you), which neither surface can ask for, so every call from here is refused — denials included, since the gate is on the route and not on the decision. Say what needs doing and tell the user to do it in Governance → Access requests in the Elaichi app.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Access request id (`areq_…`) from access_request.list. Must be somebody else’s request — a row whose `can_resolve` is false is either already decided or your own, and both are refused. | |
| note | No | Optional note back to the requester explaining the decision. | |
| decision | Yes | The decision to record. Not "withdrawn" — only the requester can withdraw their own request. |