API Documentation
Everything you need to integrate with the Uno API gateway.
All API requests require an API key passed via the Authorization header.
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.uno.dev/v1/servers
POST /v1/search — Semantic search across all registered tools. Returns ranked results with relevance scores.
curl -X POST https://api.uno.dev/v1/search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "get stock price", "limit": 10}'POST /v1/call — Execute a specific tool by its slug with the given parameters.
curl -X POST https://api.uno.dev/v1/call \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_slug": "twelve-data--stock-quote",
"params": {"symbol": "AAPL"}
}'POST /v1/smart_call — Describe what you want in natural language. The AI engine selects and executes the right tool(s).
curl -X POST https://api.uno.dev/v1/smart_call \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"intent": "What is the current price of Apple stock?"}'GET /v1/servers — Returns all registered servers with their metadata and tool counts.
curl https://api.uno.dev/v1/servers \ -H "Authorization: Bearer YOUR_API_KEY"
GET /v1/servers/{slug}/tools — Returns all tools for a specific server.
curl https://api.uno.dev/v1/servers/twelve-data/tools \ -H "Authorization: Bearer YOUR_API_KEY"
Manage authentication connections to external services. For OAuth2 services (GitHub, Slack), creating a connection will return an authorization URL.
# Create a connection
curl -X POST https://api.uno.dev/v1/connections \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"server_slug": "twelve-data",
"auth_type": "api_key",
"credentials": {"api_key": "your_twelve_data_key"}
}'
# List connections
curl https://api.uno.dev/v1/connections \
-H "Authorization: Bearer YOUR_API_KEY"Create custom scopes to expose a fixed subset of servers/tools, ideal for vertical use cases.
curl -X POST https://api.uno.dev/v1/scopes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "finance-only",
"server_slugs": ["twelve-data"],
"tool_slugs": []
}'Uno exposes MCP-compatible endpoints at three levels: Gateway, Server, and Scope. POST JSON-RPC requests following the MCP standard.
# Gateway-level MCP (all meta-tools)
curl -X POST https://api.uno.dev/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
# Server-level MCP (tools for a specific server)
curl -X POST https://api.uno.dev/mcp/s/twelve-data \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
# Scope-level MCP
curl -X POST https://api.uno.dev/mcp/scope/1 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'All errors follow a consistent format with HTTP status codes and descriptive messages.
# Common error responses:
# 401 - Invalid or missing API key
# 403 - Insufficient permissions
# 404 - Resource not found
# 429 - Rate limit / quota exceeded
# 500 - Internal server error
# Example error response:
{
"detail": "Quota exceeded. Please upgrade your plan."
}