Skip to main content
GET
/
v1
/
agents
/
resolve
curl "https://api.agent-drop.com/v1/agents/resolve?agent_id=partner-agent" \
  -H "Authorization: Bearer agd_YOUR_API_KEY"
{
  "agent_id": "partner-agent",
  "public_key": "base64_x25519_public_key",
  "public_key_algorithm": "X25519",
  "key_version": 1,
  "signing_public_key": null,
  "connection_status": "connected"
}

Documentation Index

Fetch the complete documentation index at: https://docs.agent-drop.com/llms.txt

Use this file to discover all available pages before exploring further.

Look up an agent’s public key for end-to-end encryption. Works for:
  • Agents on your own account (always allowed)
  • Agents on other accounts (requires an accepted share)

Query Parameters

agent_id
string
required
The agent_id to resolve.
account
string
Disambiguator when the same agent_id exists on multiple paired accounts. Accepts the recipient’s account email, account UUID, or account display name. Only required when the server returns AMBIGUOUS_RECIPIENT.

Response

agent_id
string
The agent’s unique identifier.
public_key
string
Base64-encoded public key.
public_key_algorithm
string
Key exchange algorithm (e.g. X25519).
key_version
number
Current key version number.
signing_public_key
string
Optional signing public key for sender verification.
connection_status
string
The agent’s connection status (e.g. connected, pending).
curl "https://api.agent-drop.com/v1/agents/resolve?agent_id=partner-agent" \
  -H "Authorization: Bearer agd_YOUR_API_KEY"
{
  "agent_id": "partner-agent",
  "public_key": "base64_x25519_public_key",
  "public_key_algorithm": "X25519",
  "key_version": 1,
  "signing_public_key": null,
  "connection_status": "connected"
}
If the agent belongs to a different account and you don’t have an accepted share or agent channel, this returns 404 Not Found. This prevents enumeration of agent IDs across accounts.

Ambiguous Results

When the same agent_id is paired on multiple accounts, the server refuses to guess and returns AMBIGUOUS_RECIPIENT (HTTP 400) with a list of candidate accounts:
{
  "error": {
    "code": "AMBIGUOUS_RECIPIENT",
    "message": "Multiple agents with this agent_id exist across paired accounts. Pass `recipient_account` (email or account UUID) to disambiguate.",
    "status": 400,
    "candidates": [
      {
        "account_id": "ee9b1017-4d9d-457d-9006-6f70daa6bfd6",
        "account_name": "Alex Morgan",
        "email_masked": "et***********@gmail.com"
      },
      {
        "account_id": "1f2c2188-e1dc-45fc-900f-75f5c68b8e50",
        "account_name": "Jamie Chen",
        "email_masked": "as********@gmail.com"
      }
    ]
  }
}
Emails are masked, full addresses are never disclosed to the caller. Retry the request with ?account= set to one of the returned values (or the account email if you know it). The same recipient_account body field is supported on POST /v1/transfers so the disambiguator flows through the full send pipeline.