> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inboxapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Account links

> The platform accounts your team connected to Inboxapp

An account link is one of your accounts on a platform. Every thread belongs to one, and every message is sent from one.

Accounts are linked and unlinked in the Inboxapp app, under **Settings → Accounts**. The API reads them.

## List account links

```bash theme={null}
curl "https://inboxapp.com/api/v2/account-links" \
  -H "Authorization: Bearer $INBOX_API_TOKEN"
```

```json theme={null}
{
  "data": [
    {
      "id": "df6jbw4h36qm5d9iu2sgn7kx",
      "platform": "twitter",
      "platformId": "1566123362161725440",
      "username": "acmecorp",
      "displayName": "Acme Corp",
      "avatarUrl": "https://pbs.twimg.com/profile_images/1566123362/acme.jpg",
      "status": "active",
      "pauseReasons": [],
      "capabilities": [
        "message:send",
        "message:edit",
        "message:react",
        "thread:typing:send"
      ],
      "syncedAt": "2026-09-14T10:30:00.000Z",
      "createdAt": "2026-01-12T09:45:00.000Z"
    }
  ],
  "nextCursor": null
}
```

Filter with `platform` and `status`, repeating a key to match several values.

## Status

| `status` | Meaning | What to do |
| - | - | - |
| `active` | Sends and syncs | — |
| `paused` | Stopped for the reasons in `pauseReasons` | Resolve each reason. It resumes on its own |
| `offline` | Lost its connection to the platform | Reconnect the account in Inboxapp |

Sending from an account that isn't `active` fails with `409 accountLinkDisconnected`. `details.status` says which.

`pauseReasons` is a list of strings such as `billing`. New reasons can be added, so show unknown ones as they are.

## Capabilities

`capabilities` lists what this account can do right now. It is its platform's capabilities, narrowed by the account's own state.

```typescript theme={null}
const senders = accountLinks.filter(
  (link) =>
    link.status === "active" && link.capabilities.includes("message:send"),
);
```

A call that needs a capability the account lacks fails with `422 capabilityNotSupported`, with the capability in `details`. See [Platforms and capabilities](/v2/platforms).

## Sending from several accounts

Rate limits are per team, not per account. Platforms also limit each account on their side: when one does, the API returns `429 platformRateLimited` with `details.retryAfterSeconds`.

```typescript theme={null}
function pickSender(accountLinks: AccountLink[], platform: string) {
  const available = accountLinks.filter(
    (link) =>
      link.platform === platform &&
      link.status === "active" &&
      link.capabilities.includes("message:send"),
  );

  if (available.length === 0) {
    throw new Error(`No active ${platform} account can send`);
  }

  return available[Math.floor(Math.random() * available.length)];
}
```

A `profile` target's `platform` must be the account link's platform. A mismatch fails with `422 platformNotSupported`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.