Endpoints
POST /v1/discover
Search for endpoints using natural language. Free.
Search the catalog with a short natural-language query. Ranked. Free.
Request
POST /v1/discoverHeaders
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <api-key> |
Content-Type | Yes | application/json |
Body
| Field | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Natural-language search |
limit | number | No | Max results, 1–50 (default 5) |
minScore | number | No | Drop results scoring below this |
includeUnavailable | boolean | No | Include outage/unconfigured endpoints (default false) |
Example
curl -X POST https://api.toolplexer.com/v1/discover \
-H "Authorization: Bearer tpl_live_..." \
-H "Content-Type: application/json" \
-d '{
"query": "web search",
"limit": 5
}'Response
200 OK
| Field | Type | Description |
|---|---|---|
items | array | Matching endpoints |
items[].provider | string | Provider slug |
items[].slug | string | Endpoint slug (pass as endpoint to inspect/run) |
items[].name | string | Display name |
items[].description | string | What it does |
items[].price | object | kind plus micro-dollar amounts |
items[].verified | boolean | Operator-verified |
items[].availability | object | { available, reason } |
items[].health | object | Status plus p50/p95 latency |
items[].tags | string[] | |
items[].score | number | Relevance (when query is set) |
hints | array | Next-step guidance |
Example
{
"items": [
{
"provider": "exa",
"slug": "/search",
"name": "Exa Search",
"description": "Web search",
"price": { "kind": "PER_CALL", "flatUsdMicro": 5000 },
"verified": true,
"availability": { "available": true, "reason": null },
"health": { "status": "healthy", "runTimeMs": { "p50": 440, "p95": 1200 } },
"tags": ["search"],
"score": 0.87
}
]
}Next
Use POST /v1/inspect before you spend.
ToolPlexer