Skip to main content
GET
List campaigns

Request contract

  • Method and path: GET /apis/v1/ads/campaigns
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/ads/campaigns
  • connectionId: query; required
  • includeEmpty: query; optional
  • page: query; optional
  • limit: query; optional
  • source: query; optional
  • platform: query; optional
  • status: query; optional
  • adAccountId: query; optional
  • campaignId: query; optional
  • pageId: query; optional
  • fromDate: query; optional
  • toDate: query; optional
  • hasDelivery: query; optional
  • minSpend: query; optional
  • live: query; optional
  • Runtime facts: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

connectionId
string
required

The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.

Pattern: ^adc_[0-9A-Za-z]+$
includeEmpty
boolean

Meta only. Set true to also list campaigns with ZERO ads, with adCount: 0 and zeroed metrics. Campaign reads aggregate over ad documents, so such campaigns are normally invisible.

page
integer
default:1

Page number (1-based)

Required range: x >= 1
limit
integer
default:20
Required range: 1 <= x <= 100
source
enum<string>
default:all

Matches the web UI's default view. Status is NOT filtered by default; use the status param for that.

Available options:
aisa,
all
platform
enum<string>
Available options:
facebook,
instagram,
tiktok,
linkedin,
pinterest,
google,
twitter,
openai,
reddit,
microsoft,
meta,
x
status
enum<string>

Filter by derived campaign status (post-aggregation)

Available options:
active,
paused,
pending_review,
rejected,
completed,
cancelled,
error
adAccountId
string

Platform ad account ID (e.g. act_123 for Meta)

campaignId
string

Platform campaign ID (the platformCampaignId on each returned campaign). Returns only that campaign, or an empty list when it is not visible to the caller. Mirrors the same filter on /apis/v1/ads and /apis/v1/ads/tree. Must be yours: it is checked through the connection before the request is sent, and an id that is not yours answers not_found.

pageId
string

Meta only: Facebook Page ID. Campaigns have no Page of their own, so this keeps campaigns having at least one ad backed by this Page, with adCount and metrics computed over those ads only.

fromDate
string<date>

Start of metrics date range (YYYY-MM-DD, inclusive). Defaults to 90 days ago when both date params are omitted.

toDate
string<date>

End of metrics date range (YYYY-MM-DD, inclusive). Defaults to today. Max 730-day range.

hasDelivery
boolean

Return only campaigns that delivered between fromDate and toDate: spend above zero, or impressions served at zero spend. Unlike status, which reads a campaign's CURRENT state, this filters on what happened inside the window.

minSpend
number

Return only campaigns whose spend between fromDate and toDate reaches this amount, in each campaign's OWN currency (the currency field on the campaign). Implies hasDelivery; minSpend=0 applies no filter.

Required range: x >= 0
live
boolean
default:false

Read the on/off switches live from the platform instead of returning synced values. See "Status freshness" in the operation description.

Response

Paginated campaigns

campaigns
object[]
pagination
object