Docs
Ads

List ad accounts

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

The ad accounts connected to the workspace, per network: name, currency (every amount on the account is in it), time zone, sync state and whether Nora's launches can be published to it from NorReach now. A Meta account's spending limit: GET / PUT /ad-accounts/{id}/spending-limit. Connecting accounts and billing are managed in the app and in the ad network — never through the API.

ads:readOperation id: list_ad_accounts
GET/ad-accounts
curl -X GET "https://api.norreach.app/v1/ad-accounts" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
List ad accounts
{
  "object": "list",
  "data": [
    {
      "id": "7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a",
      "object": "ad_account",
      "network": "meta",
      "network_name": "Meta",
      "name": "Example Care",
      "account_number": "act_1234567890",
      "currency": "SEK",
      "timezone": "Europe/Stockholm",
      "status": "active",
      "is_default": true,
      "can_publish": true,
      "last_synced_at": "2026-11-05T09:15:02.000Z",
      "sync_problem": null
    }
  ],
  "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

Response

200application/json— List ad accounts

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

An id (UUID).

data[].object"ad_account"required
data[].networkenumrequired
One of:metatiktokredditchatgpt
data[].network_namestringrequired
data[].namestringrequired
data[].account_numberstring | nullrequired

The ad network's own number for the account, as the app shows it.

data[].currencystring | nullrequired

ISO-4217; every amount on this account is in it.

data[].timezonestring | nullrequired
data[].statusenumrequired
One of:activesyncingerror
data[].is_defaultbooleanrequired
data[].can_publishbooleanrequired

Nora's launches can be published to this account from NorReach right now.

data[].last_synced_atstring | nullrequired
data[].sync_problemstring | nullrequired

A plain sentence when the last sync failed.

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.