Skip to content

OutboundSync API

When to use this guide: You want a programmatic way to verify an OutboundSync API key, inspect which CRM connections it can access, check whether your sync pipeline is ready, or help an AI coding assistant build against OutboundSync.

The OutboundSync API is the developer surface for OutboundSync itself. It is separate from the Smartlead, Instantly, EmailBison, HeyReach, and other platform API keys you save so OutboundSync can read from those tools.

The API is in Beta. Introspection endpoints (/me, /account/status, /connections, /sources) are stable and read-only. Webhooks and the event log add the first write-capable routes. We may add fields and endpoints as the surface grows.

Pick the path that matches where you are:

Machine-readable contract (OpenAPI 3.1):

Account endpoints live under /api/v1 and use Bearer authentication:

https://app.outboundsync.com/api/v1
Authorization: Bearer osapi_<your-secret>

Platform health endpoints (/health/live, /health/ready) and OpenAPI discovery do not require a key. See Platform health endpoints.

The public API separates sources → destinations from webhooks: a source is an inbound URL you paste into a sequencer (UI: Sources), a destination is either a Forwarding destination URL or a Reply relay that CC’s a sales rep on prospect replies, and webhooks are OutboundSync-emitted Sync Monitoring events delivered to endpoints you register (UI: Webhooks).

EndpointAuthPurpose
GET /health/liveNoneIs the platform process up?
GET /health/readyNoneCan it receive and sync events right now?
GET /api/v1/openapi.jsonNoneOpenAPI 3.1 document (JSON).
GET /api/v1/openapi.yamlNoneOpenAPI 3.1 document (YAML).
GET /api/v1/meBearerValidate the key, list accessible CRM connections, discover related endpoints via links.
GET /api/v1/account/statusBearerPipeline readiness with blockers[] and warnings[].
GET /api/v1/account/metricsBearerRequest, sync, and destination-delivery counts for a from/to date range (max 31 days).
GET /api/v1/connectionsBearerCRM connections with OAuth status and plan capabilities.
GET /api/v1/sourcesBearerInbound paste URLs, platform config, and destination bindings.
GET /api/v1/requestsBearerInbound receipts for a from/to date range (max 31 days).
GET /api/v1/syncsBearerCRM sync attempts for a from/to date range (max 31 days).
POST /api/v1/syncs/:id/retryBearer (write)Enqueue a HubSpot/Salesforce Error sync retry.
GET /api/v1/destinationsBearerForwarding destination catalog (list + get).
GET /api/v1/destinations/:id/deliveriesBearerOutbound delivery attempts for one forwarding destination.
GET /api/v1/deliveriesBearerAccount-wide destination delivery export for a from/to date range.
POST /api/v1/destinations/:id/deliveries/:deliveryId/replayBearer (write)Enqueue a replay of one destination delivery.
GET /api/v1/destinations/reply-relaysBearerReply relay catalog for accessible connections.
/api/v1/webhooksBearerRegister and manage Webhooks (Sync Monitoring).
/api/v1/eventsBearerQueryable platform event log and delivery history.

Full request and response shapes live in the API v1 reference. Use Try the API for health, account, and webhook endpoints from the browser when OpenAPI lists them; fetch the OpenAPI URLs directly for discovery (they are not in the console menu). How-to for Sync Monitoring: OutboundSync webhooks.

Sequence diagram showing a client calling GET /api/v1/me with a Bearer API key, OutboundSync applying an IP rate limit, validating the key hash, resolving API-enabled CRM connections, and returning a MeResponse.
How OutboundSync validates an API key before returning account and connection details.

Prefer the in-docs console when you can — Try the API needs no tooling. Use GET /api/v1/me as the first authenticated request. A successful response proves the key is valid and shows whether it is account-wide or scoped to one CRM connection.

curl 'https://app.outboundsync.com/api/v1/me' \
  -X GET \
  -H 'Authorization: Bearer osapi_<your-secret>'

For how the API, Skills, and Sync Monitoring Webhooks fit one agentic loop, start at AI and Agents.

For API vocabulary and routing, launch readiness, or Sync Monitoring from an agent, use the public Agent Skills — start with Install skills instead of pasting a long rule:

Terminal window
npx skills add outboundsync/skills --skill api -g
npx skills add outboundsync/skills --skill preflight -g
npx skills add outboundsync/skills --skill sync-monitoring -g

See API, Preflight, and Sync monitoring.

For a quick key check only, paste this into Cursor, Claude Code, Codex, or another coding assistant after you create an API key:

Verify my OutboundSync API key against GET https://app.outboundsync.com/api/v1/me.
Docs: https://outboundsync.com/docs/api/v1/
OpenAPI: https://app.outboundsync.com/api/v1/openapi.json
Use Bearer authentication. Parse the connections array and tell me which CRM connections this key can access.

OutboundSync docs pages also have mirrored Markdown endpoints under /content/docs/...md/, so coding assistants can retrieve the same reference content in a machine-readable form.