ReplySparrow Docs

Quickstart

Create an API key, authenticate, and understand scopes.

Authentication

Every request needs an API key sent as a Bearer token.

Open Settings → API

Sign in to ReplySparrow and go to Settings → API.

Create a key

Click Create API key, give it a name and pick the scopes it needs. Copy the key when it is shown: you can't see it again.

Send it on every request

curl -H "Authorization: Bearer YOUR_API_KEY" https://app.replysparrow.com/api/v1

The call returns the workspace and the scopes of the key.

Workspaces

A key belongs to one workspace and only reaches that workspace's data. To work on another workspace, create a key there.

Scopes

Each key only does what its scopes allow. A call without the right scope returns 403 insufficient_scope with the scope it needed.

ScopeAllows
contacts:readRead contacts and the suppression list
contacts:writeCreate and update contacts, verify emails
email:sendSend an email to a contact
campaigns:readRead lists, agents, workflows, runs and sent messages
events:readRead events, signals and signal rules
events:writePush events
signals:writePush signals
crm:read / crm:writeRead and write opportunities and pipeline stages
inbox:readRead LinkedIn conversations in the Unibox
inbox:sendSend LinkedIn messages from the Unibox
account:readRead the organization, its members, your user and your email seats

Sending email and LinkedIn messages are separate scopes on purpose: a key that edits CRM fields can't send anything. Keys created before a scope existed don't have it; create a new key to use the new routes.

Errors

StatusErrorMeaning
401invalid_api_keyThe key is missing, wrong, expired or deleted
403insufficient_scopeThe key lacks the scope in required
400e.g. invalid_requestThe body or parameters are not valid; detail says why
404not_foundNo record with this id in your workspace

Paging

Paged routes take page (starting at 1) and limit, and return the items next to the paging fields, for example List contacts:

{ "contacts": [], "total": 0, "page": 1, "limit": 20, "totalPages": 1 }

Get all campaigns, Get all lists and Get all source agents return a plain array of every item. Each endpoint page shows its exact shape and its default and maximum limit.

Team impersonation

Coming soon

Organization owners will be able to act on behalf of a member with an x-impersonate-user-id header. Until then, use a key created in that member's workspace.

On this page