@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,408 @@
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
+
15
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ CampaignCreate,
19
+ CampaignUpdate,
20
+ CampaignsListCursorParameter,
21
+ ErrorEnvelope,
22
+ SuccessEnvelope,
23
+ } from '../models/index';
24
+ import {
25
+ CampaignCreateFromJSON,
26
+ CampaignCreateToJSON,
27
+ CampaignUpdateFromJSON,
28
+ CampaignUpdateToJSON,
29
+ CampaignsListCursorParameterFromJSON,
30
+ CampaignsListCursorParameterToJSON,
31
+ ErrorEnvelopeFromJSON,
32
+ ErrorEnvelopeToJSON,
33
+ SuccessEnvelopeFromJSON,
34
+ SuccessEnvelopeToJSON,
35
+ } from '../models/index';
36
+
37
+ export interface CampaignsCreateRequest {
38
+ campaignCreate: CampaignCreate;
39
+ xSpaceId?: string;
40
+ }
41
+
42
+ export interface CampaignsDeleteRequest {
43
+ id: string;
44
+ xSpaceId?: string;
45
+ }
46
+
47
+ export interface CampaignsGetRequest {
48
+ id: string;
49
+ xSpaceId?: string;
50
+ }
51
+
52
+ export interface CampaignsListRequest {
53
+ limit?: number;
54
+ cursor?: CampaignsListCursorParameter;
55
+ xSpaceId?: string;
56
+ }
57
+
58
+ export interface CampaignsUpdateRequest {
59
+ id: string;
60
+ campaignUpdate: CampaignUpdate;
61
+ xSpaceId?: string;
62
+ }
63
+
64
+ /**
65
+ * CampaignsApi - interface
66
+ *
67
+ * @export
68
+ * @interface CampaignsApiInterface
69
+ */
70
+ export interface CampaignsApiInterface {
71
+ /**
72
+ * Body accepts a Campaign object. The `adSchedule` field (US-ADS-133) follows the CampaignAdScheduleField shape — see components.schemas.
73
+ * @summary Create campaign
74
+ * @param {CampaignCreate} campaignCreate
75
+ * @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.
76
+ * @param {*} [options] Override http request option.
77
+ * @throws {RequiredError}
78
+ * @memberof CampaignsApiInterface
79
+ */
80
+ campaignsCreateRaw(requestParameters: CampaignsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
81
+
82
+ /**
83
+ * Body accepts a Campaign object. The `adSchedule` field (US-ADS-133) follows the CampaignAdScheduleField shape — see components.schemas.
84
+ * Create campaign
85
+ */
86
+ campaignsCreate(requestParameters: CampaignsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
87
+
88
+ /**
89
+ *
90
+ * @summary Delete campaign
91
+ * @param {string} id
92
+ * @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.
93
+ * @param {*} [options] Override http request option.
94
+ * @throws {RequiredError}
95
+ * @memberof CampaignsApiInterface
96
+ */
97
+ campaignsDeleteRaw(requestParameters: CampaignsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
98
+
99
+ /**
100
+ * Delete campaign
101
+ */
102
+ campaignsDelete(requestParameters: CampaignsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
103
+
104
+ /**
105
+ * Response carries both `adSchedule` (legacy enum echo when set as such) and `adScheduleStructured` (canonical StructuredSchedule).
106
+ * @summary Get campaign
107
+ * @param {string} id
108
+ * @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.
109
+ * @param {*} [options] Override http request option.
110
+ * @throws {RequiredError}
111
+ * @memberof CampaignsApiInterface
112
+ */
113
+ campaignsGetRaw(requestParameters: CampaignsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
114
+
115
+ /**
116
+ * Response carries both `adSchedule` (legacy enum echo when set as such) and `adScheduleStructured` (canonical StructuredSchedule).
117
+ * Get campaign
118
+ */
119
+ campaignsGet(requestParameters: CampaignsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
120
+
121
+ /**
122
+ *
123
+ * @summary List campaigns
124
+ * @param {number} [limit] Maximum items to return. Default 50, max 200.
125
+ * @param {CampaignsListCursorParameter} [cursor] Opaque pagination cursor returned by the previous page in &#x60;meta.nextCursor&#x60;.
126
+ * @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.
127
+ * @param {*} [options] Override http request option.
128
+ * @throws {RequiredError}
129
+ * @memberof CampaignsApiInterface
130
+ */
131
+ campaignsListRaw(requestParameters: CampaignsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
132
+
133
+ /**
134
+ * List campaigns
135
+ */
136
+ campaignsList(requestParameters: CampaignsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
137
+
138
+ /**
139
+ * Body fields are merged into the existing campaign. `adSchedule` can be the legacy enum or a StructuredSchedule; the canonical form is recomputed each write.
140
+ * @summary Update campaign
141
+ * @param {string} id
142
+ * @param {CampaignUpdate} campaignUpdate
143
+ * @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.
144
+ * @param {*} [options] Override http request option.
145
+ * @throws {RequiredError}
146
+ * @memberof CampaignsApiInterface
147
+ */
148
+ campaignsUpdateRaw(requestParameters: CampaignsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
149
+
150
+ /**
151
+ * Body fields are merged into the existing campaign. `adSchedule` can be the legacy enum or a StructuredSchedule; the canonical form is recomputed each write.
152
+ * Update campaign
153
+ */
154
+ campaignsUpdate(requestParameters: CampaignsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
155
+
156
+ }
157
+
158
+ /**
159
+ *
160
+ */
161
+ export class CampaignsApi extends runtime.BaseAPI implements CampaignsApiInterface {
162
+
163
+ /**
164
+ * Body accepts a Campaign object. The `adSchedule` field (US-ADS-133) follows the CampaignAdScheduleField shape — see components.schemas.
165
+ * Create campaign
166
+ */
167
+ async campaignsCreateRaw(requestParameters: CampaignsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
168
+ if (requestParameters['campaignCreate'] == null) {
169
+ throw new runtime.RequiredError(
170
+ 'campaignCreate',
171
+ 'Required parameter "campaignCreate" was null or undefined when calling campaignsCreate().'
172
+ );
173
+ }
174
+
175
+ const queryParameters: any = {};
176
+
177
+ const headerParameters: runtime.HTTPHeaders = {};
178
+
179
+ headerParameters['Content-Type'] = 'application/json';
180
+
181
+ if (requestParameters['xSpaceId'] != null) {
182
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
183
+ }
184
+
185
+ if (this.configuration && this.configuration.accessToken) {
186
+ const token = this.configuration.accessToken;
187
+ const tokenString = await token("ApiToken", ["campaigns:write"]);
188
+
189
+ if (tokenString) {
190
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
191
+ }
192
+ }
193
+ const response = await this.request({
194
+ path: `/api/v1/campaigns`,
195
+ method: 'POST',
196
+ headers: headerParameters,
197
+ query: queryParameters,
198
+ body: CampaignCreateToJSON(requestParameters['campaignCreate']),
199
+ }, initOverrides);
200
+
201
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
202
+ }
203
+
204
+ /**
205
+ * Body accepts a Campaign object. The `adSchedule` field (US-ADS-133) follows the CampaignAdScheduleField shape — see components.schemas.
206
+ * Create campaign
207
+ */
208
+ async campaignsCreate(requestParameters: CampaignsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
209
+ const response = await this.campaignsCreateRaw(requestParameters, initOverrides);
210
+ return await response.value();
211
+ }
212
+
213
+ /**
214
+ * Delete campaign
215
+ */
216
+ async campaignsDeleteRaw(requestParameters: CampaignsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
217
+ if (requestParameters['id'] == null) {
218
+ throw new runtime.RequiredError(
219
+ 'id',
220
+ 'Required parameter "id" was null or undefined when calling campaignsDelete().'
221
+ );
222
+ }
223
+
224
+ const queryParameters: any = {};
225
+
226
+ const headerParameters: runtime.HTTPHeaders = {};
227
+
228
+ if (requestParameters['xSpaceId'] != null) {
229
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
230
+ }
231
+
232
+ if (this.configuration && this.configuration.accessToken) {
233
+ const token = this.configuration.accessToken;
234
+ const tokenString = await token("ApiToken", ["campaigns:write"]);
235
+
236
+ if (tokenString) {
237
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
238
+ }
239
+ }
240
+ const response = await this.request({
241
+ path: `/api/v1/campaigns/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
242
+ method: 'DELETE',
243
+ headers: headerParameters,
244
+ query: queryParameters,
245
+ }, initOverrides);
246
+
247
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
248
+ }
249
+
250
+ /**
251
+ * Delete campaign
252
+ */
253
+ async campaignsDelete(requestParameters: CampaignsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
254
+ const response = await this.campaignsDeleteRaw(requestParameters, initOverrides);
255
+ return await response.value();
256
+ }
257
+
258
+ /**
259
+ * Response carries both `adSchedule` (legacy enum echo when set as such) and `adScheduleStructured` (canonical StructuredSchedule).
260
+ * Get campaign
261
+ */
262
+ async campaignsGetRaw(requestParameters: CampaignsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
263
+ if (requestParameters['id'] == null) {
264
+ throw new runtime.RequiredError(
265
+ 'id',
266
+ 'Required parameter "id" was null or undefined when calling campaignsGet().'
267
+ );
268
+ }
269
+
270
+ const queryParameters: any = {};
271
+
272
+ const headerParameters: runtime.HTTPHeaders = {};
273
+
274
+ if (requestParameters['xSpaceId'] != null) {
275
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
276
+ }
277
+
278
+ if (this.configuration && this.configuration.accessToken) {
279
+ const token = this.configuration.accessToken;
280
+ const tokenString = await token("ApiToken", ["campaigns:read"]);
281
+
282
+ if (tokenString) {
283
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
284
+ }
285
+ }
286
+ const response = await this.request({
287
+ path: `/api/v1/campaigns/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
288
+ method: 'GET',
289
+ headers: headerParameters,
290
+ query: queryParameters,
291
+ }, initOverrides);
292
+
293
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
294
+ }
295
+
296
+ /**
297
+ * Response carries both `adSchedule` (legacy enum echo when set as such) and `adScheduleStructured` (canonical StructuredSchedule).
298
+ * Get campaign
299
+ */
300
+ async campaignsGet(requestParameters: CampaignsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
301
+ const response = await this.campaignsGetRaw(requestParameters, initOverrides);
302
+ return await response.value();
303
+ }
304
+
305
+ /**
306
+ * List campaigns
307
+ */
308
+ async campaignsListRaw(requestParameters: CampaignsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
309
+ const queryParameters: any = {};
310
+
311
+ if (requestParameters['limit'] != null) {
312
+ queryParameters['limit'] = requestParameters['limit'];
313
+ }
314
+
315
+ if (requestParameters['cursor'] != null) {
316
+ queryParameters['cursor'] = requestParameters['cursor'];
317
+ }
318
+
319
+ const headerParameters: runtime.HTTPHeaders = {};
320
+
321
+ if (requestParameters['xSpaceId'] != null) {
322
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
323
+ }
324
+
325
+ if (this.configuration && this.configuration.accessToken) {
326
+ const token = this.configuration.accessToken;
327
+ const tokenString = await token("ApiToken", ["campaigns:read"]);
328
+
329
+ if (tokenString) {
330
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
331
+ }
332
+ }
333
+ const response = await this.request({
334
+ path: `/api/v1/campaigns`,
335
+ method: 'GET',
336
+ headers: headerParameters,
337
+ query: queryParameters,
338
+ }, initOverrides);
339
+
340
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
341
+ }
342
+
343
+ /**
344
+ * List campaigns
345
+ */
346
+ async campaignsList(requestParameters: CampaignsListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
347
+ const response = await this.campaignsListRaw(requestParameters, initOverrides);
348
+ return await response.value();
349
+ }
350
+
351
+ /**
352
+ * Body fields are merged into the existing campaign. `adSchedule` can be the legacy enum or a StructuredSchedule; the canonical form is recomputed each write.
353
+ * Update campaign
354
+ */
355
+ async campaignsUpdateRaw(requestParameters: CampaignsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
356
+ if (requestParameters['id'] == null) {
357
+ throw new runtime.RequiredError(
358
+ 'id',
359
+ 'Required parameter "id" was null or undefined when calling campaignsUpdate().'
360
+ );
361
+ }
362
+
363
+ if (requestParameters['campaignUpdate'] == null) {
364
+ throw new runtime.RequiredError(
365
+ 'campaignUpdate',
366
+ 'Required parameter "campaignUpdate" was null or undefined when calling campaignsUpdate().'
367
+ );
368
+ }
369
+
370
+ const queryParameters: any = {};
371
+
372
+ const headerParameters: runtime.HTTPHeaders = {};
373
+
374
+ headerParameters['Content-Type'] = 'application/json';
375
+
376
+ if (requestParameters['xSpaceId'] != null) {
377
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
378
+ }
379
+
380
+ if (this.configuration && this.configuration.accessToken) {
381
+ const token = this.configuration.accessToken;
382
+ const tokenString = await token("ApiToken", ["campaigns:write"]);
383
+
384
+ if (tokenString) {
385
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
386
+ }
387
+ }
388
+ const response = await this.request({
389
+ path: `/api/v1/campaigns/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
390
+ method: 'PUT',
391
+ headers: headerParameters,
392
+ query: queryParameters,
393
+ body: CampaignUpdateToJSON(requestParameters['campaignUpdate']),
394
+ }, initOverrides);
395
+
396
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
397
+ }
398
+
399
+ /**
400
+ * Body fields are merged into the existing campaign. `adSchedule` can be the legacy enum or a StructuredSchedule; the canonical form is recomputed each write.
401
+ * Update campaign
402
+ */
403
+ async campaignsUpdate(requestParameters: CampaignsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
404
+ const response = await this.campaignsUpdateRaw(requestParameters, initOverrides);
405
+ return await response.value();
406
+ }
407
+
408
+ }