Skip to content
Median
Esc
↑↓navigate↵open⌘Jpreview

List approvals

Everything pending in the organization, newest first. Name a conversation to get its whole recent history instead, settled rows included.

GET/tool-approvals
Authorization
AuthorizationBearer token · headerrequired
`MEDIAN_KEY` from Settings under API, or an MCP OAuth access token. A key acts as the organization; a token acts as the person who approved it.
Query parameters
conversationstring
A conversation id, for its recent approvals.
Responses
200The approvals.
approvalsApproval[]
Show properties
Array of Approval
idstring
conversationIdstring
toolNamestring
toolDescriptionstring
inputstring
The call's arguments, as serialized JSON.
statusstring
Allowed:pendingexecutingsucceededfaileddeniedexpired
initiatedBystring
Allowed:agentteammate
requestedAtinteger
expiresAtinteger
resolvedByNamestring | null
resolvedAtinteger | null
resultstring | null
What the endpoint answered, on a call that got that far.
errorstring | null
401The bearer token is missing, revoked, or expired.
errorobject
Show properties
codestring
messagestring
429Too many requests. Wait the seconds in `Retry-After`. Limits depend on the plan. See [rate limits](/api/errors-and-limits#rate-limits).
errorobject
Show properties
codestring
messagestring
Request
curl -X GET "https://api.median.sh/v1/tool-approvals" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "approvals": [
    {
      "id": "string",
      "conversationId": "string",
      "toolName": "string",
      "toolDescription": "string",
      "input": "string",
      "status": "pending",
      "initiatedBy": "agent",
      "requestedAt": 0,
      "expiresAt": 0,
      "resolvedByName": "string",
      "resolvedAt": 0,
      "result": "string",
      "error": "string"
    }
  ]
}