@defoai/ads-client 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/README.md +88 -0
  2. package/dist/generated/apis/AdAssetsApi.d.ts +140 -0
  3. package/dist/generated/apis/AdAssetsApi.js +173 -0
  4. package/dist/generated/apis/AdGroupsApi.d.ts +165 -0
  5. package/dist/generated/apis/AdGroupsApi.js +205 -0
  6. package/dist/generated/apis/AdsApi.d.ts +160 -0
  7. package/dist/generated/apis/AdsApi.js +200 -0
  8. package/dist/generated/apis/AssetsApi.d.ts +162 -0
  9. package/dist/generated/apis/AssetsApi.js +203 -0
  10. package/dist/generated/apis/CampaignAssetsApi.d.ts +136 -0
  11. package/dist/generated/apis/CampaignAssetsApi.js +167 -0
  12. package/dist/generated/apis/CampaignsApi.d.ts +169 -0
  13. package/dist/generated/apis/CampaignsApi.js +206 -0
  14. package/dist/generated/apis/KeywordsApi.d.ts +160 -0
  15. package/dist/generated/apis/KeywordsApi.js +200 -0
  16. package/dist/generated/apis/MediaApi.d.ts +50 -0
  17. package/dist/generated/apis/MediaApi.js +51 -0
  18. package/dist/generated/apis/MetaApi.d.ts +86 -0
  19. package/dist/generated/apis/MetaApi.js +104 -0
  20. package/dist/generated/apis/ReportsApi.d.ts +50 -0
  21. package/dist/generated/apis/ReportsApi.js +51 -0
  22. package/dist/generated/apis/SitesApi.d.ts +163 -0
  23. package/dist/generated/apis/SitesApi.js +202 -0
  24. package/dist/generated/apis/SyncApi.d.ts +199 -0
  25. package/dist/generated/apis/SyncApi.js +241 -0
  26. package/dist/generated/apis/index.d.ts +12 -0
  27. package/dist/generated/apis/index.js +14 -0
  28. package/dist/generated/index.d.ts +3 -0
  29. package/dist/generated/index.js +5 -0
  30. package/dist/generated/models/AdAssetCreate.d.ts +83 -0
  31. package/dist/generated/models/AdAssetCreate.js +76 -0
  32. package/dist/generated/models/AdCreate.d.ts +147 -0
  33. package/dist/generated/models/AdCreate.js +97 -0
  34. package/dist/generated/models/AdGroupAudience.d.ts +44 -0
  35. package/dist/generated/models/AdGroupAudience.js +49 -0
  36. package/dist/generated/models/AdGroupCreate.d.ts +104 -0
  37. package/dist/generated/models/AdGroupCreate.js +74 -0
  38. package/dist/generated/models/AdGroupUpdate.d.ts +104 -0
  39. package/dist/generated/models/AdGroupUpdate.js +70 -0
  40. package/dist/generated/models/AdUpdate.d.ts +147 -0
  41. package/dist/generated/models/AdUpdate.js +85 -0
  42. package/dist/generated/models/AssetCreate.d.ts +117 -0
  43. package/dist/generated/models/AssetCreate.js +80 -0
  44. package/dist/generated/models/AssetUpdate.d.ts +79 -0
  45. package/dist/generated/models/AssetUpdate.js +61 -0
  46. package/dist/generated/models/BiddingStrategy.d.ts +70 -0
  47. package/dist/generated/models/BiddingStrategy.js +62 -0
  48. package/dist/generated/models/CampaignAdScheduleField.d.ts +12 -0
  49. package/dist/generated/models/CampaignAdScheduleField.js +4 -0
  50. package/dist/generated/models/CampaignAssetCreate.d.ts +57 -0
  51. package/dist/generated/models/CampaignAssetCreate.js +63 -0
  52. package/dist/generated/models/CampaignCreate.d.ts +161 -0
  53. package/dist/generated/models/CampaignCreate.js +102 -0
  54. package/dist/generated/models/CampaignTargeting.d.ts +50 -0
  55. package/dist/generated/models/CampaignTargeting.js +47 -0
  56. package/dist/generated/models/CampaignUpdate.d.ts +161 -0
  57. package/dist/generated/models/CampaignUpdate.js +98 -0
  58. package/dist/generated/models/CampaignsListCursorParameter.d.ts +26 -0
  59. package/dist/generated/models/CampaignsListCursorParameter.js +31 -0
  60. package/dist/generated/models/ErrorEnvelope.d.ts +33 -0
  61. package/dist/generated/models/ErrorEnvelope.js +44 -0
  62. package/dist/generated/models/ErrorEnvelopeError.d.ts +44 -0
  63. package/dist/generated/models/ErrorEnvelopeError.js +49 -0
  64. package/dist/generated/models/KeywordCreate.d.ts +86 -0
  65. package/dist/generated/models/KeywordCreate.js +73 -0
  66. package/dist/generated/models/KeywordUpdate.d.ts +86 -0
  67. package/dist/generated/models/KeywordUpdate.js +69 -0
  68. package/dist/generated/models/Location.d.ts +61 -0
  69. package/dist/generated/models/Location.js +61 -0
  70. package/dist/generated/models/NegativeKeywordEntry.d.ts +47 -0
  71. package/dist/generated/models/NegativeKeywordEntry.js +55 -0
  72. package/dist/generated/models/ScheduleWindow.d.ts +95 -0
  73. package/dist/generated/models/ScheduleWindow.js +87 -0
  74. package/dist/generated/models/SiteCreate.d.ts +99 -0
  75. package/dist/generated/models/SiteCreate.js +78 -0
  76. package/dist/generated/models/SiteCreateSeoKeywords.d.ts +11 -0
  77. package/dist/generated/models/SiteCreateSeoKeywords.js +12 -0
  78. package/dist/generated/models/SiteCreateTargetGroups.d.ts +11 -0
  79. package/dist/generated/models/SiteCreateTargetGroups.js +12 -0
  80. package/dist/generated/models/SiteLinkEntry.d.ts +50 -0
  81. package/dist/generated/models/SiteLinkEntry.js +47 -0
  82. package/dist/generated/models/SiteUpdate.d.ts +99 -0
  83. package/dist/generated/models/SiteUpdate.js +74 -0
  84. package/dist/generated/models/Sitelink.d.ts +64 -0
  85. package/dist/generated/models/Sitelink.js +51 -0
  86. package/dist/generated/models/StructuredSchedule.d.ts +39 -0
  87. package/dist/generated/models/StructuredSchedule.js +46 -0
  88. package/dist/generated/models/StructuredSnippet.d.ts +38 -0
  89. package/dist/generated/models/StructuredSnippet.js +47 -0
  90. package/dist/generated/models/SuccessEnvelope.d.ts +39 -0
  91. package/dist/generated/models/SuccessEnvelope.js +46 -0
  92. package/dist/generated/models/SuccessEnvelopeMeta.d.ts +39 -0
  93. package/dist/generated/models/SuccessEnvelopeMeta.js +44 -0
  94. package/dist/generated/models/SuccessEnvelopeMetaNextCursor.d.ts +26 -0
  95. package/dist/generated/models/SuccessEnvelopeMetaNextCursor.js +31 -0
  96. package/dist/generated/models/SyncCampaignDetail.d.ts +88 -0
  97. package/dist/generated/models/SyncCampaignDetail.js +71 -0
  98. package/dist/generated/models/SyncPlan.d.ts +35 -0
  99. package/dist/generated/models/SyncPlan.js +43 -0
  100. package/dist/generated/models/SyncPlanPlatformsValue.d.ts +33 -0
  101. package/dist/generated/models/SyncPlanPlatformsValue.js +42 -0
  102. package/dist/generated/models/SyncPlanPlatformsValueTotals.d.ts +44 -0
  103. package/dist/generated/models/SyncPlanPlatformsValueTotals.js +45 -0
  104. package/dist/generated/models/SyncProgress.d.ts +57 -0
  105. package/dist/generated/models/SyncProgress.js +50 -0
  106. package/dist/generated/models/SyncRecord.d.ts +103 -0
  107. package/dist/generated/models/SyncRecord.js +73 -0
  108. package/dist/generated/models/SyncRecordErrorsInner.d.ts +38 -0
  109. package/dist/generated/models/SyncRecordErrorsInner.js +43 -0
  110. package/dist/generated/models/SyncTotals.d.ts +68 -0
  111. package/dist/generated/models/SyncTotals.js +53 -0
  112. package/dist/generated/models/SyncTriggerRequest.d.ts +39 -0
  113. package/dist/generated/models/SyncTriggerRequest.js +44 -0
  114. package/dist/generated/models/SyncTriggerRequestOptions.d.ts +56 -0
  115. package/dist/generated/models/SyncTriggerRequestOptions.js +49 -0
  116. package/dist/generated/models/SyncTriggerResponse.d.ts +59 -0
  117. package/dist/generated/models/SyncTriggerResponse.js +55 -0
  118. package/dist/generated/models/SyncUnlinkRequest.d.ts +44 -0
  119. package/dist/generated/models/SyncUnlinkRequest.js +47 -0
  120. package/dist/generated/models/index.d.ts +45 -0
  121. package/dist/generated/models/index.js +47 -0
  122. package/dist/generated/runtime.d.ts +182 -0
  123. package/dist/generated/runtime.js +318 -0
  124. package/dist/index.d.ts +177 -0
  125. package/dist/index.js +207 -0
  126. package/package.json +32 -0
  127. package/src/generated/apis/AdAssetsApi.ts +342 -0
  128. package/src/generated/apis/AdGroupsApi.ts +408 -0
  129. package/src/generated/apis/AdsApi.ts +399 -0
  130. package/src/generated/apis/AssetsApi.ts +405 -0
  131. package/src/generated/apis/CampaignAssetsApi.ts +330 -0
  132. package/src/generated/apis/CampaignsApi.ts +408 -0
  133. package/src/generated/apis/KeywordsApi.ts +399 -0
  134. package/src/generated/apis/MediaApi.ts +99 -0
  135. package/src/generated/apis/MetaApi.ts +186 -0
  136. package/src/generated/apis/ReportsApi.ts +99 -0
  137. package/src/generated/apis/SitesApi.ts +402 -0
  138. package/src/generated/apis/SyncApi.ts +468 -0
  139. package/src/generated/apis/index.ts +14 -0
  140. package/src/generated/index.ts +5 -0
  141. package/src/generated/models/AdAssetCreate.ts +133 -0
  142. package/src/generated/models/AdCreate.ts +234 -0
  143. package/src/generated/models/AdGroupAudience.ts +83 -0
  144. package/src/generated/models/AdGroupCreate.ts +167 -0
  145. package/src/generated/models/AdGroupUpdate.ts +165 -0
  146. package/src/generated/models/AdUpdate.ts +228 -0
  147. package/src/generated/models/AssetCreate.ts +175 -0
  148. package/src/generated/models/AssetUpdate.ts +125 -0
  149. package/src/generated/models/BiddingStrategy.ts +114 -0
  150. package/src/generated/models/CampaignAdScheduleField.ts +16 -0
  151. package/src/generated/models/CampaignAssetCreate.ts +100 -0
  152. package/src/generated/models/CampaignCreate.ts +263 -0
  153. package/src/generated/models/CampaignTargeting.ts +89 -0
  154. package/src/generated/models/CampaignUpdate.ts +261 -0
  155. package/src/generated/models/CampaignsListCursorParameter.ts +46 -0
  156. package/src/generated/models/ErrorEnvelope.ts +74 -0
  157. package/src/generated/models/ErrorEnvelopeError.ts +83 -0
  158. package/src/generated/models/KeywordCreate.ts +137 -0
  159. package/src/generated/models/KeywordUpdate.ts +135 -0
  160. package/src/generated/models/Location.ts +105 -0
  161. package/src/generated/models/NegativeKeywordEntry.ts +87 -0
  162. package/src/generated/models/ScheduleWindow.ts +146 -0
  163. package/src/generated/models/SiteCreate.ts +173 -0
  164. package/src/generated/models/SiteCreateSeoKeywords.ts +16 -0
  165. package/src/generated/models/SiteCreateTargetGroups.ts +16 -0
  166. package/src/generated/models/SiteLinkEntry.ts +89 -0
  167. package/src/generated/models/SiteUpdate.ts +171 -0
  168. package/src/generated/models/Sitelink.ts +105 -0
  169. package/src/generated/models/StructuredSchedule.ts +82 -0
  170. package/src/generated/models/StructuredSnippet.ts +75 -0
  171. package/src/generated/models/SuccessEnvelope.ts +82 -0
  172. package/src/generated/models/SuccessEnvelopeMeta.ts +81 -0
  173. package/src/generated/models/SuccessEnvelopeMetaNextCursor.ts +46 -0
  174. package/src/generated/models/SyncCampaignDetail.ts +137 -0
  175. package/src/generated/models/SyncPlan.ts +73 -0
  176. package/src/generated/models/SyncPlanPlatformsValue.ts +73 -0
  177. package/src/generated/models/SyncPlanPlatformsValueTotals.ts +81 -0
  178. package/src/generated/models/SyncProgress.ts +105 -0
  179. package/src/generated/models/SyncRecord.ts +174 -0
  180. package/src/generated/models/SyncRecordErrorsInner.ts +73 -0
  181. package/src/generated/models/SyncTotals.ts +113 -0
  182. package/src/generated/models/SyncTriggerRequest.ts +81 -0
  183. package/src/generated/models/SyncTriggerRequestOptions.ts +97 -0
  184. package/src/generated/models/SyncTriggerResponse.ts +108 -0
  185. package/src/generated/models/SyncUnlinkRequest.ts +82 -0
  186. package/src/generated/models/index.ts +47 -0
  187. package/src/generated/runtime.ts +431 -0
  188. package/src/index.ts +229 -0
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Defo Ads Public API
3
+ * Stable public API for managing campaigns, ads, keywords, and sites.
4
+ *
5
+ * The version of the OpenAPI document: 1.4.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { CampaignsListCursorParameter, SiteCreate, SiteUpdate, SuccessEnvelope } from '../models/index';
14
+ export interface SitesCreateRequest {
15
+ siteCreate: SiteCreate;
16
+ xSpaceId?: string;
17
+ }
18
+ export interface SitesDeleteRequest {
19
+ id: string;
20
+ xSpaceId?: string;
21
+ }
22
+ export interface SitesGetRequest {
23
+ id: string;
24
+ xSpaceId?: string;
25
+ }
26
+ export interface SitesListRequest {
27
+ limit?: number;
28
+ cursor?: CampaignsListCursorParameter;
29
+ xSpaceId?: string;
30
+ }
31
+ export interface SitesUpdateRequest {
32
+ id: string;
33
+ siteUpdate: SiteUpdate;
34
+ xSpaceId?: string;
35
+ }
36
+ /**
37
+ * SitesApi - interface
38
+ *
39
+ * @export
40
+ * @interface SitesApiInterface
41
+ */
42
+ export interface SitesApiInterface {
43
+ /**
44
+ *
45
+ * @summary Create site
46
+ * @param {SiteCreate} siteCreate
47
+ * @param {string} [xSpaceId] Target Space ID (e.g. `spc_…`). Omit to use the caller\'s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
48
+ * @param {*} [options] Override http request option.
49
+ * @throws {RequiredError}
50
+ * @memberof SitesApiInterface
51
+ */
52
+ sitesCreateRaw(requestParameters: SitesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
53
+ /**
54
+ * Create site
55
+ */
56
+ sitesCreate(requestParameters: SitesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
57
+ /**
58
+ * Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
59
+ * @summary Delete site
60
+ * @param {string} id
61
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
62
+ * @param {*} [options] Override http request option.
63
+ * @throws {RequiredError}
64
+ * @memberof SitesApiInterface
65
+ */
66
+ sitesDeleteRaw(requestParameters: SitesDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
67
+ /**
68
+ * Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
69
+ * Delete site
70
+ */
71
+ sitesDelete(requestParameters: SitesDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
72
+ /**
73
+ *
74
+ * @summary Get site
75
+ * @param {string} id
76
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
77
+ * @param {*} [options] Override http request option.
78
+ * @throws {RequiredError}
79
+ * @memberof SitesApiInterface
80
+ */
81
+ sitesGetRaw(requestParameters: SitesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
82
+ /**
83
+ * Get site
84
+ */
85
+ sitesGet(requestParameters: SitesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
86
+ /**
87
+ *
88
+ * @summary List sites
89
+ * @param {number} [limit] Maximum items to return. Default 50, max 200.
90
+ * @param {CampaignsListCursorParameter} [cursor] Opaque pagination cursor returned by the previous page in &#x60;meta.nextCursor&#x60;.
91
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
92
+ * @param {*} [options] Override http request option.
93
+ * @throws {RequiredError}
94
+ * @memberof SitesApiInterface
95
+ */
96
+ sitesListRaw(requestParameters: SitesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
97
+ /**
98
+ * List sites
99
+ */
100
+ sitesList(requestParameters: SitesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
101
+ /**
102
+ *
103
+ * @summary Update site
104
+ * @param {string} id
105
+ * @param {SiteUpdate} siteUpdate
106
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
107
+ * @param {*} [options] Override http request option.
108
+ * @throws {RequiredError}
109
+ * @memberof SitesApiInterface
110
+ */
111
+ sitesUpdateRaw(requestParameters: SitesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
112
+ /**
113
+ * Update site
114
+ */
115
+ sitesUpdate(requestParameters: SitesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
116
+ }
117
+ /**
118
+ *
119
+ */
120
+ export declare class SitesApi extends runtime.BaseAPI implements SitesApiInterface {
121
+ /**
122
+ * Create site
123
+ */
124
+ sitesCreateRaw(requestParameters: SitesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
125
+ /**
126
+ * Create site
127
+ */
128
+ sitesCreate(requestParameters: SitesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
129
+ /**
130
+ * Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
131
+ * Delete site
132
+ */
133
+ sitesDeleteRaw(requestParameters: SitesDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
134
+ /**
135
+ * Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
136
+ * Delete site
137
+ */
138
+ sitesDelete(requestParameters: SitesDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
139
+ /**
140
+ * Get site
141
+ */
142
+ sitesGetRaw(requestParameters: SitesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
143
+ /**
144
+ * Get site
145
+ */
146
+ sitesGet(requestParameters: SitesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
147
+ /**
148
+ * List sites
149
+ */
150
+ sitesListRaw(requestParameters: SitesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
151
+ /**
152
+ * List sites
153
+ */
154
+ sitesList(requestParameters?: SitesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
155
+ /**
156
+ * Update site
157
+ */
158
+ sitesUpdateRaw(requestParameters: SitesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
159
+ /**
160
+ * Update site
161
+ */
162
+ sitesUpdate(requestParameters: SitesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
163
+ }
@@ -0,0 +1,202 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Defo Ads Public API
5
+ * Stable public API for managing campaigns, ads, keywords, and sites.
6
+ *
7
+ * The version of the OpenAPI document: 1.4.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import * as runtime from '../runtime';
15
+ import { SiteCreateToJSON, SiteUpdateToJSON, SuccessEnvelopeFromJSON, } from '../models/index';
16
+ /**
17
+ *
18
+ */
19
+ export class SitesApi extends runtime.BaseAPI {
20
+ /**
21
+ * Create site
22
+ */
23
+ async sitesCreateRaw(requestParameters, initOverrides) {
24
+ if (requestParameters['siteCreate'] == null) {
25
+ throw new runtime.RequiredError('siteCreate', 'Required parameter "siteCreate" was null or undefined when calling sitesCreate().');
26
+ }
27
+ const queryParameters = {};
28
+ const headerParameters = {};
29
+ headerParameters['Content-Type'] = 'application/json';
30
+ if (requestParameters['xSpaceId'] != null) {
31
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
32
+ }
33
+ if (this.configuration && this.configuration.accessToken) {
34
+ const token = this.configuration.accessToken;
35
+ const tokenString = await token("ApiToken", ["sites:write"]);
36
+ if (tokenString) {
37
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
38
+ }
39
+ }
40
+ const response = await this.request({
41
+ path: `/api/v1/sites`,
42
+ method: 'POST',
43
+ headers: headerParameters,
44
+ query: queryParameters,
45
+ body: SiteCreateToJSON(requestParameters['siteCreate']),
46
+ }, initOverrides);
47
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
48
+ }
49
+ /**
50
+ * Create site
51
+ */
52
+ async sitesCreate(requestParameters, initOverrides) {
53
+ const response = await this.sitesCreateRaw(requestParameters, initOverrides);
54
+ return await response.value();
55
+ }
56
+ /**
57
+ * Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
58
+ * Delete site
59
+ */
60
+ async sitesDeleteRaw(requestParameters, initOverrides) {
61
+ if (requestParameters['id'] == null) {
62
+ throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling sitesDelete().');
63
+ }
64
+ const queryParameters = {};
65
+ const headerParameters = {};
66
+ if (requestParameters['xSpaceId'] != null) {
67
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
68
+ }
69
+ if (this.configuration && this.configuration.accessToken) {
70
+ const token = this.configuration.accessToken;
71
+ const tokenString = await token("ApiToken", ["sites:write"]);
72
+ if (tokenString) {
73
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
74
+ }
75
+ }
76
+ const response = await this.request({
77
+ path: `/api/v1/sites/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
78
+ method: 'DELETE',
79
+ headers: headerParameters,
80
+ query: queryParameters,
81
+ }, initOverrides);
82
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
83
+ }
84
+ /**
85
+ * Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
86
+ * Delete site
87
+ */
88
+ async sitesDelete(requestParameters, initOverrides) {
89
+ const response = await this.sitesDeleteRaw(requestParameters, initOverrides);
90
+ return await response.value();
91
+ }
92
+ /**
93
+ * Get site
94
+ */
95
+ async sitesGetRaw(requestParameters, initOverrides) {
96
+ if (requestParameters['id'] == null) {
97
+ throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling sitesGet().');
98
+ }
99
+ const queryParameters = {};
100
+ const headerParameters = {};
101
+ if (requestParameters['xSpaceId'] != null) {
102
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
103
+ }
104
+ if (this.configuration && this.configuration.accessToken) {
105
+ const token = this.configuration.accessToken;
106
+ const tokenString = await token("ApiToken", ["sites:read"]);
107
+ if (tokenString) {
108
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
109
+ }
110
+ }
111
+ const response = await this.request({
112
+ path: `/api/v1/sites/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
113
+ method: 'GET',
114
+ headers: headerParameters,
115
+ query: queryParameters,
116
+ }, initOverrides);
117
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
118
+ }
119
+ /**
120
+ * Get site
121
+ */
122
+ async sitesGet(requestParameters, initOverrides) {
123
+ const response = await this.sitesGetRaw(requestParameters, initOverrides);
124
+ return await response.value();
125
+ }
126
+ /**
127
+ * List sites
128
+ */
129
+ async sitesListRaw(requestParameters, initOverrides) {
130
+ const queryParameters = {};
131
+ if (requestParameters['limit'] != null) {
132
+ queryParameters['limit'] = requestParameters['limit'];
133
+ }
134
+ if (requestParameters['cursor'] != null) {
135
+ queryParameters['cursor'] = requestParameters['cursor'];
136
+ }
137
+ const headerParameters = {};
138
+ if (requestParameters['xSpaceId'] != null) {
139
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
140
+ }
141
+ if (this.configuration && this.configuration.accessToken) {
142
+ const token = this.configuration.accessToken;
143
+ const tokenString = await token("ApiToken", ["sites:read"]);
144
+ if (tokenString) {
145
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
146
+ }
147
+ }
148
+ const response = await this.request({
149
+ path: `/api/v1/sites`,
150
+ method: 'GET',
151
+ headers: headerParameters,
152
+ query: queryParameters,
153
+ }, initOverrides);
154
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
155
+ }
156
+ /**
157
+ * List sites
158
+ */
159
+ async sitesList(requestParameters = {}, initOverrides) {
160
+ const response = await this.sitesListRaw(requestParameters, initOverrides);
161
+ return await response.value();
162
+ }
163
+ /**
164
+ * Update site
165
+ */
166
+ async sitesUpdateRaw(requestParameters, initOverrides) {
167
+ if (requestParameters['id'] == null) {
168
+ throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling sitesUpdate().');
169
+ }
170
+ if (requestParameters['siteUpdate'] == null) {
171
+ throw new runtime.RequiredError('siteUpdate', 'Required parameter "siteUpdate" was null or undefined when calling sitesUpdate().');
172
+ }
173
+ const queryParameters = {};
174
+ const headerParameters = {};
175
+ headerParameters['Content-Type'] = 'application/json';
176
+ if (requestParameters['xSpaceId'] != null) {
177
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
178
+ }
179
+ if (this.configuration && this.configuration.accessToken) {
180
+ const token = this.configuration.accessToken;
181
+ const tokenString = await token("ApiToken", ["sites:write"]);
182
+ if (tokenString) {
183
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
184
+ }
185
+ }
186
+ const response = await this.request({
187
+ path: `/api/v1/sites/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
188
+ method: 'PUT',
189
+ headers: headerParameters,
190
+ query: queryParameters,
191
+ body: SiteUpdateToJSON(requestParameters['siteUpdate']),
192
+ }, initOverrides);
193
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
194
+ }
195
+ /**
196
+ * Update site
197
+ */
198
+ async sitesUpdate(requestParameters, initOverrides) {
199
+ const response = await this.sitesUpdateRaw(requestParameters, initOverrides);
200
+ return await response.value();
201
+ }
202
+ }
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Defo Ads Public API
3
+ * Stable public API for managing campaigns, ads, keywords, and sites.
4
+ *
5
+ * The version of the OpenAPI document: 1.4.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { CampaignsListCursorParameter, SuccessEnvelope, SyncTriggerRequest, SyncUnlinkRequest } from '../models/index';
14
+ export interface SyncCancelRequest {
15
+ id: string;
16
+ xSpaceId?: string;
17
+ }
18
+ export interface SyncGetRequest {
19
+ id: string;
20
+ xSpaceId?: string;
21
+ }
22
+ export interface SyncListRequest {
23
+ limit?: number;
24
+ cursor?: CampaignsListCursorParameter;
25
+ xSpaceId?: string;
26
+ }
27
+ export interface SyncPlanRequest {
28
+ platforms?: string;
29
+ xSpaceId?: string;
30
+ }
31
+ export interface SyncTriggerOperationRequest {
32
+ syncTriggerRequest: SyncTriggerRequest;
33
+ xSpaceId?: string;
34
+ }
35
+ export interface SyncUnlinkOperationRequest {
36
+ syncUnlinkRequest: SyncUnlinkRequest;
37
+ xSpaceId?: string;
38
+ }
39
+ /**
40
+ * SyncApi - interface
41
+ *
42
+ * @export
43
+ * @interface SyncApiInterface
44
+ */
45
+ export interface SyncApiInterface {
46
+ /**
47
+ * Cancellation takes effect at the next campaign boundary.
48
+ * @summary Request cancellation of a running sync
49
+ * @param {string} id
50
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
51
+ * @param {*} [options] Override http request option.
52
+ * @throws {RequiredError}
53
+ * @memberof SyncApiInterface
54
+ */
55
+ syncCancelRaw(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
56
+ /**
57
+ * Cancellation takes effect at the next campaign boundary.
58
+ * Request cancellation of a running sync
59
+ */
60
+ syncCancel(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
61
+ /**
62
+ * Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
63
+ * @summary Get a sync record (status, progress, totals, errors)
64
+ * @param {string} id
65
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
66
+ * @param {*} [options] Override http request option.
67
+ * @throws {RequiredError}
68
+ * @memberof SyncApiInterface
69
+ */
70
+ syncGetRaw(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
71
+ /**
72
+ * Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
73
+ * Get a sync record (status, progress, totals, errors)
74
+ */
75
+ syncGet(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
76
+ /**
77
+ *
78
+ * @summary List recent syncs for the active Space
79
+ * @param {number} [limit] Maximum items to return. Default 50, max 200.
80
+ * @param {CampaignsListCursorParameter} [cursor] Opaque pagination cursor returned by the previous page in &#x60;meta.nextCursor&#x60;.
81
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
82
+ * @param {*} [options] Override http request option.
83
+ * @throws {RequiredError}
84
+ * @memberof SyncApiInterface
85
+ */
86
+ syncListRaw(requestParameters: SyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
87
+ /**
88
+ * List recent syncs for the active Space
89
+ */
90
+ syncList(requestParameters: SyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
91
+ /**
92
+ * Computes the import/export/remove plan for the active Space without executing.
93
+ * @summary Preview what a sync would do (dry run)
94
+ * @param {string} [platforms] Comma-separated platform ids (e.g. &#x60;google-ads,microsoft-ads&#x60;). Defaults to all connected platforms.
95
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
96
+ * @param {*} [options] Override http request option.
97
+ * @throws {RequiredError}
98
+ * @memberof SyncApiInterface
99
+ */
100
+ syncPlanRaw(requestParameters: SyncPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
101
+ /**
102
+ * Computes the import/export/remove plan for the active Space without executing.
103
+ * Preview what a sync would do (dry run)
104
+ */
105
+ syncPlan(requestParameters: SyncPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
106
+ /**
107
+ * Pushes the active Space\'s campaign tree to the connected ad platforms (and imports remote changes). Asynchronous: returns a `syncId` immediately with status `started` (or `nothing_to_sync`). Poll `GET /api/v1/sync/{id}` for progress and errors. Returns 409 CONFLICT (details: { activeSyncId, startedAt }) if a sync is already running in this Space. The platform connection used is account-wide; the campaigns synced are the active Space\'s.
108
+ * @summary Trigger a sync for the active Space
109
+ * @param {SyncTriggerRequest} syncTriggerRequest
110
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
111
+ * @param {*} [options] Override http request option.
112
+ * @throws {RequiredError}
113
+ * @memberof SyncApiInterface
114
+ */
115
+ syncTriggerRaw(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
116
+ /**
117
+ * Pushes the active Space\'s campaign tree to the connected ad platforms (and imports remote changes). Asynchronous: returns a `syncId` immediately with status `started` (or `nothing_to_sync`). Poll `GET /api/v1/sync/{id}` for progress and errors. Returns 409 CONFLICT (details: { activeSyncId, startedAt }) if a sync is already running in this Space. The platform connection used is account-wide; the campaigns synced are the active Space\'s.
118
+ * Trigger a sync for the active Space
119
+ */
120
+ syncTrigger(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
121
+ /**
122
+ * Clears the platform link (and optionally removes the remote campaign) while keeping the local campaign. Returns a per-id result map; already-unlinked ids report `not_linked`. Unlink then sync to re-create campaigns cleanly on the platform.
123
+ * @summary Unlink the active Space\'s campaigns from a platform
124
+ * @param {SyncUnlinkRequest} syncUnlinkRequest
125
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
126
+ * @param {*} [options] Override http request option.
127
+ * @throws {RequiredError}
128
+ * @memberof SyncApiInterface
129
+ */
130
+ syncUnlinkRaw(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
131
+ /**
132
+ * Clears the platform link (and optionally removes the remote campaign) while keeping the local campaign. Returns a per-id result map; already-unlinked ids report `not_linked`. Unlink then sync to re-create campaigns cleanly on the platform.
133
+ * Unlink the active Space\'s campaigns from a platform
134
+ */
135
+ syncUnlink(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
136
+ }
137
+ /**
138
+ *
139
+ */
140
+ export declare class SyncApi extends runtime.BaseAPI implements SyncApiInterface {
141
+ /**
142
+ * Cancellation takes effect at the next campaign boundary.
143
+ * Request cancellation of a running sync
144
+ */
145
+ syncCancelRaw(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
146
+ /**
147
+ * Cancellation takes effect at the next campaign boundary.
148
+ * Request cancellation of a running sync
149
+ */
150
+ syncCancel(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
151
+ /**
152
+ * Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
153
+ * Get a sync record (status, progress, totals, errors)
154
+ */
155
+ syncGetRaw(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
156
+ /**
157
+ * Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
158
+ * Get a sync record (status, progress, totals, errors)
159
+ */
160
+ syncGet(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
161
+ /**
162
+ * List recent syncs for the active Space
163
+ */
164
+ syncListRaw(requestParameters: SyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
165
+ /**
166
+ * List recent syncs for the active Space
167
+ */
168
+ syncList(requestParameters?: SyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
169
+ /**
170
+ * Computes the import/export/remove plan for the active Space without executing.
171
+ * Preview what a sync would do (dry run)
172
+ */
173
+ syncPlanRaw(requestParameters: SyncPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
174
+ /**
175
+ * Computes the import/export/remove plan for the active Space without executing.
176
+ * Preview what a sync would do (dry run)
177
+ */
178
+ syncPlan(requestParameters?: SyncPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
179
+ /**
180
+ * Pushes the active Space\'s campaign tree to the connected ad platforms (and imports remote changes). Asynchronous: returns a `syncId` immediately with status `started` (or `nothing_to_sync`). Poll `GET /api/v1/sync/{id}` for progress and errors. Returns 409 CONFLICT (details: { activeSyncId, startedAt }) if a sync is already running in this Space. The platform connection used is account-wide; the campaigns synced are the active Space\'s.
181
+ * Trigger a sync for the active Space
182
+ */
183
+ syncTriggerRaw(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
184
+ /**
185
+ * Pushes the active Space\'s campaign tree to the connected ad platforms (and imports remote changes). Asynchronous: returns a `syncId` immediately with status `started` (or `nothing_to_sync`). Poll `GET /api/v1/sync/{id}` for progress and errors. Returns 409 CONFLICT (details: { activeSyncId, startedAt }) if a sync is already running in this Space. The platform connection used is account-wide; the campaigns synced are the active Space\'s.
186
+ * Trigger a sync for the active Space
187
+ */
188
+ syncTrigger(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
189
+ /**
190
+ * Clears the platform link (and optionally removes the remote campaign) while keeping the local campaign. Returns a per-id result map; already-unlinked ids report `not_linked`. Unlink then sync to re-create campaigns cleanly on the platform.
191
+ * Unlink the active Space\'s campaigns from a platform
192
+ */
193
+ syncUnlinkRaw(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
194
+ /**
195
+ * Clears the platform link (and optionally removes the remote campaign) while keeping the local campaign. Returns a per-id result map; already-unlinked ids report `not_linked`. Unlink then sync to re-create campaigns cleanly on the platform.
196
+ * Unlink the active Space\'s campaigns from a platform
197
+ */
198
+ syncUnlink(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
199
+ }