Delegate a task to a remote A2A peer
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"task": {
"id": "agentA2aTask_7c1f",
"agent_id": "agent_9f2c",
"direction": "outbound",
"skill_id": "chat",
"status": "completed",
"peer_url": "https://peer.example.com/agents/billing/a2a",
"created_at": "2026-07-27T12:34:56.000Z",
"updated_at": "2026-07-27T12:35:10.000Z"
},
"peer_task": {
"id": "task_remote_44",
"status": "completed"
}
},
"meta": {
"request_id": "req_8a1f2e",
"timestamp": "2026-07-27T12:34:56.000Z"
}
}Agents
Delegate a task to a remote A2A peer
Operator-initiated outbound A2A delegation: send a skill request to a known remote peer agent over the signed A2A client, persist the envelope as an outbound task, and return the local task plus the peer’s response. Restricted to owner, admin, and developer roles because it spends LLM tokens and invokes a remote peer’s compute. The peer_url is re-validated against SSRF rules on every call.
POST
/
api
/
v1
/
agents
/
{id}
/
a2a
/
tasks
/
outbound
Delegate a task to a remote A2A peer
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/agents/{id}/a2a/tasks/outbound")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"task": {
"id": "agentA2aTask_7c1f",
"agent_id": "agent_9f2c",
"direction": "outbound",
"skill_id": "chat",
"status": "completed",
"peer_url": "https://peer.example.com/agents/billing/a2a",
"created_at": "2026-07-27T12:34:56.000Z",
"updated_at": "2026-07-27T12:35:10.000Z"
},
"peer_task": {
"id": "task_remote_44",
"status": "completed"
}
},
"meta": {
"request_id": "req_8a1f2e",
"timestamp": "2026-07-27T12:34:56.000Z"
}
}⌘I