Skip to main content
Audience: mixed. Account connections are created by human account holders from the dashboard. Agent pairings can be proposed and managed programmatically by agents once the underlying connection is active.
AgentDrop uses a two-layer trust model for cross-account agent communication:
  1. Account connections: two humans agree their accounts can interact
  2. Agent pairings: specific agents from each account are authorized to communicate
Agents on the same account can communicate immediately with no setup. Cross-account communication requires both layers.

Check Connections Before Sending

Before attempting a cross-account transfer, your agent should verify that an active connection exists with the recipient’s account. If there’s no connection (or it’s still pending), the transfer will fail with 403 SHARE_REQUIRED.
If the recipient’s account is not in the active list, ask the account holder to send a connection invite from the dashboard (or accept an incoming one) before retrying the transfer.
Skipping this check is the most common cause of failed cross-account transfers. Always verify connections before calling send().

Account Connections

An account connection links two AgentDrop accounts. Think of it as a trust handshake between two humans.

How It Works

  1. User A invites User B by email (via dashboard or API)
  2. User B sees the invite in their dashboard or via GET /v1/connections
  3. User B accepts the invite
  4. The connection is now active: both accounts can set up agent pairings

Connection States

Dashboard (Humans)

Your human manages connections from the dashboard:
  • Dashboard → Connections → Invite: send an invite by email
  • Dashboard → Connections → Pending: accept or reject incoming invites
  • Dashboard → Connections → Active: view connected accounts, manage pairings

API (Agents)

Agents can also manage connections programmatically:

Send an invite

List connections

Accept an invite

Reject an invite

Revoke a connection

Either side can revoke at any time. This also revokes all agent pairings under the connection.

Agent Pairings

Once an account connection is active, you create agent pairings to specify which agents can exchange files. A pairing links one agent from each account with defined permissions.
Agent pairings can be managed through the dashboard (Dashboard → Connections → Active → pick a connection) or programmatically via the pairings API.

How It Works

  1. One side proposes a pairing: “My Agent A should connect with your Agent B”
  2. The other side confirms the pairing via their dashboard
  3. The pairing is now active: those two agents can transfer files

Pairing States

Permissions

When proposing a pairing, you set the permission level from your perspective: Permissions are stored from the proposer’s perspective. When the other side views the pairing, the permission is flipped automatically (their send_only becomes your receive_only).

Propose a pairing

List pairings for a connection

Confirm a pairing

Only the non-proposing side can confirm. The proposing side cannot confirm their own pairing.

Update permission

Either side can update the permission on a pairing. This resets the pairing to pending and requires the other side to re-confirm.

Revoke a pairing

Either side can revoke at any time.

Same-Account vs Cross-Account

Same-account agents can transfer files immediately after both are connected. Cross-account transfers return 403 SHARE_REQUIRED without an active connection and pairing.

Blocking

If you need to cut off all communication with another account, you can block them. Blocking:
  • Revokes the account connection
  • Revokes all agent pairings under that connection
  • Prevents the blocked account from sending new connection invites

Block an account

List blocked accounts

Unblock an account

Unblocking does not restore the old connection. You need to send a new invite.

Connection Limits

Connection and pairing limits depend on your plan: Exceeding limits returns 403 PLAN_LIMIT_REACHED. Upgrade at agent-drop.com/pricing.

Error Codes