Discovery API
Unified discovery endpoint for PraisonAI servers
Discovery API
The discovery endpoint provides a unified way to discover all available providers and endpoints on any PraisonAI server.
Overview
Every PraisonAI server exposes /__praisonai__/discovery which returns a JSON document describing:
- Server name and version
- Available providers (e.g. agents-api, a2a, a2u — only those the server actually mounts)
- Available endpoints with their capabilities
When to Use
- Client discovery: Automatically discover server capabilities
- Health monitoring: Verify server is running with expected providers
- Integration: Build clients that adapt to available endpoints
Base URL + Playground
# Start server
praisonai serve unified --host 127.0.0.1 --port 8765Base URL: http://127.0.0.1:8765
Request
noneNo parameters required.
Example Request
curl http://127.0.0.1:8765/__praisonai__/discoveryimport requests
response = requests.get("http://127.0.0.1:8765/__praisonai__/discovery")
discovery = response.json()
print(discovery)const response = await fetch("http://127.0.0.1:8765/__praisonai__/discovery");
const discovery = await response.json();
console.log(discovery);Response
stringDiscovery schema version (e.g., “1.0.0”)
stringServer name (e.g., “praisonai-unified”)
stringServer version
arrayList of available providers
Provider object
stringProvider type: agents-api, recipe, mcp, tools-mcp, a2a, a2u
stringHuman-readable provider name
stringProvider description
arrayList of capabilities (e.g., ["invoke", "health"])
arrayList of available endpoints
Endpoint object
stringEndpoint name
stringEndpoint description
stringProvider type this endpoint belongs to
arrayStreaming modes: ["none"], ["sse"], ["websocket"]
Example Response
{
"schema_version": "1.0.0",
"server_name": "praisonai-unified",
"server_version": "1.0.0",
"providers": [
{
"type": "agents-api",
"name": "Agents API",
"capabilities": ["invoke"]
},
{
"type": "a2a",
"name": "A2A Protocol",
"capabilities": ["agent-card", "message-send"]
},
{
"type": "a2u",
"name": "A2U Event Stream",
"capabilities": ["subscribe", "stream"]
}
],
"endpoints": [
{
"name": "agents",
"description": "Agents workflow endpoint",
"provider_type": "agents-api"
},
{
"name": "events",
"description": "Agent event stream",
"provider_type": "a2u",
"streaming": ["sse"]
}
]
}Errors
| Status | Description |
|---|---|
| 200 | Success |
| 500 | Server error |
CLI Equivalent
# List endpoints from a server
praisonai endpoints list --url http://127.0.0.1:8765
# Get discovery document
praisonai endpoints discovery --url http://127.0.0.1:8765
# Filter by provider type
praisonai endpoints list --url http://127.0.0.1:8765 --type agents-apiConfiguration
The discovery document is automatically generated based on the server type:
| Server Type | Providers Included |
|---|---|
unified | All providers |
agents | agents-api |
recipe | recipe |
mcp | mcp |
tools | tools-mcp |
a2a | a2a |
a2u | a2u |
Notes
- Discovery is always available at
/__praisonai__/discovery - No authentication required for discovery endpoint
- Use discovery to build adaptive clients
- Schema version follows semver
Related
- Health API – Health check endpoint
- Endpoints CLI – CLI for endpoint discovery