postboost 1.7.0 → 1.14.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 (288) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +26 -0
  2. package/.github/ISSUE_TEMPLATE/config.yml +11 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.yml +14 -0
  4. package/.github/pull_request_template.md +6 -0
  5. package/CODE_OF_CONDUCT.md +7 -0
  6. package/CONTRIBUTING.md +31 -0
  7. package/README.md +46 -2
  8. package/SECURITY.md +9 -0
  9. package/api/aIApi.ts +460 -2
  10. package/api/accountGroupsApi.ts +501 -0
  11. package/api/accountsApi.ts +266 -4
  12. package/api/activityApi.ts +188 -0
  13. package/api/agentsApi.ts +918 -0
  14. package/api/analyticsApi.ts +1102 -0
  15. package/api/apis.ts +23 -1
  16. package/api/competitorsApi.ts +412 -0
  17. package/api/hashtagGroupsApi.ts +501 -0
  18. package/api/inboxApi.ts +957 -0
  19. package/api/mediaApi.ts +474 -13
  20. package/api/mentionsApi.ts +509 -0
  21. package/api/postingScheduleApi.ts +497 -0
  22. package/api/postsApi.ts +1375 -65
  23. package/api/receiptsApi.ts +2 -2
  24. package/api/subscriptionsApi.ts +10 -5
  25. package/api/tagsApi.ts +5 -3
  26. package/api/templatesApi.ts +501 -0
  27. package/api/usersApi.ts +2 -2
  28. package/api/webhooksApi.ts +327 -0
  29. package/api/workspacesApi.ts +603 -3
  30. package/model/aICredits.ts +52 -0
  31. package/model/aIUsage.ts +39 -0
  32. package/model/aIUsageText.ts +52 -0
  33. package/model/account.ts +59 -4
  34. package/model/accountAnalytics.ts +73 -0
  35. package/model/accountAnalyticsInitialSync.ts +37 -0
  36. package/model/accountConnectionHealth.ts +124 -0
  37. package/model/accountErrorsInner.ts +50 -0
  38. package/model/accountErrorsInnerOneOf.ts +49 -0
  39. package/model/accountGroup.ts +49 -0
  40. package/model/accountGroupInput.ts +40 -0
  41. package/model/accountHealth.ts +90 -0
  42. package/model/accountHealthDailyCap.ts +43 -0
  43. package/model/accountSchedule.ts +49 -0
  44. package/model/addCompetitor202Response.ts +43 -0
  45. package/model/addCompetitor409Response.ts +37 -0
  46. package/model/addGenericSubscriptionRequest.ts +2 -2
  47. package/model/addPostToQueueRequest.ts +34 -0
  48. package/model/agentPageMeta.ts +49 -0
  49. package/model/agentProposal.ts +137 -0
  50. package/model/agentProposalDecision.ts +31 -0
  51. package/model/agentRun.ts +129 -0
  52. package/model/analyticsPeriod.ts +52 -0
  53. package/model/analyticsSummary.ts +39 -0
  54. package/model/analyticsSummaryData.ts +100 -0
  55. package/model/apiActivity.ts +94 -0
  56. package/model/apiActivityOutcome.ts +27 -0
  57. package/model/apiKey.ts +77 -0
  58. package/model/apiKeyAbility.ts +21 -0
  59. package/model/apiKeyInput.ts +56 -0
  60. package/model/approveAgentProposal200Response.ts +32 -0
  61. package/model/approveAgentProposal409Response.ts +38 -0
  62. package/model/approveInboxReplyDraft403Response.ts +43 -0
  63. package/model/approvePostRequest.ts +62 -0
  64. package/model/bestPostingTimes.ts +41 -0
  65. package/model/bestPostingTimesTimesInner.ts +49 -0
  66. package/model/blogToSocial200Response.ts +9 -2
  67. package/model/blogToSocial429Response.ts +2 -2
  68. package/model/blogToSocialCaption.ts +2 -2
  69. package/model/blogToSocialInput.ts +11 -2
  70. package/model/blogToSocialMedia.ts +2 -2
  71. package/model/blogToSocialResponse.ts +2 -2
  72. package/model/brandVoice.ts +136 -0
  73. package/model/brandVoiceInput.ts +142 -0
  74. package/model/brandVoiceMeta.ts +34 -0
  75. package/model/cancelSubscription422Response.ts +38 -0
  76. package/model/cancelSubscription422ResponseErrors.ts +31 -0
  77. package/model/cancelSubscriptionRequest.ts +34 -0
  78. package/model/changeSubscriptionPlanRequest.ts +2 -2
  79. package/model/channelAccount.ts +101 -0
  80. package/model/checkoutSubscription200Response.ts +2 -2
  81. package/model/checkoutSubscriptionRequest.ts +2 -2
  82. package/model/codedError.ts +46 -0
  83. package/model/competitor.ts +82 -0
  84. package/model/competitorDetail.ts +96 -0
  85. package/model/competitorInput.ts +43 -0
  86. package/model/competitorMedia.ts +61 -0
  87. package/model/competitorSnapshot.ts +43 -0
  88. package/model/completeChunkedUploadRequest.ts +40 -0
  89. package/model/connectChannelInput.ts +64 -0
  90. package/model/createAccountGroup201Response.ts +32 -0
  91. package/model/createAgent201Response.ts +32 -0
  92. package/model/createApiKey201Response.ts +32 -0
  93. package/model/createApiKey201ResponseData.ts +86 -0
  94. package/model/createHashtagGroup201Response.ts +32 -0
  95. package/model/createInboxReplyDraft201Response.ts +32 -0
  96. package/model/createMediaFolderRequest.ts +43 -0
  97. package/model/createMention201Response.ts +32 -0
  98. package/model/createRecyclingRule201Response.ts +32 -0
  99. package/model/createReportExport201Response.ts +32 -0
  100. package/model/createResellerClient201Response.ts +32 -0
  101. package/model/createRssFeed201Response.ts +32 -0
  102. package/model/createTemplate201Response.ts +32 -0
  103. package/model/createWebhookSubscription201Response.ts +32 -0
  104. package/model/createWebhookSubscription201ResponseData.ts +70 -0
  105. package/model/deleteAgent200Response.ts +31 -0
  106. package/model/deleteMediaBulkRequest.ts +6 -5
  107. package/model/deleteMediaBulkRequestItemsInner.ts +26 -0
  108. package/model/deleteMediaFolderRequest.ts +31 -0
  109. package/model/deleteMode.ts +2 -2
  110. package/model/deletePostRequest.ts +2 -2
  111. package/model/deletePostsBulkRequest.ts +2 -2
  112. package/model/deleteReceiptsBulkRequest.ts +2 -2
  113. package/model/deleteResult.ts +2 -2
  114. package/model/deleteUser400Response.ts +2 -2
  115. package/model/deleteUsersBulkRequest.ts +2 -2
  116. package/model/deleteWorkspacesBulkRequest.ts +2 -2
  117. package/model/getAccountHealth200Response.ts +32 -0
  118. package/model/getBrandVoice200Response.ts +32 -0
  119. package/model/getCompetitor200Response.ts +32 -0
  120. package/model/getInboxConversation200Response.ts +32 -0
  121. package/model/getPostingSchedule200Response.ts +32 -0
  122. package/model/getRemoteUploadStatus200Response.ts +2 -2
  123. package/model/getReportBranding200Response.ts +32 -0
  124. package/model/guardrailError.ts +82 -0
  125. package/model/hashtagGroup.ts +46 -0
  126. package/model/hashtagGroupInput.ts +37 -0
  127. package/model/imageAltText200Response.ts +2 -2
  128. package/model/imageAltTextInput.ts +2 -2
  129. package/model/imageAltTextResponse.ts +2 -2
  130. package/model/imageCreditBalance.ts +67 -0
  131. package/model/imageEditInput.ts +11 -2
  132. package/model/imageGenerate200Response.ts +9 -2
  133. package/model/imageGenerate429Response.ts +2 -2
  134. package/model/imageGenerateInput.ts +14 -2
  135. package/model/imageGenerationResponse.ts +2 -2
  136. package/model/imagePrompt200Response.ts +9 -2
  137. package/model/imagePrompt429Response.ts +2 -2
  138. package/model/imagePromptInput.ts +14 -2
  139. package/model/imagePromptResponse.ts +2 -2
  140. package/model/imageVariations200Response.ts +2 -2
  141. package/model/imageVariationsInput.ts +2 -2
  142. package/model/imageVariationsResponse.ts +2 -2
  143. package/model/inboxAuthor.ts +43 -0
  144. package/model/inboxConversation.ts +139 -0
  145. package/model/inboxConversationAccount.ts +49 -0
  146. package/model/inboxConversationUpdate.ts +43 -0
  147. package/model/inboxMessage.ts +95 -0
  148. package/model/inboxMessageAuthor.ts +43 -0
  149. package/model/inboxReplyDraft.ts +132 -0
  150. package/model/inboxReplyDraftApprove.ts +34 -0
  151. package/model/inboxReplyDraftEdit.ts +31 -0
  152. package/model/inboxReplyDraftInput.ts +43 -0
  153. package/model/initiateChunkedUpload201Response.ts +2 -2
  154. package/model/initiateChunkedUploadRequest.ts +2 -2
  155. package/model/initiateRemoteUpload201Response.ts +60 -2
  156. package/model/initiateRemoteUpload201ResponseOneOf.ts +2 -2
  157. package/model/initiateRemoteUploadRequest.ts +11 -2
  158. package/model/learnBrandVoiceInput.ts +61 -0
  159. package/model/learnBrandVoiceResponse.ts +39 -0
  160. package/model/learnBrandVoiceResponseMeta.ts +55 -0
  161. package/model/listAccountGroups200Response.ts +46 -0
  162. package/model/listAccounts200Response.ts +2 -2
  163. package/model/listAgentProposals200Response.ts +39 -0
  164. package/model/listAgentRuns200Response.ts +39 -0
  165. package/model/listAgents200Response.ts +32 -0
  166. package/model/listApiActivity200Response.ts +46 -0
  167. package/model/listApiKeys200Response.ts +32 -0
  168. package/model/listCompetitors200Response.ts +32 -0
  169. package/model/listHashtagGroups200Response.ts +46 -0
  170. package/model/listInboxConversations200Response.ts +46 -0
  171. package/model/listInboxReplyDrafts200Response.ts +46 -0
  172. package/model/listMedia200Response.ts +2 -2
  173. package/model/listMediaFolders200Response.ts +32 -0
  174. package/model/listMentions200Response.ts +46 -0
  175. package/model/listMyWorkspaces200Response.ts +32 -0
  176. package/model/listPosts200Response.ts +2 -2
  177. package/model/listReceipts200Response.ts +2 -2
  178. package/model/listRecyclingRules200Response.ts +32 -0
  179. package/model/listRecyclingRuns200Response.ts +32 -0
  180. package/model/listReportExports200Response.ts +32 -0
  181. package/model/listResellerClients200Response.ts +39 -0
  182. package/model/listRssFeeds200Response.ts +32 -0
  183. package/model/listTags200Response.ts +2 -2
  184. package/model/listTemplates200Response.ts +46 -0
  185. package/model/listUsers200Response.ts +2 -2
  186. package/model/listWebhookSubscriptions200Response.ts +32 -0
  187. package/model/listWorkspaces200Response.ts +2 -2
  188. package/model/media.ts +60 -2
  189. package/model/mediaBase64Input.ts +61 -0
  190. package/model/mediaFolder.ts +55 -0
  191. package/model/mediaFolderInput.ts +43 -0
  192. package/model/mediaFolderRef.ts +37 -0
  193. package/model/mention.ts +65 -0
  194. package/model/mentionIdentity.ts +55 -0
  195. package/model/mentionIdentityInput.ts +67 -0
  196. package/model/mentionInput.ts +44 -0
  197. package/model/messageOnly.ts +31 -0
  198. package/model/models.ts +600 -0
  199. package/model/paginationMeta.ts +2 -2
  200. package/model/paginationMetaLinks.ts +4 -4
  201. package/model/paginationMetaMeta.ts +4 -4
  202. package/model/pollRssFeed200Response.ts +50 -0
  203. package/model/post.ts +12 -2
  204. package/model/postAnalytics.ts +46 -0
  205. package/model/postContent.ts +6 -3
  206. package/model/postInput.ts +33 -2
  207. package/model/postOptionsInstagram.ts +59 -0
  208. package/model/postOptionsTikTok.ts +97 -0
  209. package/model/postOptionsYoutube.ts +62 -0
  210. package/model/postStatus.ts +9 -3
  211. package/model/postVersion.ts +16 -6
  212. package/model/postVersionOptions.ts +55 -0
  213. package/model/postingSchedule.ts +74 -0
  214. package/model/postingScheduleDay.ts +50 -0
  215. package/model/postingScheduleDayTimesInner.ts +34 -0
  216. package/model/postingScheduleInput.ts +53 -0
  217. package/model/postingTimeSlot.ts +51 -0
  218. package/model/postingTimes.ts +88 -0
  219. package/model/postingTimesBestInner.ts +49 -0
  220. package/model/postingTimesDayIntervalsInnerInner.ts +69 -0
  221. package/model/postingTimesDaysInner.ts +57 -0
  222. package/model/preflightResult.ts +69 -0
  223. package/model/publicWorkspace.ts +50 -0
  224. package/model/publicWorkspacePivot.ts +53 -0
  225. package/model/publishProgress.ts +46 -0
  226. package/model/queueSlots.ts +43 -0
  227. package/model/receipt.ts +2 -2
  228. package/model/receiptInput.ts +2 -2
  229. package/model/receiptUpdateInput.ts +2 -2
  230. package/model/recommendedPostingTimes.ts +61 -0
  231. package/model/reconnectLink.ts +46 -0
  232. package/model/recyclingRule.ts +117 -0
  233. package/model/recyclingRuleInput.ts +114 -0
  234. package/model/recyclingRuleSettings.ts +83 -0
  235. package/model/recyclingRuleUpdate.ts +71 -0
  236. package/model/recyclingRun.ts +71 -0
  237. package/model/removeGenericSubscription422Response.ts +31 -0
  238. package/model/removeUserFromWorkspaceRequest.ts +2 -2
  239. package/model/reportBranding.ts +61 -0
  240. package/model/reportBrandingInput.ts +55 -0
  241. package/model/reportExport.ts +121 -0
  242. package/model/reportExportInput.ts +91 -0
  243. package/model/repurposeContent200Response.ts +39 -0
  244. package/model/repurposeInput.ts +213 -0
  245. package/model/repurposeInputTheme.ts +46 -0
  246. package/model/repurposeResult.ts +89 -0
  247. package/model/repurposeResultMedia.ts +40 -0
  248. package/model/repurposeResultSource.ts +51 -0
  249. package/model/repurposeSlide.ts +43 -0
  250. package/model/resellerClient.ts +82 -0
  251. package/model/resellerClientInput.ts +31 -0
  252. package/model/resellerClientUsage.ts +43 -0
  253. package/model/retryPostAccountResult.ts +47 -0
  254. package/model/rssFeed.ts +100 -0
  255. package/model/rssFeedInput.ts +79 -0
  256. package/model/rssFeedUpdate.ts +73 -0
  257. package/model/runAgent202Response.ts +32 -0
  258. package/model/schedulePostRequest.ts +39 -2
  259. package/model/scheduleResult.ts +11 -2
  260. package/model/subscription.ts +2 -2
  261. package/model/subscriptionInput.ts +2 -2
  262. package/model/subscriptionStatus.ts +2 -2
  263. package/model/subscriptionUpdateInput.ts +2 -2
  264. package/model/tag.ts +2 -2
  265. package/model/tagInput.ts +2 -2
  266. package/model/template.ts +47 -0
  267. package/model/templateContentItem.ts +40 -0
  268. package/model/templateInput.ts +41 -0
  269. package/model/templateInputContentInner.ts +40 -0
  270. package/model/updateMediaRequest.ts +18 -3
  271. package/model/uploadChunk201Response.ts +2 -2
  272. package/model/user.ts +11 -2
  273. package/model/userInput.ts +2 -2
  274. package/model/userUpdateInput.ts +2 -2
  275. package/model/webhookEventName.ts +31 -0
  276. package/model/webhookEventPayload.ts +43 -0
  277. package/model/webhookSubscription.ts +61 -0
  278. package/model/webhookSubscriptionInput.ts +67 -0
  279. package/model/workspace.ts +17 -3
  280. package/model/workspaceAgent.ts +91 -0
  281. package/model/workspaceAgentInput.ts +67 -0
  282. package/model/workspaceAgentSettings.ts +70 -0
  283. package/model/workspaceAgentUpdate.ts +58 -0
  284. package/model/workspaceInput.ts +8 -3
  285. package/model/workspaceUserInput.ts +2 -2
  286. package/model/xUsage.ts +68 -0
  287. package/model/xUsageCounter.ts +40 -0
  288. package/package.json +1 -1
@@ -0,0 +1,501 @@
1
+ /**
2
+ * PostBoost API
3
+ * The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace\'s plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request\'s `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account\'s daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
4
+ *
5
+ * The version of the OpenAPI document: 1.14.0
6
+ * Contact: hi@postboost.co
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
+
13
+
14
+ import localVarRequest from 'request';
15
+ import http from 'http';
16
+
17
+ /* tslint:disable:no-unused-locals */
18
+ import { AccountGroupInput } from '../model/accountGroupInput';
19
+ import { CreateAccountGroup201Response } from '../model/createAccountGroup201Response';
20
+ import { ListAccountGroups200Response } from '../model/listAccountGroups200Response';
21
+
22
+ import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models';
23
+ import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models';
24
+
25
+ import { HttpError, RequestFile } from './apis';
26
+
27
+ let defaultBasePath = 'https://postboost.co/app/api';
28
+
29
+ // ===============================================
30
+ // This file is autogenerated - Please do not edit
31
+ // ===============================================
32
+
33
+ export enum AccountGroupsApiApiKeys {
34
+ }
35
+
36
+ export class AccountGroupsApi {
37
+ protected _basePath = defaultBasePath;
38
+ protected _defaultHeaders : any = {};
39
+ protected _useQuerystring : boolean = false;
40
+
41
+ protected authentications = {
42
+ 'default': <Authentication>new VoidAuth(),
43
+ 'bearerAuth': new HttpBearerAuth(),
44
+ }
45
+
46
+ protected interceptors: Interceptor[] = [];
47
+
48
+ constructor(basePath?: string);
49
+ constructor(basePathOrUsername: string, password?: string, basePath?: string) {
50
+ if (password) {
51
+ if (basePath) {
52
+ this.basePath = basePath;
53
+ }
54
+ } else {
55
+ if (basePathOrUsername) {
56
+ this.basePath = basePathOrUsername
57
+ }
58
+ }
59
+ }
60
+
61
+ set useQuerystring(value: boolean) {
62
+ this._useQuerystring = value;
63
+ }
64
+
65
+ set basePath(basePath: string) {
66
+ this._basePath = basePath;
67
+ }
68
+
69
+ set defaultHeaders(defaultHeaders: any) {
70
+ this._defaultHeaders = defaultHeaders;
71
+ }
72
+
73
+ get defaultHeaders() {
74
+ return this._defaultHeaders;
75
+ }
76
+
77
+ get basePath() {
78
+ return this._basePath;
79
+ }
80
+
81
+ public setDefaultAuthentication(auth: Authentication) {
82
+ this.authentications.default = auth;
83
+ }
84
+
85
+ public setApiKey(key: AccountGroupsApiApiKeys, value: string) {
86
+ (this.authentications as any)[AccountGroupsApiApiKeys[key]].apiKey = value;
87
+ }
88
+
89
+ set accessToken(accessToken: string | (() => string)) {
90
+ this.authentications.bearerAuth.accessToken = accessToken;
91
+ }
92
+
93
+ public addInterceptor(interceptor: Interceptor) {
94
+ this.interceptors.push(interceptor);
95
+ }
96
+
97
+ /**
98
+ * Creates a named set of accounts of this workspace. Admins and members only (not viewers).
99
+ * @summary Create an account group
100
+ * @param workspaceUuid UUID of the workspace.
101
+ * @param accountGroupInput
102
+ */
103
+ public async createAccountGroup (workspaceUuid: string, accountGroupInput: AccountGroupInput, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: CreateAccountGroup201Response; }> {
104
+ const localVarPath = this.basePath + '/{workspaceUuid}/account-groups'
105
+ .replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
106
+ let localVarQueryParameters: any = {};
107
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
108
+ const produces = ['application/json'];
109
+ // give precedence to 'application/json'
110
+ if (produces.indexOf('application/json') >= 0) {
111
+ localVarHeaderParams.Accept = 'application/json';
112
+ } else {
113
+ localVarHeaderParams.Accept = produces.join(',');
114
+ }
115
+ let localVarFormParams: any = {};
116
+
117
+ // verify required parameter 'workspaceUuid' is not null or undefined
118
+ if (workspaceUuid === null || workspaceUuid === undefined) {
119
+ throw new Error('Required parameter workspaceUuid was null or undefined when calling createAccountGroup.');
120
+ }
121
+
122
+ // verify required parameter 'accountGroupInput' is not null or undefined
123
+ if (accountGroupInput === null || accountGroupInput === undefined) {
124
+ throw new Error('Required parameter accountGroupInput was null or undefined when calling createAccountGroup.');
125
+ }
126
+
127
+ (<any>Object).assign(localVarHeaderParams, options.headers);
128
+
129
+ let localVarUseFormData = false;
130
+
131
+ let localVarRequestOptions: localVarRequest.Options = {
132
+ method: 'POST',
133
+ qs: localVarQueryParameters,
134
+ headers: localVarHeaderParams,
135
+ uri: localVarPath,
136
+ useQuerystring: this._useQuerystring,
137
+ json: true,
138
+ body: ObjectSerializer.serialize(accountGroupInput, "AccountGroupInput")
139
+ };
140
+
141
+ let authenticationPromise = Promise.resolve();
142
+ if (this.authentications.bearerAuth.accessToken) {
143
+ authenticationPromise = authenticationPromise.then(() => this.authentications.bearerAuth.applyToRequest(localVarRequestOptions));
144
+ }
145
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
146
+
147
+ let interceptorPromise = authenticationPromise;
148
+ for (const interceptor of this.interceptors) {
149
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
150
+ }
151
+
152
+ return interceptorPromise.then(() => {
153
+ if (Object.keys(localVarFormParams).length) {
154
+ if (localVarUseFormData) {
155
+ (<any>localVarRequestOptions).formData = localVarFormParams;
156
+ } else {
157
+ localVarRequestOptions.form = localVarFormParams;
158
+ }
159
+ }
160
+ return new Promise<{ response: http.IncomingMessage; body: CreateAccountGroup201Response; }>((resolve, reject) => {
161
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
162
+ if (error) {
163
+ reject(error);
164
+ } else {
165
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
166
+ body = ObjectSerializer.deserialize(body, "CreateAccountGroup201Response");
167
+ resolve({ response: response, body: body });
168
+ } else {
169
+ reject(new HttpError(response, body, response.statusCode));
170
+ }
171
+ }
172
+ });
173
+ });
174
+ });
175
+ }
176
+ /**
177
+ * Deletes the group, not its accounts. Admins and members only (not viewers).
178
+ * @summary Delete an account group
179
+ * @param workspaceUuid UUID of the workspace.
180
+ * @param accountGroupUuid The account group &#x60;uuid&#x60;.
181
+ */
182
+ public async deleteAccountGroup (workspaceUuid: string, accountGroupUuid: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> {
183
+ const localVarPath = this.basePath + '/{workspaceUuid}/account-groups/{accountGroupUuid}'
184
+ .replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)))
185
+ .replace('{' + 'accountGroupUuid' + '}', encodeURIComponent(String(accountGroupUuid)));
186
+ let localVarQueryParameters: any = {};
187
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
188
+ const produces = ['application/json'];
189
+ // give precedence to 'application/json'
190
+ if (produces.indexOf('application/json') >= 0) {
191
+ localVarHeaderParams.Accept = 'application/json';
192
+ } else {
193
+ localVarHeaderParams.Accept = produces.join(',');
194
+ }
195
+ let localVarFormParams: any = {};
196
+
197
+ // verify required parameter 'workspaceUuid' is not null or undefined
198
+ if (workspaceUuid === null || workspaceUuid === undefined) {
199
+ throw new Error('Required parameter workspaceUuid was null or undefined when calling deleteAccountGroup.');
200
+ }
201
+
202
+ // verify required parameter 'accountGroupUuid' is not null or undefined
203
+ if (accountGroupUuid === null || accountGroupUuid === undefined) {
204
+ throw new Error('Required parameter accountGroupUuid was null or undefined when calling deleteAccountGroup.');
205
+ }
206
+
207
+ (<any>Object).assign(localVarHeaderParams, options.headers);
208
+
209
+ let localVarUseFormData = false;
210
+
211
+ let localVarRequestOptions: localVarRequest.Options = {
212
+ method: 'DELETE',
213
+ qs: localVarQueryParameters,
214
+ headers: localVarHeaderParams,
215
+ uri: localVarPath,
216
+ useQuerystring: this._useQuerystring,
217
+ json: true,
218
+ };
219
+
220
+ let authenticationPromise = Promise.resolve();
221
+ if (this.authentications.bearerAuth.accessToken) {
222
+ authenticationPromise = authenticationPromise.then(() => this.authentications.bearerAuth.applyToRequest(localVarRequestOptions));
223
+ }
224
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
225
+
226
+ let interceptorPromise = authenticationPromise;
227
+ for (const interceptor of this.interceptors) {
228
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
229
+ }
230
+
231
+ return interceptorPromise.then(() => {
232
+ if (Object.keys(localVarFormParams).length) {
233
+ if (localVarUseFormData) {
234
+ (<any>localVarRequestOptions).formData = localVarFormParams;
235
+ } else {
236
+ localVarRequestOptions.form = localVarFormParams;
237
+ }
238
+ }
239
+ return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => {
240
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
241
+ if (error) {
242
+ reject(error);
243
+ } else {
244
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
245
+ resolve({ response: response, body: body });
246
+ } else {
247
+ reject(new HttpError(response, body, response.statusCode));
248
+ }
249
+ }
250
+ });
251
+ });
252
+ });
253
+ }
254
+ /**
255
+ * One account group.
256
+ * @summary Get an account group
257
+ * @param workspaceUuid UUID of the workspace.
258
+ * @param accountGroupUuid The account group &#x60;uuid&#x60;.
259
+ */
260
+ public async getAccountGroup (workspaceUuid: string, accountGroupUuid: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: CreateAccountGroup201Response; }> {
261
+ const localVarPath = this.basePath + '/{workspaceUuid}/account-groups/{accountGroupUuid}'
262
+ .replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)))
263
+ .replace('{' + 'accountGroupUuid' + '}', encodeURIComponent(String(accountGroupUuid)));
264
+ let localVarQueryParameters: any = {};
265
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
266
+ const produces = ['application/json'];
267
+ // give precedence to 'application/json'
268
+ if (produces.indexOf('application/json') >= 0) {
269
+ localVarHeaderParams.Accept = 'application/json';
270
+ } else {
271
+ localVarHeaderParams.Accept = produces.join(',');
272
+ }
273
+ let localVarFormParams: any = {};
274
+
275
+ // verify required parameter 'workspaceUuid' is not null or undefined
276
+ if (workspaceUuid === null || workspaceUuid === undefined) {
277
+ throw new Error('Required parameter workspaceUuid was null or undefined when calling getAccountGroup.');
278
+ }
279
+
280
+ // verify required parameter 'accountGroupUuid' is not null or undefined
281
+ if (accountGroupUuid === null || accountGroupUuid === undefined) {
282
+ throw new Error('Required parameter accountGroupUuid was null or undefined when calling getAccountGroup.');
283
+ }
284
+
285
+ (<any>Object).assign(localVarHeaderParams, options.headers);
286
+
287
+ let localVarUseFormData = false;
288
+
289
+ let localVarRequestOptions: localVarRequest.Options = {
290
+ method: 'GET',
291
+ qs: localVarQueryParameters,
292
+ headers: localVarHeaderParams,
293
+ uri: localVarPath,
294
+ useQuerystring: this._useQuerystring,
295
+ json: true,
296
+ };
297
+
298
+ let authenticationPromise = Promise.resolve();
299
+ if (this.authentications.bearerAuth.accessToken) {
300
+ authenticationPromise = authenticationPromise.then(() => this.authentications.bearerAuth.applyToRequest(localVarRequestOptions));
301
+ }
302
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
303
+
304
+ let interceptorPromise = authenticationPromise;
305
+ for (const interceptor of this.interceptors) {
306
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
307
+ }
308
+
309
+ return interceptorPromise.then(() => {
310
+ if (Object.keys(localVarFormParams).length) {
311
+ if (localVarUseFormData) {
312
+ (<any>localVarRequestOptions).formData = localVarFormParams;
313
+ } else {
314
+ localVarRequestOptions.form = localVarFormParams;
315
+ }
316
+ }
317
+ return new Promise<{ response: http.IncomingMessage; body: CreateAccountGroup201Response; }>((resolve, reject) => {
318
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
319
+ if (error) {
320
+ reject(error);
321
+ } else {
322
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
323
+ body = ObjectSerializer.deserialize(body, "CreateAccountGroup201Response");
324
+ resolve({ response: response, body: body });
325
+ } else {
326
+ reject(new HttpError(response, body, response.statusCode));
327
+ }
328
+ }
329
+ });
330
+ });
331
+ });
332
+ }
333
+ /**
334
+ * Named sets of accounts, sorted by name, with their account ids. Pass `account_ids` as `accounts` when you create a post to publish to the whole group. Paginated with `page` and `per_page` (default 100). A key limited to some accounts only sees groups whose accounts are all among its accounts, and `meta.total` counts only those.
335
+ * @summary List account groups
336
+ * @param workspaceUuid UUID of the workspace.
337
+ * @param page Page number (1-based).
338
+ * @param perPage Items per page, 1-100.
339
+ */
340
+ public async listAccountGroups (workspaceUuid: string, page?: number, perPage?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ListAccountGroups200Response; }> {
341
+ const localVarPath = this.basePath + '/{workspaceUuid}/account-groups'
342
+ .replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
343
+ let localVarQueryParameters: any = {};
344
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
345
+ const produces = ['application/json'];
346
+ // give precedence to 'application/json'
347
+ if (produces.indexOf('application/json') >= 0) {
348
+ localVarHeaderParams.Accept = 'application/json';
349
+ } else {
350
+ localVarHeaderParams.Accept = produces.join(',');
351
+ }
352
+ let localVarFormParams: any = {};
353
+
354
+ // verify required parameter 'workspaceUuid' is not null or undefined
355
+ if (workspaceUuid === null || workspaceUuid === undefined) {
356
+ throw new Error('Required parameter workspaceUuid was null or undefined when calling listAccountGroups.');
357
+ }
358
+
359
+ if (page !== undefined) {
360
+ localVarQueryParameters['page'] = ObjectSerializer.serialize(page, "number");
361
+ }
362
+
363
+ if (perPage !== undefined) {
364
+ localVarQueryParameters['per_page'] = ObjectSerializer.serialize(perPage, "number");
365
+ }
366
+
367
+ (<any>Object).assign(localVarHeaderParams, options.headers);
368
+
369
+ let localVarUseFormData = false;
370
+
371
+ let localVarRequestOptions: localVarRequest.Options = {
372
+ method: 'GET',
373
+ qs: localVarQueryParameters,
374
+ headers: localVarHeaderParams,
375
+ uri: localVarPath,
376
+ useQuerystring: this._useQuerystring,
377
+ json: true,
378
+ };
379
+
380
+ let authenticationPromise = Promise.resolve();
381
+ if (this.authentications.bearerAuth.accessToken) {
382
+ authenticationPromise = authenticationPromise.then(() => this.authentications.bearerAuth.applyToRequest(localVarRequestOptions));
383
+ }
384
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
385
+
386
+ let interceptorPromise = authenticationPromise;
387
+ for (const interceptor of this.interceptors) {
388
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
389
+ }
390
+
391
+ return interceptorPromise.then(() => {
392
+ if (Object.keys(localVarFormParams).length) {
393
+ if (localVarUseFormData) {
394
+ (<any>localVarRequestOptions).formData = localVarFormParams;
395
+ } else {
396
+ localVarRequestOptions.form = localVarFormParams;
397
+ }
398
+ }
399
+ return new Promise<{ response: http.IncomingMessage; body: ListAccountGroups200Response; }>((resolve, reject) => {
400
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
401
+ if (error) {
402
+ reject(error);
403
+ } else {
404
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
405
+ body = ObjectSerializer.deserialize(body, "ListAccountGroups200Response");
406
+ resolve({ response: response, body: body });
407
+ } else {
408
+ reject(new HttpError(response, body, response.statusCode));
409
+ }
410
+ }
411
+ });
412
+ });
413
+ });
414
+ }
415
+ /**
416
+ * Replaces the name and the accounts of the group (accounts you leave out are removed). Admins and members only (not viewers).
417
+ * @summary Update an account group
418
+ * @param workspaceUuid UUID of the workspace.
419
+ * @param accountGroupUuid The account group &#x60;uuid&#x60;.
420
+ * @param accountGroupInput
421
+ */
422
+ public async updateAccountGroup (workspaceUuid: string, accountGroupUuid: string, accountGroupInput: AccountGroupInput, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: CreateAccountGroup201Response; }> {
423
+ const localVarPath = this.basePath + '/{workspaceUuid}/account-groups/{accountGroupUuid}'
424
+ .replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)))
425
+ .replace('{' + 'accountGroupUuid' + '}', encodeURIComponent(String(accountGroupUuid)));
426
+ let localVarQueryParameters: any = {};
427
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
428
+ const produces = ['application/json'];
429
+ // give precedence to 'application/json'
430
+ if (produces.indexOf('application/json') >= 0) {
431
+ localVarHeaderParams.Accept = 'application/json';
432
+ } else {
433
+ localVarHeaderParams.Accept = produces.join(',');
434
+ }
435
+ let localVarFormParams: any = {};
436
+
437
+ // verify required parameter 'workspaceUuid' is not null or undefined
438
+ if (workspaceUuid === null || workspaceUuid === undefined) {
439
+ throw new Error('Required parameter workspaceUuid was null or undefined when calling updateAccountGroup.');
440
+ }
441
+
442
+ // verify required parameter 'accountGroupUuid' is not null or undefined
443
+ if (accountGroupUuid === null || accountGroupUuid === undefined) {
444
+ throw new Error('Required parameter accountGroupUuid was null or undefined when calling updateAccountGroup.');
445
+ }
446
+
447
+ // verify required parameter 'accountGroupInput' is not null or undefined
448
+ if (accountGroupInput === null || accountGroupInput === undefined) {
449
+ throw new Error('Required parameter accountGroupInput was null or undefined when calling updateAccountGroup.');
450
+ }
451
+
452
+ (<any>Object).assign(localVarHeaderParams, options.headers);
453
+
454
+ let localVarUseFormData = false;
455
+
456
+ let localVarRequestOptions: localVarRequest.Options = {
457
+ method: 'PUT',
458
+ qs: localVarQueryParameters,
459
+ headers: localVarHeaderParams,
460
+ uri: localVarPath,
461
+ useQuerystring: this._useQuerystring,
462
+ json: true,
463
+ body: ObjectSerializer.serialize(accountGroupInput, "AccountGroupInput")
464
+ };
465
+
466
+ let authenticationPromise = Promise.resolve();
467
+ if (this.authentications.bearerAuth.accessToken) {
468
+ authenticationPromise = authenticationPromise.then(() => this.authentications.bearerAuth.applyToRequest(localVarRequestOptions));
469
+ }
470
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
471
+
472
+ let interceptorPromise = authenticationPromise;
473
+ for (const interceptor of this.interceptors) {
474
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
475
+ }
476
+
477
+ return interceptorPromise.then(() => {
478
+ if (Object.keys(localVarFormParams).length) {
479
+ if (localVarUseFormData) {
480
+ (<any>localVarRequestOptions).formData = localVarFormParams;
481
+ } else {
482
+ localVarRequestOptions.form = localVarFormParams;
483
+ }
484
+ }
485
+ return new Promise<{ response: http.IncomingMessage; body: CreateAccountGroup201Response; }>((resolve, reject) => {
486
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
487
+ if (error) {
488
+ reject(error);
489
+ } else {
490
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
491
+ body = ObjectSerializer.deserialize(body, "CreateAccountGroup201Response");
492
+ resolve({ response: response, body: body });
493
+ } else {
494
+ reject(new HttpError(response, body, response.statusCode));
495
+ }
496
+ }
497
+ });
498
+ });
499
+ });
500
+ }
501
+ }