Skip to content

Commit ed38fad

Browse files
chore: regenerate from OpenAPI spec
- Auto-generated SDK updates - Version: v0.0.127
1 parent b3324b3 commit ed38fad

821 files changed

Lines changed: 1714 additions & 1225 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.openapi-generator/FILES

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ docs/DeleteInboxReviewReply200Response.md
169169
docs/DeleteInboxReviewReplyRequest.md
170170
docs/DeleteQueueSlot200Response.md
171171
docs/DeleteWhatsAppGroupRequest.md
172+
docs/DisconnectAdsRequest.md
172173
docs/EditInboxMessage200Response.md
173174
docs/EditInboxMessage200ResponseData.md
174175
docs/EditInboxMessageRequest.md
@@ -630,7 +631,6 @@ docs/SetTelegramCommandsRequestCommandsInner.md
630631
docs/SnapchatPlatformData.md
631632
docs/SocialAccount.md
632633
docs/SocialAccountProfileId.md
633-
docs/SyncExternalAds200Response.md
634634
docs/TelegramPlatformData.md
635635
docs/TestWebhookRequest.md
636636
docs/ThreadsPlatformData.md
@@ -1014,6 +1014,7 @@ src/main/java/dev/zernio/model/DeleteInboxReviewReply200Response.java
10141014
src/main/java/dev/zernio/model/DeleteInboxReviewReplyRequest.java
10151015
src/main/java/dev/zernio/model/DeleteQueueSlot200Response.java
10161016
src/main/java/dev/zernio/model/DeleteWhatsAppGroupRequest.java
1017+
src/main/java/dev/zernio/model/DisconnectAdsRequest.java
10171018
src/main/java/dev/zernio/model/EditInboxMessage200Response.java
10181019
src/main/java/dev/zernio/model/EditInboxMessage200ResponseData.java
10191020
src/main/java/dev/zernio/model/EditInboxMessageRequest.java
@@ -1458,7 +1459,6 @@ src/main/java/dev/zernio/model/SetTelegramCommandsRequestCommandsInner.java
14581459
src/main/java/dev/zernio/model/SnapchatPlatformData.java
14591460
src/main/java/dev/zernio/model/SocialAccount.java
14601461
src/main/java/dev/zernio/model/SocialAccountProfileId.java
1461-
src/main/java/dev/zernio/model/SyncExternalAds200Response.java
14621462
src/main/java/dev/zernio/model/TelegramPlatformData.java
14631463
src/main/java/dev/zernio/model/TestWebhookRequest.java
14641464
src/main/java/dev/zernio/model/ThreadsPlatformData.java
@@ -1622,3 +1622,4 @@ src/main/java/dev/zernio/model/YouTubeDemographicsResponseDemographicsValueInner
16221622
src/main/java/dev/zernio/model/YouTubePlatformData.java
16231623
src/main/java/dev/zernio/model/YouTubeScopeMissingResponse.java
16241624
src/main/java/dev/zernio/model/YouTubeScopeMissingResponseScopeStatus.java
1625+
src/test/java/dev/zernio/model/DisconnectAdsRequestTest.java

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Zernio API
44

55
- API version: 1.0.1
66

7-
- Build date: 2026-04-09T09:29:13.038937774Z[Etc/UTC]
7+
- Build date: 2026-04-09T09:31:36.259498755Z[Etc/UTC]
88

99
- Generator version: 7.19.0
1010

@@ -140,6 +140,8 @@ Class | Method | HTTP request | Description
140140
*AccountSettingsApi* | [**setTelegramCommandsWithHttpInfo**](docs/AccountSettingsApi.md#setTelegramCommandsWithHttpInfo) | **PUT** /v1/accounts/{accountId}/telegram-commands | Set TG bot commands
141141
*AccountsApi* | [**deleteAccount**](docs/AccountsApi.md#deleteAccount) | **DELETE** /v1/accounts/{accountId} | Disconnect account
142142
*AccountsApi* | [**deleteAccountWithHttpInfo**](docs/AccountsApi.md#deleteAccountWithHttpInfo) | **DELETE** /v1/accounts/{accountId} | Disconnect account
143+
*AccountsApi* | [**disconnectAds**](docs/AccountsApi.md#disconnectAds) | **POST** /v1/accounts/{accountId}/disconnect-ads | Disconnect ads from an account
144+
*AccountsApi* | [**disconnectAdsWithHttpInfo**](docs/AccountsApi.md#disconnectAdsWithHttpInfo) | **POST** /v1/accounts/{accountId}/disconnect-ads | Disconnect ads from an account
143145
*AccountsApi* | [**getAccountHealth**](docs/AccountsApi.md#getAccountHealth) | **GET** /v1/accounts/{accountId}/health | Check account health
144146
*AccountsApi* | [**getAccountHealthWithHttpInfo**](docs/AccountsApi.md#getAccountHealthWithHttpInfo) | **GET** /v1/accounts/{accountId}/health | Check account health
145147
*AccountsApi* | [**getAllAccountsHealth**](docs/AccountsApi.md#getAllAccountsHealth) | **GET** /v1/accounts/health | Check accounts health
@@ -184,8 +186,6 @@ Class | Method | HTTP request | Description
184186
*AdsApi* | [**listAdsWithHttpInfo**](docs/AdsApi.md#listAdsWithHttpInfo) | **GET** /v1/ads | List ads
185187
*AdsApi* | [**searchAdInterests**](docs/AdsApi.md#searchAdInterests) | **GET** /v1/ads/interests | Search targeting interests
186188
*AdsApi* | [**searchAdInterestsWithHttpInfo**](docs/AdsApi.md#searchAdInterestsWithHttpInfo) | **GET** /v1/ads/interests | Search targeting interests
187-
*AdsApi* | [**syncExternalAds**](docs/AdsApi.md#syncExternalAds) | **POST** /v1/ads/sync | Sync external ads from platform ad managers
188-
*AdsApi* | [**syncExternalAdsWithHttpInfo**](docs/AdsApi.md#syncExternalAdsWithHttpInfo) | **POST** /v1/ads/sync | Sync external ads from platform ad managers
189189
*AdsApi* | [**updateAd**](docs/AdsApi.md#updateAd) | **PUT** /v1/ads/{adId} | Update ad (pause/resume, budget, targeting, name)
190190
*AdsApi* | [**updateAdWithHttpInfo**](docs/AdsApi.md#updateAdWithHttpInfo) | **PUT** /v1/ads/{adId} | Update ad (pause/resume, budget, targeting, name)
191191
*AnalyticsApi* | [**getAnalytics**](docs/AnalyticsApi.md#getAnalytics) | **GET** /v1/analytics | Get post analytics
@@ -808,6 +808,7 @@ Class | Method | HTTP request | Description
808808
- [DeleteInboxReviewReplyRequest](docs/DeleteInboxReviewReplyRequest.md)
809809
- [DeleteQueueSlot200Response](docs/DeleteQueueSlot200Response.md)
810810
- [DeleteWhatsAppGroupRequest](docs/DeleteWhatsAppGroupRequest.md)
811+
- [DisconnectAdsRequest](docs/DisconnectAdsRequest.md)
811812
- [EditInboxMessage200Response](docs/EditInboxMessage200Response.md)
812813
- [EditInboxMessage200ResponseData](docs/EditInboxMessage200ResponseData.md)
813814
- [EditInboxMessageRequest](docs/EditInboxMessageRequest.md)
@@ -1252,7 +1253,6 @@ Class | Method | HTTP request | Description
12521253
- [SnapchatPlatformData](docs/SnapchatPlatformData.md)
12531254
- [SocialAccount](docs/SocialAccount.md)
12541255
- [SocialAccountProfileId](docs/SocialAccountProfileId.md)
1255-
- [SyncExternalAds200Response](docs/SyncExternalAds200Response.md)
12561256
- [TelegramPlatformData](docs/TelegramPlatformData.md)
12571257
- [TestWebhookRequest](docs/TestWebhookRequest.md)
12581258
- [ThreadsPlatformData](docs/ThreadsPlatformData.md)

api/openapi.yaml

Lines changed: 139 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ tags:
129129
name: Comment Automations
130130
- description: |
131131
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.
133133
Requires the Ads add-on.
134134
name: Ads
135135
- description: |
@@ -3754,6 +3754,58 @@ paths:
37543754
x-content-type: application/json
37553755
x-accepts:
37563756
- 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
3770+
platforms)
3771+
explode: false
3772+
in: path
3773+
name: accountId
3774+
required: true
3775+
schema:
3776+
type: string
3777+
style: simple
3778+
requestBody:
3779+
content:
3780+
application/json:
3781+
example:
3782+
adsPlatform: tiktokads
3783+
schema:
3784+
$ref: "#/components/schemas/disconnectAds_request"
3785+
required: true
3786+
responses:
3787+
"200":
3788+
content:
3789+
application/json:
3790+
example:
3791+
message: tiktokads disconnected successfully
3792+
schema:
3793+
$ref: "#/components/schemas/deleteAccountGroup_200_response"
3794+
description: Ads disconnected
3795+
"400":
3796+
description: Invalid ads platform
3797+
"401":
3798+
$ref: "#/components/responses/Unauthorized"
3799+
"404":
3800+
$ref: "#/components/responses/NotFound"
3801+
security:
3802+
- bearerAuth: []
3803+
summary: Disconnect ads from an account
3804+
tags:
3805+
- Accounts
3806+
x-content-type: application/json
3807+
x-accepts:
3808+
- application/json
37573809
/v1/accounts/health:
37583810
get:
37593811
description: "Returns health status of all connected accounts including token\
@@ -4278,9 +4330,9 @@ paths:
42784330
description: |
42794331
Unified ads connection endpoint. Handles all platforms through a single route:
42804332

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.
42824334

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.
42844336

42854337
**Ads-only platforms** (googleads): If a Google Ads account exists, returns `alreadyConnected: true`. Otherwise, starts the Google Ads OAuth flow.
42864338

@@ -4313,7 +4365,7 @@ paths:
43134365
type: string
43144366
style: form
43154367
- 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."
43174369
explode: true
43184370
in: query
43194371
name: accountId
@@ -14308,8 +14360,10 @@ paths:
1430814360
- application/json
1430914361
/v1/ads:
1431014362
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.
1431314367
operationId: listAds
1431414368
parameters:
1431514369
- $ref: "#/components/parameters/PageParam"
@@ -14389,6 +14443,26 @@ paths:
1438914443
schema:
1439014444
type: string
1439114445
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
1439214466
responses:
1439314467
"200":
1439414468
content:
@@ -14557,8 +14631,10 @@ paths:
1455714631
description: |
1455814632
Returns a nested Campaign > Ad Set > Ad hierarchy with rolled-up metrics at each level.
1455914633
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.
1456214638
operationId: getAdTree
1456314639
parameters:
1456414640
- $ref: "#/components/parameters/PageParam"
@@ -14639,6 +14715,26 @@ paths:
1463914715
schema:
1464014716
type: string
1464114717
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
1464214738
responses:
1464314739
"200":
1464414740
content:
@@ -14758,8 +14854,9 @@ paths:
1475814854
/v1/ads/{adId}/analytics:
1475914855
get:
1476014856
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.
1476314860
operationId: getAdAnalytics
1476414861
parameters:
1476514862
- explode: false
@@ -14769,6 +14866,25 @@ paths:
1476914866
schema:
1477014867
type: string
1477114868
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
14879+
range.
14880+
explode: true
14881+
in: query
14882+
name: toDate
14883+
required: false
14884+
schema:
14885+
format: date
14886+
type: string
14887+
style: form
1477214888
- description: "Comma-separated breakdown dimensions. Meta: age, gender, country,\
1477314889
\ publisher_platform, device_platform, region. TikTok: gender, age, country_code,\
1477414890
\ platform, ac, language."
@@ -14903,30 +15019,6 @@ paths:
1490315019
x-content-type: application/json
1490415020
x-accepts:
1490515021
- application/json
14906-
/v1/ads/sync:
14907-
post:
14908-
description: "Discovers and imports ads created outside Zernio (e.g. in Meta\
14909-
\ Ads Manager, Google Ads). Upserts new ads and updates metrics/status for\
14910-
\ existing ones. Also runs automatically every 30 minutes."
14911-
operationId: syncExternalAds
14912-
responses:
14913-
"200":
14914-
content:
14915-
application/json:
14916-
schema:
14917-
$ref: "#/components/schemas/syncExternalAds_200_response"
14918-
description: Sync completed
14919-
"401":
14920-
$ref: "#/components/responses/Unauthorized"
14921-
"403":
14922-
description: Ads add-on required
14923-
security:
14924-
- bearerAuth: []
14925-
summary: Sync external ads from platform ad managers
14926-
tags:
14927-
- Ads
14928-
x-accepts:
14929-
- application/json
1493015022
/v1/ads/interests:
1493115023
get:
1493215024
description: Search for interest-based targeting options available on the platform.
@@ -23142,6 +23234,19 @@ components:
2314223234
type: string
2314323235
displayName:
2314423236
type: string
23237+
disconnectAds_request:
23238+
properties:
23239+
adsPlatform:
23240+
description: The ads platform to disconnect
23241+
enum:
23242+
- metaads
23243+
- linkedinads
23244+
- pinterestads
23245+
- tiktokads
23246+
- xads
23247+
type: string
23248+
required:
23249+
- adsPlatform
2314523250
getAllAccountsHealth_200_response_summary:
2314623251
example:
2314723252
total: 0
@@ -36503,24 +36608,6 @@ components:
3650336608
- budgetType
3650436609
- goal
3650536610
- name
36506-
syncExternalAds_200_response:
36507-
example:
36508-
synced: 0
36509-
success: true
36510-
errors: 1
36511-
skipped: 6
36512-
properties:
36513-
success:
36514-
type: boolean
36515-
synced:
36516-
description: New ads imported
36517-
type: integer
36518-
skipped:
36519-
description: Already-known ads (skipped import
36520-
type: integer
36521-
errors:
36522-
description: Failed ad imports
36523-
type: integer
3652436611
searchAdInterests_200_response_interests_inner:
3652536612
example:
3652636613
name: name

0 commit comments

Comments
 (0)