Docs
Ads

List live ad campaigns

GEThttps://api.norreach.app/v1/ad-campaigns

The campaigns in the workspace's connected ad accounts as the hourly sync last saw them: network, status (active, paused, other), whether one of Nora's launches made it (from_norreach, launch_id), its daily budget in minor units when it has one at campaign level, and whether NorReach can switch it on and off (can_switch — Meta today). Filter by network and status. There is no operation that makes, generates or searches ads — new ads come from a plan (POST /briefs), and Nora builds the launch.

ads:readOperation id: list_ad_campaigns
GET/ad-campaigns
curl -X GET "https://api.norreach.app/v1/ad-campaigns" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
List live ad campaigns
{
  "object": "list",
  "data": [
    {
      "id": "4e5f6a7b-8c9d-4e0f-9a1b-2c3d4e5f6a7b",
      "object": "ad_campaign",
      "network": "meta",
      "ad_account_id": "7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a",
      "name": "Nurses SE — leads",
      "status": "active",
      "from_norreach": true,
      "launch_id": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
      "daily_budget": null,
      "can_switch": true
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Authorizations

Authorizationstringheaderrequired

Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope ads:read. API keys and scopes

Query parameters

networkenumquery

meta, tiktok, reddit or chatgpt.

One of:metatiktokredditchatgpt
statusenumquery
One of:activepausedother

Response

200application/json— List live ad campaigns

object"list"required
dataobject[]required
Show child attributes
data[].idstring (uuid)required

An id (UUID).

data[].object"ad_campaign"required
data[].networkenumrequired
One of:metatiktokredditchatgpt
data[].ad_account_idstring (uuid) | nullrequired
data[].namestringrequired
data[].statusenumrequired

active, paused, or other (in review, deleted, archived …).

One of:activepausedother
data[].from_norreachbooleanrequired

Made by one of Nora's launches — only these can be switched back on from NorReach (within the plan's daily cap).

data[].launch_idstring (uuid) | nullrequired
data[].daily_budgetobject | nullrequired

The campaign's daily budget, when it has one at campaign level.

data[].can_switchbooleanrequired

Pause / resume work from NorReach for this network.

has_morebooleanrequired
next_cursorstring | nullrequired

Errors

Errors are application/problem+json with a stable code.

StatusCodeMeaning
400bad_requestThe request couldn't be read.
400unknown_fieldThe request has a field this operation doesn't know.
401unauthorizedA valid API key is required.
403insufficient_scopeThis API key doesn't have the scope this operation needs.
403feature_not_enabledThe API isn't switched on for this workspace.
429rate_limitedToo many requests. Slow down and try again.
500server_errorSomething went wrong on our side.
503unavailableThe API isn't available right now. Try again shortly.