GET /tool-endpoints
Updated Oct 1, 20261 minute read
Read the tool endpoints
Every route the agent looks to for your tools, and what the last sync found at each one. The endpoints are the truth, but the agent answers from what was synced. Any member's OAuth token can read this.
Part of Tool endpoint.
Responses
| Status | Description |
|---|---|
200 | The endpoints and their tools. |
401 | missing_api_key: no bearer token. invalid_api_key: the key matches no organization or was revoked. publishable_key: a median_pk_ key was sent. invalid_token: the OAuth token is unknown or expired. |
403 | With an OAuth token, no_organization when no organization is bound. |
429 | The organization's API allowance for this class of request is used up. Wait the Retry-After header's seconds. Limits depend on the plan. See rate limits. |
200 body
| Field | Type | Required | Description |
|---|---|---|---|
endpoints | object[] | Yes | Every connected route and the tools its last successful sync found. |
endpoints[].id | string | Yes | |
endpoints[].url | string | Yes | The route the agent calls. |
endpoints[].status | "syncing" | "ready" | "error" | Yes | Where the last sync got to. |
endpoints[].error | any | Yes | Why the last sync failed, when it did. |
endpoints[].lastSyncedAt | any | Yes | When the manifest was last read, in milliseconds. |
endpoints[].tools | object[] | Yes | |
endpoints[].tools[].name | string | Yes | |
endpoints[].tools[].description | string | Yes | |
endpoints[].tools[].risk | "low" | "medium" | "reviewed" | "high" | Yes | How the tool is gated. low runs freely. medium waits for the visitor's yes. reviewed waits for the visitor's yes, then an automatic review of the conversation decides. high waits for a teammate's approval. |
endpoints[].tools[].enabled | boolean | Yes | Whether the agent may hold it. |
endpoints[].tools[].syncedAt | integer | Yes | When this tool last arrived, in milliseconds. |
Example response
{
"endpoints": [
{
"id": "k170abc123",
"url": "https://example.com/api/median/orders",
"status": "ready",
"error": null,
"lastSyncedAt": 1737000000000,
"tools": [
{
"name": "orderStatus",
"description": "Look up an order.",
"risk": "low",
"enabled": true,
"syncedAt": 1737000000000
}
]
}
]
}Example request
curl https://api.median.sh/v1/tool-endpoints \
-H "Authorization: Bearer $MEDIAN_KEY"