postboost 1.20.0 → 1.22.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 (309) hide show
  1. package/README.md +1 -1
  2. package/api/aIApi.ts +1 -1
  3. package/api/accountGroupsApi.ts +1 -1
  4. package/api/accountsApi.ts +1 -1
  5. package/api/activityApi.ts +1 -1
  6. package/api/agentsApi.ts +4 -4
  7. package/api/analyticsApi.ts +1 -1
  8. package/api/apis.ts +3 -1
  9. package/api/competitorsApi.ts +1 -1
  10. package/api/freeToolsApi.ts +584 -0
  11. package/api/hashtagGroupsApi.ts +1 -1
  12. package/api/inboxApi.ts +1 -1
  13. package/api/mediaApi.ts +1 -1
  14. package/api/mentionsApi.ts +1 -1
  15. package/api/postingScheduleApi.ts +1 -1
  16. package/api/postsApi.ts +1 -1
  17. package/api/receiptsApi.ts +1 -1
  18. package/api/subscriptionsApi.ts +1 -1
  19. package/api/tagsApi.ts +1 -1
  20. package/api/templatesApi.ts +1 -1
  21. package/api/usersApi.ts +1 -1
  22. package/api/webhooksApi.ts +1 -1
  23. package/api/workspacesApi.ts +1 -1
  24. package/model/aICredits.ts +1 -1
  25. package/model/aIUsage.ts +1 -1
  26. package/model/aIUsageText.ts +1 -1
  27. package/model/account.ts +1 -1
  28. package/model/accountAnalytics.ts +1 -1
  29. package/model/accountAnalyticsInitialSync.ts +1 -1
  30. package/model/accountConnectionHealth.ts +1 -1
  31. package/model/accountErrorsInner.ts +1 -1
  32. package/model/accountErrorsInnerOneOf.ts +1 -1
  33. package/model/accountGroup.ts +1 -1
  34. package/model/accountGroupInput.ts +1 -1
  35. package/model/accountHealth.ts +1 -1
  36. package/model/accountHealthDailyCap.ts +1 -1
  37. package/model/accountSchedule.ts +1 -1
  38. package/model/addCompetitor202Response.ts +1 -1
  39. package/model/addCompetitor409Response.ts +1 -1
  40. package/model/addGenericSubscriptionRequest.ts +1 -1
  41. package/model/addPostToQueueRequest.ts +1 -1
  42. package/model/agentPageMeta.ts +1 -1
  43. package/model/agentProposal.ts +6 -4
  44. package/model/agentProposalDecision.ts +1 -1
  45. package/model/agentRun.ts +1 -1
  46. package/model/analyticsPeriod.ts +1 -1
  47. package/model/analyticsSummary.ts +1 -1
  48. package/model/analyticsSummaryData.ts +1 -1
  49. package/model/apiActivity.ts +1 -1
  50. package/model/apiActivityOutcome.ts +1 -1
  51. package/model/apiKey.ts +1 -1
  52. package/model/apiKeyAbility.ts +1 -1
  53. package/model/apiKeyInput.ts +1 -1
  54. package/model/approveAgentProposal200Response.ts +1 -1
  55. package/model/approveAgentProposal409Response.ts +1 -1
  56. package/model/approveInboxReplyDraft403Response.ts +1 -1
  57. package/model/approvePostRequest.ts +1 -1
  58. package/model/bestPostingTimes.ts +1 -1
  59. package/model/bestPostingTimesTimesInner.ts +1 -1
  60. package/model/blogToSocial200Response.ts +1 -1
  61. package/model/blogToSocial429Response.ts +1 -1
  62. package/model/blogToSocialCaption.ts +1 -1
  63. package/model/blogToSocialInput.ts +1 -1
  64. package/model/blogToSocialMedia.ts +1 -1
  65. package/model/blogToSocialResponse.ts +1 -1
  66. package/model/brandVoice.ts +1 -1
  67. package/model/brandVoiceInput.ts +1 -1
  68. package/model/brandVoiceMeta.ts +1 -1
  69. package/model/cancelSubscription422Response.ts +1 -1
  70. package/model/cancelSubscription422ResponseErrors.ts +1 -1
  71. package/model/cancelSubscriptionRequest.ts +1 -1
  72. package/model/changeSubscriptionPlanRequest.ts +1 -1
  73. package/model/channelAccount.ts +1 -1
  74. package/model/checkoutSubscription200Response.ts +1 -1
  75. package/model/checkoutSubscriptionRequest.ts +1 -1
  76. package/model/codedError.ts +1 -1
  77. package/model/competitor.ts +1 -1
  78. package/model/competitorDetail.ts +1 -1
  79. package/model/competitorInput.ts +1 -1
  80. package/model/competitorMedia.ts +1 -1
  81. package/model/competitorSnapshot.ts +1 -1
  82. package/model/completeChunkedUploadRequest.ts +1 -1
  83. package/model/connectChannelInput.ts +1 -1
  84. package/model/createAccountGroup201Response.ts +1 -1
  85. package/model/createAgent201Response.ts +1 -1
  86. package/model/createApiKey201Response.ts +1 -1
  87. package/model/createApiKey201ResponseData.ts +1 -1
  88. package/model/createHashtagGroup201Response.ts +1 -1
  89. package/model/createInboxReplyDraft201Response.ts +1 -1
  90. package/model/createMediaFolderRequest.ts +1 -1
  91. package/model/createMention201Response.ts +1 -1
  92. package/model/createPost201Response.ts +1 -1
  93. package/model/createRecyclingRule201Response.ts +1 -1
  94. package/model/createReportExport201Response.ts +1 -1
  95. package/model/createResellerClient201Response.ts +1 -1
  96. package/model/createRssFeed201Response.ts +1 -1
  97. package/model/createTemplate201Response.ts +1 -1
  98. package/model/createWebhookSubscription201Response.ts +1 -1
  99. package/model/createWebhookSubscription201ResponseData.ts +1 -1
  100. package/model/deleteAgent200Response.ts +1 -1
  101. package/model/deleteMediaBulkRequest.ts +1 -1
  102. package/model/deleteMediaBulkRequestItemsInner.ts +1 -1
  103. package/model/deleteMediaFolderRequest.ts +1 -1
  104. package/model/deleteMode.ts +1 -1
  105. package/model/deletePostRequest.ts +1 -1
  106. package/model/deletePostsBulkRequest.ts +1 -1
  107. package/model/deleteReceiptsBulkRequest.ts +1 -1
  108. package/model/deleteResult.ts +1 -1
  109. package/model/deleteUser400Response.ts +1 -1
  110. package/model/deleteUsersBulkRequest.ts +1 -1
  111. package/model/deleteWorkspacesBulkRequest.ts +1 -1
  112. package/model/freeToolBuildUtmUrlRequest.ts +70 -0
  113. package/model/freeToolBuildUtmUrlResponse.ts +40 -0
  114. package/model/freeToolCalculateEngagementRateRequest.ts +89 -0
  115. package/model/freeToolCalculateEngagementRateResponse.ts +52 -0
  116. package/model/freeToolCountCharactersRequest.ts +59 -0
  117. package/model/freeToolCountCharactersResponse.ts +41 -0
  118. package/model/freeToolCountCharactersResponseNetworksInner.ts +61 -0
  119. package/model/freeToolError.ts +31 -0
  120. package/model/freeToolFormatLinkedInPostRequest.ts +72 -0
  121. package/model/freeToolFormatLinkedInPostResponse.ts +58 -0
  122. package/model/freeToolGenerateFancyTextRequest.ts +59 -0
  123. package/model/freeToolGenerateFancyTextResponse.ts +32 -0
  124. package/model/freeToolGenerateFancyTextResponseStylesInner.ts +46 -0
  125. package/model/freeToolList.ts +32 -0
  126. package/model/freeToolListItem.ts +78 -0
  127. package/model/freeToolSplitThreadRequest.ts +57 -0
  128. package/model/freeToolSplitThreadResponse.ts +38 -0
  129. package/model/freeToolSplitThreadResponsePostsInner.ts +40 -0
  130. package/model/getAccountHealth200Response.ts +1 -1
  131. package/model/getBrandVoice200Response.ts +1 -1
  132. package/model/getCompetitor200Response.ts +1 -1
  133. package/model/getInboxConversation200Response.ts +1 -1
  134. package/model/getPostingSchedule200Response.ts +1 -1
  135. package/model/getRemoteUploadStatus200Response.ts +1 -1
  136. package/model/getReportBranding200Response.ts +1 -1
  137. package/model/getRepurposeRun200Response.ts +1 -1
  138. package/model/guardrailError.ts +1 -1
  139. package/model/hashtagGroup.ts +1 -1
  140. package/model/hashtagGroupInput.ts +1 -1
  141. package/model/imageAltText200Response.ts +1 -1
  142. package/model/imageAltTextInput.ts +1 -1
  143. package/model/imageAltTextResponse.ts +1 -1
  144. package/model/imageCreditBalance.ts +1 -1
  145. package/model/imageEditInput.ts +1 -1
  146. package/model/imageGenerate200Response.ts +1 -1
  147. package/model/imageGenerate429Response.ts +1 -1
  148. package/model/imageGenerateInput.ts +1 -1
  149. package/model/imageGenerationResponse.ts +1 -1
  150. package/model/imagePrompt200Response.ts +1 -1
  151. package/model/imagePrompt429Response.ts +1 -1
  152. package/model/imagePromptInput.ts +1 -1
  153. package/model/imagePromptResponse.ts +1 -1
  154. package/model/imageVariations200Response.ts +1 -1
  155. package/model/imageVariationsInput.ts +1 -1
  156. package/model/imageVariationsResponse.ts +1 -1
  157. package/model/inboxAuthor.ts +1 -1
  158. package/model/inboxConversation.ts +1 -1
  159. package/model/inboxConversationAccount.ts +1 -1
  160. package/model/inboxConversationUpdate.ts +1 -1
  161. package/model/inboxMessage.ts +1 -1
  162. package/model/inboxMessageAuthor.ts +1 -1
  163. package/model/inboxReplyDraft.ts +1 -1
  164. package/model/inboxReplyDraftApprove.ts +1 -1
  165. package/model/inboxReplyDraftEdit.ts +1 -1
  166. package/model/inboxReplyDraftInput.ts +1 -1
  167. package/model/initiateChunkedUpload201Response.ts +1 -1
  168. package/model/initiateChunkedUploadRequest.ts +1 -1
  169. package/model/initiateRemoteUpload201Response.ts +1 -1
  170. package/model/initiateRemoteUpload201ResponseOneOf.ts +1 -1
  171. package/model/initiateRemoteUploadRequest.ts +1 -1
  172. package/model/learnBrandVoiceInput.ts +1 -1
  173. package/model/learnBrandVoiceResponse.ts +1 -1
  174. package/model/learnBrandVoiceResponseMeta.ts +1 -1
  175. package/model/listAccountGroups200Response.ts +1 -1
  176. package/model/listAccounts200Response.ts +1 -1
  177. package/model/listAgentProposals200Response.ts +1 -1
  178. package/model/listAgentRuns200Response.ts +1 -1
  179. package/model/listAgents200Response.ts +1 -1
  180. package/model/listApiActivity200Response.ts +1 -1
  181. package/model/listApiKeys200Response.ts +1 -1
  182. package/model/listCompetitors200Response.ts +1 -1
  183. package/model/listHashtagGroups200Response.ts +1 -1
  184. package/model/listInboxConversations200Response.ts +1 -1
  185. package/model/listInboxReplyDrafts200Response.ts +1 -1
  186. package/model/listMedia200Response.ts +1 -1
  187. package/model/listMediaFolders200Response.ts +1 -1
  188. package/model/listMentions200Response.ts +1 -1
  189. package/model/listMyWorkspaces200Response.ts +1 -1
  190. package/model/listPosts200Response.ts +1 -1
  191. package/model/listReceipts200Response.ts +1 -1
  192. package/model/listRecyclingRules200Response.ts +1 -1
  193. package/model/listRecyclingRuns200Response.ts +1 -1
  194. package/model/listReportExports200Response.ts +1 -1
  195. package/model/listResellerClients200Response.ts +1 -1
  196. package/model/listRssFeeds200Response.ts +1 -1
  197. package/model/listTags200Response.ts +1 -1
  198. package/model/listTemplates200Response.ts +1 -1
  199. package/model/listUsers200Response.ts +1 -1
  200. package/model/listWebhookSubscriptions200Response.ts +1 -1
  201. package/model/listWorkspaces200Response.ts +1 -1
  202. package/model/media.ts +1 -1
  203. package/model/mediaBase64Input.ts +1 -1
  204. package/model/mediaFolder.ts +1 -1
  205. package/model/mediaFolderInput.ts +1 -1
  206. package/model/mediaFolderRef.ts +1 -1
  207. package/model/mention.ts +1 -1
  208. package/model/mentionIdentity.ts +1 -1
  209. package/model/mentionIdentityInput.ts +1 -1
  210. package/model/mentionInput.ts +1 -1
  211. package/model/messageOnly.ts +1 -1
  212. package/model/models.ts +61 -0
  213. package/model/paginationMeta.ts +1 -1
  214. package/model/paginationMetaLinks.ts +1 -1
  215. package/model/paginationMetaMeta.ts +1 -1
  216. package/model/pollRssFeed200Response.ts +1 -1
  217. package/model/post.ts +1 -1
  218. package/model/postAnalytics.ts +1 -1
  219. package/model/postContent.ts +1 -1
  220. package/model/postInput.ts +1 -1
  221. package/model/postOptionsInstagram.ts +1 -1
  222. package/model/postOptionsTikTok.ts +1 -1
  223. package/model/postOptionsYoutube.ts +1 -1
  224. package/model/postStatus.ts +1 -1
  225. package/model/postVersion.ts +1 -1
  226. package/model/postVersionOptions.ts +1 -1
  227. package/model/postWarning.ts +1 -1
  228. package/model/postWarnings.ts +1 -1
  229. package/model/postingSchedule.ts +1 -1
  230. package/model/postingScheduleDay.ts +1 -1
  231. package/model/postingScheduleDayTimesInner.ts +1 -1
  232. package/model/postingScheduleInput.ts +1 -1
  233. package/model/postingTimeSlot.ts +1 -1
  234. package/model/postingTimes.ts +1 -1
  235. package/model/postingTimesBestInner.ts +1 -1
  236. package/model/postingTimesDayIntervalsInnerInner.ts +1 -1
  237. package/model/postingTimesDaysInner.ts +1 -1
  238. package/model/preflightResult.ts +1 -1
  239. package/model/publicWorkspace.ts +1 -1
  240. package/model/publicWorkspacePivot.ts +1 -1
  241. package/model/publishProgress.ts +1 -1
  242. package/model/queueSlots.ts +1 -1
  243. package/model/receipt.ts +1 -1
  244. package/model/receiptInput.ts +1 -1
  245. package/model/receiptUpdateInput.ts +1 -1
  246. package/model/recommendedPostingTimes.ts +1 -1
  247. package/model/reconnectLink.ts +1 -1
  248. package/model/recyclingRule.ts +1 -1
  249. package/model/recyclingRuleInput.ts +1 -1
  250. package/model/recyclingRuleSettings.ts +1 -1
  251. package/model/recyclingRuleUpdate.ts +1 -1
  252. package/model/recyclingRun.ts +1 -1
  253. package/model/removeGenericSubscription422Response.ts +1 -1
  254. package/model/removeUserFromWorkspaceRequest.ts +1 -1
  255. package/model/reportBranding.ts +1 -1
  256. package/model/reportBrandingInput.ts +1 -1
  257. package/model/reportExport.ts +1 -1
  258. package/model/reportExportInput.ts +1 -1
  259. package/model/repurposeContent200Response.ts +1 -1
  260. package/model/repurposeContent202Response.ts +1 -1
  261. package/model/repurposeContent500Response.ts +1 -1
  262. package/model/repurposeInput.ts +1 -1
  263. package/model/repurposeInputTheme.ts +1 -1
  264. package/model/repurposeResult.ts +1 -1
  265. package/model/repurposeResultMedia.ts +1 -1
  266. package/model/repurposeResultSource.ts +1 -1
  267. package/model/repurposeRun.ts +1 -1
  268. package/model/repurposeRunAccepted.ts +1 -1
  269. package/model/repurposeSlide.ts +1 -1
  270. package/model/resellerClient.ts +1 -1
  271. package/model/resellerClientInput.ts +1 -1
  272. package/model/resellerClientUsage.ts +1 -1
  273. package/model/retryPostAccountResult.ts +1 -1
  274. package/model/rssFeed.ts +1 -1
  275. package/model/rssFeedInput.ts +1 -1
  276. package/model/rssFeedUpdate.ts +1 -1
  277. package/model/runAgent202Response.ts +1 -1
  278. package/model/schedulePostRequest.ts +1 -1
  279. package/model/scheduleResult.ts +1 -1
  280. package/model/subscription.ts +1 -1
  281. package/model/subscriptionInput.ts +1 -1
  282. package/model/subscriptionStatus.ts +1 -1
  283. package/model/subscriptionUpdateInput.ts +1 -1
  284. package/model/tag.ts +1 -1
  285. package/model/tagInput.ts +1 -1
  286. package/model/template.ts +1 -1
  287. package/model/templateContentItem.ts +1 -1
  288. package/model/templateInput.ts +1 -1
  289. package/model/templateInputContentInner.ts +1 -1
  290. package/model/updateMediaRequest.ts +1 -1
  291. package/model/updatePost200Response.ts +1 -1
  292. package/model/uploadChunk201Response.ts +1 -1
  293. package/model/user.ts +1 -1
  294. package/model/userInput.ts +1 -1
  295. package/model/userUpdateInput.ts +1 -1
  296. package/model/webhookEventName.ts +1 -1
  297. package/model/webhookEventPayload.ts +1 -1
  298. package/model/webhookSubscription.ts +1 -1
  299. package/model/webhookSubscriptionInput.ts +1 -1
  300. package/model/workspace.ts +1 -1
  301. package/model/workspaceAgent.ts +3 -2
  302. package/model/workspaceAgentInput.ts +3 -2
  303. package/model/workspaceAgentSettings.ts +11 -2
  304. package/model/workspaceAgentUpdate.ts +1 -1
  305. package/model/workspaceInput.ts +1 -1
  306. package/model/workspaceUserInput.ts +1 -1
  307. package/model/xUsage.ts +1 -1
  308. package/model/xUsageCounter.ts +1 -1
  309. package/package.json +1 -1
@@ -0,0 +1,584 @@
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.22.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 { FreeToolBuildUtmUrlRequest } from '../model/freeToolBuildUtmUrlRequest';
19
+ import { FreeToolBuildUtmUrlResponse } from '../model/freeToolBuildUtmUrlResponse';
20
+ import { FreeToolCalculateEngagementRateRequest } from '../model/freeToolCalculateEngagementRateRequest';
21
+ import { FreeToolCalculateEngagementRateResponse } from '../model/freeToolCalculateEngagementRateResponse';
22
+ import { FreeToolCountCharactersRequest } from '../model/freeToolCountCharactersRequest';
23
+ import { FreeToolCountCharactersResponse } from '../model/freeToolCountCharactersResponse';
24
+ import { FreeToolError } from '../model/freeToolError';
25
+ import { FreeToolFormatLinkedInPostRequest } from '../model/freeToolFormatLinkedInPostRequest';
26
+ import { FreeToolFormatLinkedInPostResponse } from '../model/freeToolFormatLinkedInPostResponse';
27
+ import { FreeToolGenerateFancyTextRequest } from '../model/freeToolGenerateFancyTextRequest';
28
+ import { FreeToolGenerateFancyTextResponse } from '../model/freeToolGenerateFancyTextResponse';
29
+ import { FreeToolList } from '../model/freeToolList';
30
+ import { FreeToolSplitThreadRequest } from '../model/freeToolSplitThreadRequest';
31
+ import { FreeToolSplitThreadResponse } from '../model/freeToolSplitThreadResponse';
32
+
33
+ import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models';
34
+ import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models';
35
+
36
+ import { HttpError, RequestFile } from './apis';
37
+
38
+ let defaultBasePath = 'https://postboost.co/app/api';
39
+
40
+ // ===============================================
41
+ // This file is autogenerated - Please do not edit
42
+ // ===============================================
43
+
44
+ export enum FreeToolsApiApiKeys {
45
+ }
46
+
47
+ export class FreeToolsApi {
48
+ protected _basePath = defaultBasePath;
49
+ protected _defaultHeaders : any = {};
50
+ protected _useQuerystring : boolean = false;
51
+
52
+ protected authentications = {
53
+ 'default': <Authentication>new VoidAuth(),
54
+ 'bearerAuth': new HttpBearerAuth(),
55
+ }
56
+
57
+ protected interceptors: Interceptor[] = [];
58
+
59
+ constructor(basePath?: string);
60
+ constructor(basePathOrUsername: string, password?: string, basePath?: string) {
61
+ if (password) {
62
+ if (basePath) {
63
+ this.basePath = basePath;
64
+ }
65
+ } else {
66
+ if (basePathOrUsername) {
67
+ this.basePath = basePathOrUsername
68
+ }
69
+ }
70
+ }
71
+
72
+ set useQuerystring(value: boolean) {
73
+ this._useQuerystring = value;
74
+ }
75
+
76
+ set basePath(basePath: string) {
77
+ this._basePath = basePath;
78
+ }
79
+
80
+ set defaultHeaders(defaultHeaders: any) {
81
+ this._defaultHeaders = defaultHeaders;
82
+ }
83
+
84
+ get defaultHeaders() {
85
+ return this._defaultHeaders;
86
+ }
87
+
88
+ get basePath() {
89
+ return this._basePath;
90
+ }
91
+
92
+ public setDefaultAuthentication(auth: Authentication) {
93
+ this.authentications.default = auth;
94
+ }
95
+
96
+ public setApiKey(key: FreeToolsApiApiKeys, value: string) {
97
+ (this.authentications as any)[FreeToolsApiApiKeys[key]].apiKey = value;
98
+ }
99
+
100
+ set accessToken(accessToken: string | (() => string)) {
101
+ this.authentications.bearerAuth.accessToken = accessToken;
102
+ }
103
+
104
+ public addInterceptor(interceptor: Interceptor) {
105
+ this.interceptors.push(interceptor);
106
+ }
107
+
108
+ /**
109
+ * Build a UTM-tagged campaign URL. The same logic as the free web tool at https://postboost.co/tools/utm-builder. No account needed: call it without a token, or with any API token.
110
+ * @summary Build a UTM-tagged campaign URL
111
+ * @param freeToolBuildUtmUrlRequest
112
+ */
113
+ public async buildUtmUrl (freeToolBuildUtmUrlRequest: FreeToolBuildUtmUrlRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: FreeToolBuildUtmUrlResponse; }> {
114
+ const localVarPath = this.basePath + '/tools/utm-builder';
115
+ let localVarQueryParameters: any = {};
116
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
117
+ const produces = ['application/json'];
118
+ // give precedence to 'application/json'
119
+ if (produces.indexOf('application/json') >= 0) {
120
+ localVarHeaderParams.Accept = 'application/json';
121
+ } else {
122
+ localVarHeaderParams.Accept = produces.join(',');
123
+ }
124
+ let localVarFormParams: any = {};
125
+
126
+ // verify required parameter 'freeToolBuildUtmUrlRequest' is not null or undefined
127
+ if (freeToolBuildUtmUrlRequest === null || freeToolBuildUtmUrlRequest === undefined) {
128
+ throw new Error('Required parameter freeToolBuildUtmUrlRequest was null or undefined when calling buildUtmUrl.');
129
+ }
130
+
131
+ (<any>Object).assign(localVarHeaderParams, options.headers);
132
+
133
+ let localVarUseFormData = false;
134
+
135
+ let localVarRequestOptions: localVarRequest.Options = {
136
+ method: 'POST',
137
+ qs: localVarQueryParameters,
138
+ headers: localVarHeaderParams,
139
+ uri: localVarPath,
140
+ useQuerystring: this._useQuerystring,
141
+ json: true,
142
+ body: ObjectSerializer.serialize(freeToolBuildUtmUrlRequest, "FreeToolBuildUtmUrlRequest")
143
+ };
144
+
145
+ let authenticationPromise = Promise.resolve();
146
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
147
+
148
+ let interceptorPromise = authenticationPromise;
149
+ for (const interceptor of this.interceptors) {
150
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
151
+ }
152
+
153
+ return interceptorPromise.then(() => {
154
+ if (Object.keys(localVarFormParams).length) {
155
+ if (localVarUseFormData) {
156
+ (<any>localVarRequestOptions).formData = localVarFormParams;
157
+ } else {
158
+ localVarRequestOptions.form = localVarFormParams;
159
+ }
160
+ }
161
+ return new Promise<{ response: http.IncomingMessage; body: FreeToolBuildUtmUrlResponse; }>((resolve, reject) => {
162
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
163
+ if (error) {
164
+ reject(error);
165
+ } else {
166
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
167
+ body = ObjectSerializer.deserialize(body, "FreeToolBuildUtmUrlResponse");
168
+ resolve({ response: response, body: body });
169
+ } else {
170
+ reject(new HttpError(response, body, response.statusCode));
171
+ }
172
+ }
173
+ });
174
+ });
175
+ });
176
+ }
177
+ /**
178
+ * Calculate an engagement rate. The same logic as the free web tool at https://postboost.co/tools/engagement-rate-calculator. No account needed: call it without a token, or with any API token.
179
+ * @summary Calculate an engagement rate
180
+ * @param freeToolCalculateEngagementRateRequest
181
+ */
182
+ public async calculateEngagementRate (freeToolCalculateEngagementRateRequest: FreeToolCalculateEngagementRateRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: FreeToolCalculateEngagementRateResponse; }> {
183
+ const localVarPath = this.basePath + '/tools/engagement-rate-calculator';
184
+ let localVarQueryParameters: any = {};
185
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
186
+ const produces = ['application/json'];
187
+ // give precedence to 'application/json'
188
+ if (produces.indexOf('application/json') >= 0) {
189
+ localVarHeaderParams.Accept = 'application/json';
190
+ } else {
191
+ localVarHeaderParams.Accept = produces.join(',');
192
+ }
193
+ let localVarFormParams: any = {};
194
+
195
+ // verify required parameter 'freeToolCalculateEngagementRateRequest' is not null or undefined
196
+ if (freeToolCalculateEngagementRateRequest === null || freeToolCalculateEngagementRateRequest === undefined) {
197
+ throw new Error('Required parameter freeToolCalculateEngagementRateRequest was null or undefined when calling calculateEngagementRate.');
198
+ }
199
+
200
+ (<any>Object).assign(localVarHeaderParams, options.headers);
201
+
202
+ let localVarUseFormData = false;
203
+
204
+ let localVarRequestOptions: localVarRequest.Options = {
205
+ method: 'POST',
206
+ qs: localVarQueryParameters,
207
+ headers: localVarHeaderParams,
208
+ uri: localVarPath,
209
+ useQuerystring: this._useQuerystring,
210
+ json: true,
211
+ body: ObjectSerializer.serialize(freeToolCalculateEngagementRateRequest, "FreeToolCalculateEngagementRateRequest")
212
+ };
213
+
214
+ let authenticationPromise = Promise.resolve();
215
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
216
+
217
+ let interceptorPromise = authenticationPromise;
218
+ for (const interceptor of this.interceptors) {
219
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
220
+ }
221
+
222
+ return interceptorPromise.then(() => {
223
+ if (Object.keys(localVarFormParams).length) {
224
+ if (localVarUseFormData) {
225
+ (<any>localVarRequestOptions).formData = localVarFormParams;
226
+ } else {
227
+ localVarRequestOptions.form = localVarFormParams;
228
+ }
229
+ }
230
+ return new Promise<{ response: http.IncomingMessage; body: FreeToolCalculateEngagementRateResponse; }>((resolve, reject) => {
231
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
232
+ if (error) {
233
+ reject(error);
234
+ } else {
235
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
236
+ body = ObjectSerializer.deserialize(body, "FreeToolCalculateEngagementRateResponse");
237
+ resolve({ response: response, body: body });
238
+ } else {
239
+ reject(new HttpError(response, body, response.statusCode));
240
+ }
241
+ }
242
+ });
243
+ });
244
+ });
245
+ }
246
+ /**
247
+ * Count characters as each network counts them. The same logic as the free web tool at https://postboost.co/tools/social-media-character-counter. No account needed: call it without a token, or with any API token.
248
+ * @summary Count characters as each network counts them
249
+ * @param freeToolCountCharactersRequest
250
+ */
251
+ public async countCharacters (freeToolCountCharactersRequest: FreeToolCountCharactersRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: FreeToolCountCharactersResponse; }> {
252
+ const localVarPath = this.basePath + '/tools/social-media-character-counter';
253
+ let localVarQueryParameters: any = {};
254
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
255
+ const produces = ['application/json'];
256
+ // give precedence to 'application/json'
257
+ if (produces.indexOf('application/json') >= 0) {
258
+ localVarHeaderParams.Accept = 'application/json';
259
+ } else {
260
+ localVarHeaderParams.Accept = produces.join(',');
261
+ }
262
+ let localVarFormParams: any = {};
263
+
264
+ // verify required parameter 'freeToolCountCharactersRequest' is not null or undefined
265
+ if (freeToolCountCharactersRequest === null || freeToolCountCharactersRequest === undefined) {
266
+ throw new Error('Required parameter freeToolCountCharactersRequest was null or undefined when calling countCharacters.');
267
+ }
268
+
269
+ (<any>Object).assign(localVarHeaderParams, options.headers);
270
+
271
+ let localVarUseFormData = false;
272
+
273
+ let localVarRequestOptions: localVarRequest.Options = {
274
+ method: 'POST',
275
+ qs: localVarQueryParameters,
276
+ headers: localVarHeaderParams,
277
+ uri: localVarPath,
278
+ useQuerystring: this._useQuerystring,
279
+ json: true,
280
+ body: ObjectSerializer.serialize(freeToolCountCharactersRequest, "FreeToolCountCharactersRequest")
281
+ };
282
+
283
+ let authenticationPromise = Promise.resolve();
284
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
285
+
286
+ let interceptorPromise = authenticationPromise;
287
+ for (const interceptor of this.interceptors) {
288
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
289
+ }
290
+
291
+ return interceptorPromise.then(() => {
292
+ if (Object.keys(localVarFormParams).length) {
293
+ if (localVarUseFormData) {
294
+ (<any>localVarRequestOptions).formData = localVarFormParams;
295
+ } else {
296
+ localVarRequestOptions.form = localVarFormParams;
297
+ }
298
+ }
299
+ return new Promise<{ response: http.IncomingMessage; body: FreeToolCountCharactersResponse; }>((resolve, reject) => {
300
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
301
+ if (error) {
302
+ reject(error);
303
+ } else {
304
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
305
+ body = ObjectSerializer.deserialize(body, "FreeToolCountCharactersResponse");
306
+ resolve({ response: response, body: body });
307
+ } else {
308
+ reject(new HttpError(response, body, response.statusCode));
309
+ }
310
+ }
311
+ });
312
+ });
313
+ });
314
+ }
315
+ /**
316
+ * Format a LinkedIn post with bold, italic and lists. The same logic as the free web tool at https://postboost.co/tools/linkedin-post-formatter. No account needed: call it without a token, or with any API token.
317
+ * @summary Format a LinkedIn post with bold, italic and lists
318
+ * @param freeToolFormatLinkedInPostRequest
319
+ */
320
+ public async formatLinkedInPost (freeToolFormatLinkedInPostRequest: FreeToolFormatLinkedInPostRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: FreeToolFormatLinkedInPostResponse; }> {
321
+ const localVarPath = this.basePath + '/tools/linkedin-post-formatter';
322
+ let localVarQueryParameters: any = {};
323
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
324
+ const produces = ['application/json'];
325
+ // give precedence to 'application/json'
326
+ if (produces.indexOf('application/json') >= 0) {
327
+ localVarHeaderParams.Accept = 'application/json';
328
+ } else {
329
+ localVarHeaderParams.Accept = produces.join(',');
330
+ }
331
+ let localVarFormParams: any = {};
332
+
333
+ // verify required parameter 'freeToolFormatLinkedInPostRequest' is not null or undefined
334
+ if (freeToolFormatLinkedInPostRequest === null || freeToolFormatLinkedInPostRequest === undefined) {
335
+ throw new Error('Required parameter freeToolFormatLinkedInPostRequest was null or undefined when calling formatLinkedInPost.');
336
+ }
337
+
338
+ (<any>Object).assign(localVarHeaderParams, options.headers);
339
+
340
+ let localVarUseFormData = false;
341
+
342
+ let localVarRequestOptions: localVarRequest.Options = {
343
+ method: 'POST',
344
+ qs: localVarQueryParameters,
345
+ headers: localVarHeaderParams,
346
+ uri: localVarPath,
347
+ useQuerystring: this._useQuerystring,
348
+ json: true,
349
+ body: ObjectSerializer.serialize(freeToolFormatLinkedInPostRequest, "FreeToolFormatLinkedInPostRequest")
350
+ };
351
+
352
+ let authenticationPromise = Promise.resolve();
353
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
354
+
355
+ let interceptorPromise = authenticationPromise;
356
+ for (const interceptor of this.interceptors) {
357
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
358
+ }
359
+
360
+ return interceptorPromise.then(() => {
361
+ if (Object.keys(localVarFormParams).length) {
362
+ if (localVarUseFormData) {
363
+ (<any>localVarRequestOptions).formData = localVarFormParams;
364
+ } else {
365
+ localVarRequestOptions.form = localVarFormParams;
366
+ }
367
+ }
368
+ return new Promise<{ response: http.IncomingMessage; body: FreeToolFormatLinkedInPostResponse; }>((resolve, reject) => {
369
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
370
+ if (error) {
371
+ reject(error);
372
+ } else {
373
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
374
+ body = ObjectSerializer.deserialize(body, "FreeToolFormatLinkedInPostResponse");
375
+ resolve({ response: response, body: body });
376
+ } else {
377
+ reject(new HttpError(response, body, response.statusCode));
378
+ }
379
+ }
380
+ });
381
+ });
382
+ });
383
+ }
384
+ /**
385
+ * Convert text to fancy Unicode styles. The same logic as the free web tool at https://postboost.co/tools/fancy-text-generator. No account needed: call it without a token, or with any API token.
386
+ * @summary Convert text to fancy Unicode styles
387
+ * @param freeToolGenerateFancyTextRequest
388
+ */
389
+ public async generateFancyText (freeToolGenerateFancyTextRequest: FreeToolGenerateFancyTextRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: FreeToolGenerateFancyTextResponse; }> {
390
+ const localVarPath = this.basePath + '/tools/fancy-text-generator';
391
+ let localVarQueryParameters: any = {};
392
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
393
+ const produces = ['application/json'];
394
+ // give precedence to 'application/json'
395
+ if (produces.indexOf('application/json') >= 0) {
396
+ localVarHeaderParams.Accept = 'application/json';
397
+ } else {
398
+ localVarHeaderParams.Accept = produces.join(',');
399
+ }
400
+ let localVarFormParams: any = {};
401
+
402
+ // verify required parameter 'freeToolGenerateFancyTextRequest' is not null or undefined
403
+ if (freeToolGenerateFancyTextRequest === null || freeToolGenerateFancyTextRequest === undefined) {
404
+ throw new Error('Required parameter freeToolGenerateFancyTextRequest was null or undefined when calling generateFancyText.');
405
+ }
406
+
407
+ (<any>Object).assign(localVarHeaderParams, options.headers);
408
+
409
+ let localVarUseFormData = false;
410
+
411
+ let localVarRequestOptions: localVarRequest.Options = {
412
+ method: 'POST',
413
+ qs: localVarQueryParameters,
414
+ headers: localVarHeaderParams,
415
+ uri: localVarPath,
416
+ useQuerystring: this._useQuerystring,
417
+ json: true,
418
+ body: ObjectSerializer.serialize(freeToolGenerateFancyTextRequest, "FreeToolGenerateFancyTextRequest")
419
+ };
420
+
421
+ let authenticationPromise = Promise.resolve();
422
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
423
+
424
+ let interceptorPromise = authenticationPromise;
425
+ for (const interceptor of this.interceptors) {
426
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
427
+ }
428
+
429
+ return interceptorPromise.then(() => {
430
+ if (Object.keys(localVarFormParams).length) {
431
+ if (localVarUseFormData) {
432
+ (<any>localVarRequestOptions).formData = localVarFormParams;
433
+ } else {
434
+ localVarRequestOptions.form = localVarFormParams;
435
+ }
436
+ }
437
+ return new Promise<{ response: http.IncomingMessage; body: FreeToolGenerateFancyTextResponse; }>((resolve, reject) => {
438
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
439
+ if (error) {
440
+ reject(error);
441
+ } else {
442
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
443
+ body = ObjectSerializer.deserialize(body, "FreeToolGenerateFancyTextResponse");
444
+ resolve({ response: response, body: body });
445
+ } else {
446
+ reject(new HttpError(response, body, response.statusCode));
447
+ }
448
+ }
449
+ });
450
+ });
451
+ });
452
+ }
453
+ /**
454
+ * Every free tool the API serves, with its operationId and web page. No token needed.
455
+ * @summary List the free tools
456
+ */
457
+ public async listFreeTools (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: FreeToolList; }> {
458
+ const localVarPath = this.basePath + '/tools';
459
+ let localVarQueryParameters: any = {};
460
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
461
+ const produces = ['application/json'];
462
+ // give precedence to 'application/json'
463
+ if (produces.indexOf('application/json') >= 0) {
464
+ localVarHeaderParams.Accept = 'application/json';
465
+ } else {
466
+ localVarHeaderParams.Accept = produces.join(',');
467
+ }
468
+ let localVarFormParams: any = {};
469
+
470
+ (<any>Object).assign(localVarHeaderParams, options.headers);
471
+
472
+ let localVarUseFormData = false;
473
+
474
+ let localVarRequestOptions: localVarRequest.Options = {
475
+ method: 'GET',
476
+ qs: localVarQueryParameters,
477
+ headers: localVarHeaderParams,
478
+ uri: localVarPath,
479
+ useQuerystring: this._useQuerystring,
480
+ json: true,
481
+ };
482
+
483
+ let authenticationPromise = Promise.resolve();
484
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
485
+
486
+ let interceptorPromise = authenticationPromise;
487
+ for (const interceptor of this.interceptors) {
488
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
489
+ }
490
+
491
+ return interceptorPromise.then(() => {
492
+ if (Object.keys(localVarFormParams).length) {
493
+ if (localVarUseFormData) {
494
+ (<any>localVarRequestOptions).formData = localVarFormParams;
495
+ } else {
496
+ localVarRequestOptions.form = localVarFormParams;
497
+ }
498
+ }
499
+ return new Promise<{ response: http.IncomingMessage; body: FreeToolList; }>((resolve, reject) => {
500
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
501
+ if (error) {
502
+ reject(error);
503
+ } else {
504
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
505
+ body = ObjectSerializer.deserialize(body, "FreeToolList");
506
+ resolve({ response: response, body: body });
507
+ } else {
508
+ reject(new HttpError(response, body, response.statusCode));
509
+ }
510
+ }
511
+ });
512
+ });
513
+ });
514
+ }
515
+ /**
516
+ * Split long text into a thread. The same logic as the free web tool at https://postboost.co/tools/x-thread-maker. No account needed: call it without a token, or with any API token.
517
+ * @summary Split long text into a thread
518
+ * @param freeToolSplitThreadRequest
519
+ */
520
+ public async splitThread (freeToolSplitThreadRequest: FreeToolSplitThreadRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: FreeToolSplitThreadResponse; }> {
521
+ const localVarPath = this.basePath + '/tools/x-thread-maker';
522
+ let localVarQueryParameters: any = {};
523
+ let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
524
+ const produces = ['application/json'];
525
+ // give precedence to 'application/json'
526
+ if (produces.indexOf('application/json') >= 0) {
527
+ localVarHeaderParams.Accept = 'application/json';
528
+ } else {
529
+ localVarHeaderParams.Accept = produces.join(',');
530
+ }
531
+ let localVarFormParams: any = {};
532
+
533
+ // verify required parameter 'freeToolSplitThreadRequest' is not null or undefined
534
+ if (freeToolSplitThreadRequest === null || freeToolSplitThreadRequest === undefined) {
535
+ throw new Error('Required parameter freeToolSplitThreadRequest was null or undefined when calling splitThread.');
536
+ }
537
+
538
+ (<any>Object).assign(localVarHeaderParams, options.headers);
539
+
540
+ let localVarUseFormData = false;
541
+
542
+ let localVarRequestOptions: localVarRequest.Options = {
543
+ method: 'POST',
544
+ qs: localVarQueryParameters,
545
+ headers: localVarHeaderParams,
546
+ uri: localVarPath,
547
+ useQuerystring: this._useQuerystring,
548
+ json: true,
549
+ body: ObjectSerializer.serialize(freeToolSplitThreadRequest, "FreeToolSplitThreadRequest")
550
+ };
551
+
552
+ let authenticationPromise = Promise.resolve();
553
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
554
+
555
+ let interceptorPromise = authenticationPromise;
556
+ for (const interceptor of this.interceptors) {
557
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
558
+ }
559
+
560
+ return interceptorPromise.then(() => {
561
+ if (Object.keys(localVarFormParams).length) {
562
+ if (localVarUseFormData) {
563
+ (<any>localVarRequestOptions).formData = localVarFormParams;
564
+ } else {
565
+ localVarRequestOptions.form = localVarFormParams;
566
+ }
567
+ }
568
+ return new Promise<{ response: http.IncomingMessage; body: FreeToolSplitThreadResponse; }>((resolve, reject) => {
569
+ localVarRequest(localVarRequestOptions, (error, response, body) => {
570
+ if (error) {
571
+ reject(error);
572
+ } else {
573
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
574
+ body = ObjectSerializer.deserialize(body, "FreeToolSplitThreadResponse");
575
+ resolve({ response: response, body: body });
576
+ } else {
577
+ reject(new HttpError(response, body, response.statusCode));
578
+ }
579
+ }
580
+ });
581
+ });
582
+ });
583
+ }
584
+ }
@@ -2,7 +2,7 @@
2
2
  * PostBoost API
3
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
4
  *
5
- * The version of the OpenAPI document: 1.20.0
5
+ * The version of the OpenAPI document: 1.22.0
6
6
  * Contact: hi@postboost.co
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/api/inboxApi.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * PostBoost API
3
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
4
  *
5
- * The version of the OpenAPI document: 1.20.0
5
+ * The version of the OpenAPI document: 1.22.0
6
6
  * Contact: hi@postboost.co
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/api/mediaApi.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * PostBoost API
3
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
4
  *
5
- * The version of the OpenAPI document: 1.20.0
5
+ * The version of the OpenAPI document: 1.22.0
6
6
  * Contact: hi@postboost.co
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * PostBoost API
3
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
4
  *
5
- * The version of the OpenAPI document: 1.20.0
5
+ * The version of the OpenAPI document: 1.22.0
6
6
  * Contact: hi@postboost.co
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * PostBoost API
3
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
4
  *
5
- * The version of the OpenAPI document: 1.20.0
5
+ * The version of the OpenAPI document: 1.22.0
6
6
  * Contact: hi@postboost.co
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/api/postsApi.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * PostBoost API
3
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
4
  *
5
- * The version of the OpenAPI document: 1.20.0
5
+ * The version of the OpenAPI document: 1.22.0
6
6
  * Contact: hi@postboost.co
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).