You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Paid advertising management across Meta (Facebook/Instagram), Google, TikTok, LinkedIn, Pinterest, and X/Twitter.
132
-
Create, boost, pause/resume ads and campaigns, view metrics, manage audiences, and sync external ads.
132
+
Create, boost, pause/resume ads and campaigns, view metrics, and manage audiences.
133
133
Requires the Ads add-on.
134
134
name: Ads
135
135
- description: |
@@ -3754,6 +3754,58 @@ paths:
3754
3754
x-content-type: application/json
3755
3755
x-accepts:
3756
3756
- application/json
3757
+
/v1/accounts/{accountId}/disconnect-ads:
3758
+
post:
3759
+
description: |
3760
+
Disconnects ads from a social account without removing the posting connection.
3761
+
3762
+
**Same-token platforms** (metaads, linkedinads, pinterestads): Sets an `adsOptOut` flag. The posting account and OAuth token are preserved. Reconnecting ads clears the flag.
3763
+
3764
+
**Separate-token platforms** (tiktokads, xads): Clears the ads-specific metadata (marketing API tokens). The posting account stays intact.
3765
+
3766
+
**Standalone platforms** (googleads): Do not use this endpoint. Use `DELETE /v1/accounts/{accountId}` instead, since Google Ads accounts are standalone.
3767
+
operationId: disconnectAds
3768
+
parameters:
3769
+
- description: The SocialAccount ID (parent posting account for same-token/separate-token
description: "Returns health status of all connected accounts including token\
@@ -4278,9 +4330,9 @@ paths:
4278
4330
description: |
4279
4331
Unified ads connection endpoint. Handles all platforms through a single route:
4280
4332
4281
-
**Same-token platforms** (facebook, instagram, linkedin): If a posting account already exists, returns `alreadyConnected: true` immediately (no extra OAuth needed). If not, starts the normal OAuth flow, and the resulting account supports both posting and ads.
4333
+
**Same-token platforms** (facebook, instagram, linkedin, pinterest): If a posting account already exists, returns `alreadyConnected: true` immediately (no extra OAuth needed). If not, starts the normal OAuth flow, and the resulting account supports both posting and ads.
4282
4334
4283
-
**Separate-token platforms** (tiktok, twitter, pinterest): Requires an existing posting account (`accountId` param). If ads are already connected, returns `alreadyConnected: true`. Otherwise, starts the platform-specific marketing API OAuth flow.
4335
+
**Separate-token platforms** (tiktok, twitter): Requires an existing posting account (`accountId` param). If ads are already connected, returns `alreadyConnected: true`. Otherwise, starts the platform-specific marketing API OAuth flow.
4284
4336
4285
4337
**Ads-only platforms** (googleads): If a Google Ads account exists, returns `alreadyConnected: true`. Otherwise, starts the Google Ads OAuth flow.
4286
4338
@@ -4313,7 +4365,7 @@ paths:
4313
4365
type: string
4314
4366
style: form
4315
4367
- description: "Existing SocialAccount ID. Required for separate-token platforms\
4316
-
\ (tiktok, twitter, pinterest). Ignored for same-token and ads-only platforms."
4368
+
\ (tiktok, twitter). Ignored for same-token and ads-only platforms."
4317
4369
explode: true
4318
4370
in: query
4319
4371
name: accountId
@@ -14308,8 +14360,10 @@ paths:
14308
14360
- application/json
14309
14361
/v1/ads:
14310
14362
get:
14311
-
description: Returns a paginated list of ads with cached metrics. Use `source=all`
14312
-
to include externally-synced ads from platform ad managers.
14363
+
description: |
14364
+
Returns a paginated list of ads with metrics computed over an optional date range.
14365
+
Use `source=all` to include externally-synced ads from platform ad managers.
14366
+
If no date range is provided, defaults to the last 90 days. Date range is capped at 90 days max.
14313
14367
operationId: listAds
14314
14368
parameters:
14315
14369
- $ref: "#/components/parameters/PageParam"
@@ -14389,6 +14443,26 @@ paths:
14389
14443
schema:
14390
14444
type: string
14391
14445
style: form
14446
+
- description: Start of metrics date range (YYYY-MM-DD). Defaults to 90 days
14447
+
ago.
14448
+
explode: true
14449
+
in: query
14450
+
name: fromDate
14451
+
required: false
14452
+
schema:
14453
+
format: date
14454
+
type: string
14455
+
style: form
14456
+
- description: End of metrics date range (YYYY-MM-DD). Defaults to today. Max
14457
+
90-day range.
14458
+
explode: true
14459
+
in: query
14460
+
name: toDate
14461
+
required: false
14462
+
schema:
14463
+
format: date
14464
+
type: string
14465
+
style: form
14392
14466
responses:
14393
14467
"200":
14394
14468
content:
@@ -14557,8 +14631,10 @@ paths:
14557
14631
description: |
14558
14632
Returns a nested Campaign > Ad Set > Ad hierarchy with rolled-up metrics at each level.
14559
14633
Uses a two-stage aggregation: ads are grouped into ad sets, then ad sets into campaigns.
14560
-
Pagination is at the campaign level. Ads without a campaign or ad set ID are grouped into
14561
-
synthetic "Ungrouped" buckets.
14634
+
Metrics are computed over an optional date range, then rolled up from ad level to ad set
14635
+
and campaign levels. Pagination is at the campaign level. Ads without a campaign or ad set
14636
+
ID are grouped into synthetic "Ungrouped" buckets.
14637
+
If no date range is provided, defaults to the last 90 days. Date range is capped at 90 days max.
14562
14638
operationId: getAdTree
14563
14639
parameters:
14564
14640
- $ref: "#/components/parameters/PageParam"
@@ -14639,6 +14715,26 @@ paths:
14639
14715
schema:
14640
14716
type: string
14641
14717
style: form
14718
+
- description: Start of metrics date range (YYYY-MM-DD). Defaults to 90 days
14719
+
ago.
14720
+
explode: true
14721
+
in: query
14722
+
name: fromDate
14723
+
required: false
14724
+
schema:
14725
+
format: date
14726
+
type: string
14727
+
style: form
14728
+
- description: End of metrics date range (YYYY-MM-DD). Defaults to today. Max
14729
+
90-day range.
14730
+
explode: true
14731
+
in: query
14732
+
name: toDate
14733
+
required: false
14734
+
schema:
14735
+
format: date
14736
+
type: string
14737
+
style: form
14642
14738
responses:
14643
14739
"200":
14644
14740
content:
@@ -14758,8 +14854,9 @@ paths:
14758
14854
/v1/ads/{adId}/analytics:
14759
14855
get:
14760
14856
description: |
14761
-
Returns real-time analytics from the platform API (not cached). Includes summary metrics,
14762
-
daily breakdown, and optional demographic breakdowns (Meta and TikTok only).
14857
+
Returns detailed performance analytics for an ad. Includes summary metrics, a daily timeline
14858
+
over the requested date range, and optional demographic breakdowns (Meta and TikTok only).
14859
+
If no date range is provided, defaults to the last 90 days. Date range is capped at 90 days max.
14763
14860
operationId: getAdAnalytics
14764
14861
parameters:
14765
14862
- explode: false
@@ -14769,6 +14866,25 @@ paths:
14769
14866
schema:
14770
14867
type: string
14771
14868
style: simple
14869
+
- description: Start of date range (YYYY-MM-DD). Defaults to 90 days ago.
14870
+
explode: true
14871
+
in: query
14872
+
name: fromDate
14873
+
required: false
14874
+
schema:
14875
+
format: date
14876
+
type: string
14877
+
style: form
14878
+
- description: End of date range (YYYY-MM-DD). Defaults to today. Max 90-day
0 commit comments