Documentation Index
Fetch the complete documentation index at: https://noorle.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Agent-to-Agent (A2A) protocol enables communication between agents and external systems.
Gateway URL
https://agent-{gateway-id}.noorle.com
Supported Transports
| Transport | Method | Use Case |
|---|
| JSON-RPC 2.0 | POST | Stateless, simple |
| WebSocket | WS | Persistent connection, streaming |
| SSE | POST + GET | Event-based streaming |
Authentication
All transports require OAuth token:
# Header
curl -H "Authorization: Bearer eyJhbGc..." \
https://agent-{gateway-id}.noorle.com/message/send
# WebSocket query param
wss://agent-{gateway-id}.noorle.com/ws?token=eyJhbGc...
Main Methods
Get Agent Card
{
"method": "GET /.well-known/agent-card.json",
"response": {
"name": "My Agent",
"description": "Agent description",
"capabilities": ["tool1", "tool2"]
}
}
Send Message
{
"jsonrpc": "2.0",
"method": "message/send",
"params": {
"message": "What's the weather?",
"context": {}
},
"response": {
"text": "Response...",
"task_id": "task-123"
}
}
Stream Message
{
"jsonrpc": "2.0",
"method": "message/stream",
"params": {
"message": "What's the weather?",
"context": {}
},
"response": [
{"event": "token", "data": "The "},
{"event": "token", "data": "weather..."}
]
}
Get Task Status
{
"method": "GET /tasks/{id}",
"response": {
"id": "task-123",
"status": "completed",
"result": "weather is sunny"
}
}
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"text": "Agent response",
"task_id": "task-123"
}
}
Error Handling
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32603,
"message": "Agent error"
}
}
Next Steps