File an access request
Files a request for access. Any member may call it, with no permission required, because asking for a permission must not itself need one. A request is always filed as the caller, so the body carries no requester. permission is required and must be a known permission name when reason is "permission", and forbidden (400) when reason is "restriction": a restriction refusal never names the rule that blocked someone, and this resource must not become a second way to learn it. reason is never "scope", because a scope refusal has no admin-side fix.
Filing never grants anything. It creates a record for an admin to decide; approving a restriction-reason request is what can lift the restriction (see POST /access-request/{id}/resolve).
De-duplicated. A second request for the same tool while an earlier one from the same requester is still pending returns the existing row (updating note when a different one was sent) with 200. A genuinely new row is 201.
A tool request that could never be granted is refused. A restriction-reason "tool" request naming a connector_slug whose whole connector is restricted for the caller is 409 tool_request_connector_blocked: approving it would lift nothing, because one tool cannot be carved out of a connector restricted whole. The message names the connector and says to ask for it instead; error.details carries connector_slug, connector_label and pending_request (the caller’s own open connector request, or null). Every tool row that can draw an ask carries restricted_scope ("connector", "tool" or null), so a client can file the connector request up front.
Request
- Base URL: https://api.elaichi.ai
- URL: https://api.elaichi.ai/access-request
- Auth: HTTP bearer
Headers
Target organization (org_…). Required for cookie/session auth on org-scoped routes; optional for API tokens, which carry their organization, and rejected when it names a different one.
Request body
Response
De-duplicated onto an existing pending request
Changes
No recorded changes to this operation across all 1 revision of this API.