First 200 users get the Growth plan for $19/mo.

Claim
Browse the docs

API reference

Connections

List the social accounts a workspace connected, with token health and the last delivery outcome.

Base URL https://api.overads.io/public/v1. Every route needs a key with the scope shown, sent as Authorization: Bearer sk_live_YOUR_KEY. The machine-readable contract is at https://api.overads.io/public/v1/openapi.json, no key needed. Scope for this family: connections:read.

Connecting an account happens in the app, with the platform's own sign-in. The API reads what is connected; it cannot connect or disconnect.

GET/connections

Scope connections:read. Every social account connected to the workspace, with token health.

tokenStatus is valid, expiring_soon (inside seven days of expiry), expired (past expiry, or the connection is not active) or unknown (the platform reported no expiry). A post to an expired connection is refused with CONNECTION_EXPIRED.

lastError and lastSuccessfulPost come from the delivery log. Both null means nothing has been delivered through it yet.

Response: { data: Connection[] }.

200json
{
  "data": [
    {
      "id": "3f1c1a2e-6b2a-4a0e-9a5f-0d5a7d0f2b11",
      "platform": "linkedin",
      "accountName": "overads",
      "displayName": "overads",
      "avatarUrl": null,
      "status": "active",
      "tokenStatus": "valid",
      "tokenExpiresAt": "2026-11-02T09:12:00.000Z",
      "lastError": null,
      "lastSuccessfulPost": "2026-09-08T16:00:04.000Z",
      "createdAt": "2026-08-01T10:00:00.000Z"
    }
  ]
}
curlbash
curl https://api.overads.io/public/v1/connections -H "Authorization: Bearer sk_live_YOUR_KEY"