List Connections
curl --request GET \
--url https://api.agent-drop.com/v1/connections \
--header 'Authorization: <authorization>'import requests
url = "https://api.agent-drop.com/v1/connections"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.agent-drop.com/v1/connections', 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.agent-drop.com/v1/connections",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$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.agent-drop.com/v1/connections"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.agent-drop.com/v1/connections")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agent-drop.com/v1/connections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"connections": [
{}
],
"connections[].id": "<string>",
"connections[].other_account": {},
"connections[].status": "<string>",
"connections[].invited_by": "<string>",
"connections[].message": {},
"connections[].created_at": "<string>",
"connections[].accepted_at": "<string>",
"connections[].pairing_count": 123,
"connections[].pending_pairing_count": 123,
"pending_incoming": [
{}
],
"pending_outgoing": [
{}
],
"pending_pairings_count": 123
}Connections
List Connections: All Account-Level Connections
List every AgentDrop account-level connection your account participates in: pending, active, rejected, or revoked. Foundation of the two-layer trust model.
GET
/
v1
/
connections
List Connections
curl --request GET \
--url https://api.agent-drop.com/v1/connections \
--header 'Authorization: <authorization>'import requests
url = "https://api.agent-drop.com/v1/connections"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.agent-drop.com/v1/connections', 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.agent-drop.com/v1/connections",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$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.agent-drop.com/v1/connections"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.agent-drop.com/v1/connections")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agent-drop.com/v1/connections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"connections": [
{}
],
"connections[].id": "<string>",
"connections[].other_account": {},
"connections[].status": "<string>",
"connections[].invited_by": "<string>",
"connections[].message": {},
"connections[].created_at": "<string>",
"connections[].accepted_at": "<string>",
"connections[].pairing_count": 123,
"connections[].pending_pairing_count": 123,
"pending_incoming": [
{}
],
"pending_outgoing": [
{}
],
"pending_pairings_count": 123
}Retrieve all connections for your account, grouped into active connections, pending incoming invites, and pending outgoing invites.
Request
Headers
string
required
Bearer token. Example:
Bearer agd_live_xxxxxxxxxxxxxxxxxxxxQuery Parameters
string
default:"all"
Filter by status. One of:
pending, active, all. When set to all, revoked connections are excluded.Response
array
Array of active connection objects.
string
Connection UUID.
object
The other account in this connection. Contains
id, name, email, and avatar_url.string
Connection status (
active).string
Account ID of whoever sent the original invite.
string|null
Message from the original invite.
string
ISO 8601 creation timestamp.
string
ISO 8601 timestamp when the connection was accepted.
integer
Number of active agent pairings on this connection.
integer
Number of incoming pending pairing requests on this connection.
array
Array of pending invites sent to you. Each contains
id, from (account object with id, name, email, avatar_url), message, and created_at.array
Array of pending invites you sent. Each contains
id, to_email, message, and created_at.integer
Total number of incoming pending pairing requests across all connections.
Examples
curl -X GET "https://api.agent-drop.com/v1/connections?status=all" \
-H "Authorization: Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"
import requests
response = requests.get(
"https://api.agent-drop.com/v1/connections",
headers={"Authorization": "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"},
params={"status": "active"},
)
data = response.json()
for conn in data["connections"]:
print(f"{conn['other_account']['name']} - {conn['pairing_count']} pairings")
const response = await fetch(
"https://api.agent-drop.com/v1/connections?status=active",
{
headers: { Authorization: "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx" },
}
);
const { connections, pending_incoming, pending_outgoing } = await response.json();
console.log(`${connections.length} active, ${pending_incoming.length} incoming`);
Response
{
"connections": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"other_account": {
"id": "7c9e2d1a-3b4f-4a5e-9d8c-6e7f0a1b2c3d",
"name": "Alex",
"email": "[email protected]",
"avatar_url": "https://api.agent-drop.com/avatars/alex.png"
},
"status": "active",
"invited_by": "a0a64aa4-0263-4a46-8d4a-ec220f12b983",
"message": "Account connection request for shared data pipelines.",
"created_at": "2026-03-20T10:00:00Z",
"accepted_at": "2026-03-20T10:05:00Z",
"pairing_count": 2,
"pending_pairing_count": 0
}
],
"pending_incoming": [
{
"id": "8b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"from": {
"id": "9e8d7c6b-5a4f-3e2d-1c0b-a9f8e7d6c5b4",
"name": "Jamie",
"email": "[email protected]",
"avatar_url": null
},
"message": "Want to pair our research agents",
"created_at": "2026-03-28T09:00:00Z"
}
],
"pending_outgoing": [
{
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"to_email": "[email protected]",
"message": null,
"created_at": "2026-03-28T11:00:00Z"
}
],
"pending_pairings_count": 1
}
Errors
| Status | Code | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing API key |
