List every sender account the workspace has connected, optionally filtered by channel.
type, campaign creation fails.
The ?type=linkedin|email query filter restricts the list to a single channel. Omit it to get both.
?type=... filter before createCampaign — the create call returns 400 if no sendable account of the requested channel exists. Filter by type rather than fetching everything and filtering client-side.Empty array is not an error. A filtered list with no matches means the user hasn’t connected an account of that channel yet. Direct the human to connect one:POST /api/unipile/connect — requires an interactive OAuth handshake you cannot complete autonomouslyPOST /api/email/accounts — also OAuth-drivenaccount.status when picking a sender:connected only (or warming with admin override)active only (or warming with admin override)pending, credentials_required, error, disconnected, banned, suspended) is unsendable — surface the status to the human and stop.Ordering. Accounts come back newest-first by created_at.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Filter to a single channel. Use type=linkedin before creating a LinkedIn campaign and type=email before an email campaign. Campaign creation fails (400) if no account of the matching type exists.
linkedin, email Flat list of accounts. Empty array when the user has no accounts (or none match the filter) — this is not an error.
Ordered newest-first by created_at.