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,129 @@
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
+ import { RequestFile } from './models';
14
+ import { AgentProposal } from './agentProposal';
15
+
16
+ export class AgentRun {
17
+ 'uuid': string;
18
+ 'agentUuid': string | null;
19
+ 'agentType': string | null;
20
+ 'trigger': AgentRun.TriggerEnum;
21
+ 'status': AgentRun.StatusEnum;
22
+ 'startedAt'?: Date | null;
23
+ 'finishedAt'?: Date | null;
24
+ 'itemsChecked': number;
25
+ 'proposalsCreated': number;
26
+ /**
27
+ * AI credits this run used.
28
+ */
29
+ 'creditsUsed': number;
30
+ 'summary'?: string | null;
31
+ 'error'?: string | null;
32
+ 'createdAt'?: Date | null;
33
+ /**
34
+ * Only on `GET /agent-runs/{runUuid}`.
35
+ */
36
+ 'proposals'?: Array<AgentProposal>;
37
+
38
+ static discriminator: string | undefined = undefined;
39
+
40
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
41
+ {
42
+ "name": "uuid",
43
+ "baseName": "uuid",
44
+ "type": "string"
45
+ },
46
+ {
47
+ "name": "agentUuid",
48
+ "baseName": "agent_uuid",
49
+ "type": "string"
50
+ },
51
+ {
52
+ "name": "agentType",
53
+ "baseName": "agent_type",
54
+ "type": "string"
55
+ },
56
+ {
57
+ "name": "trigger",
58
+ "baseName": "trigger",
59
+ "type": "AgentRun.TriggerEnum"
60
+ },
61
+ {
62
+ "name": "status",
63
+ "baseName": "status",
64
+ "type": "AgentRun.StatusEnum"
65
+ },
66
+ {
67
+ "name": "startedAt",
68
+ "baseName": "started_at",
69
+ "type": "Date"
70
+ },
71
+ {
72
+ "name": "finishedAt",
73
+ "baseName": "finished_at",
74
+ "type": "Date"
75
+ },
76
+ {
77
+ "name": "itemsChecked",
78
+ "baseName": "items_checked",
79
+ "type": "number"
80
+ },
81
+ {
82
+ "name": "proposalsCreated",
83
+ "baseName": "proposals_created",
84
+ "type": "number"
85
+ },
86
+ {
87
+ "name": "creditsUsed",
88
+ "baseName": "credits_used",
89
+ "type": "number"
90
+ },
91
+ {
92
+ "name": "summary",
93
+ "baseName": "summary",
94
+ "type": "string"
95
+ },
96
+ {
97
+ "name": "error",
98
+ "baseName": "error",
99
+ "type": "string"
100
+ },
101
+ {
102
+ "name": "createdAt",
103
+ "baseName": "created_at",
104
+ "type": "Date"
105
+ },
106
+ {
107
+ "name": "proposals",
108
+ "baseName": "proposals",
109
+ "type": "Array<AgentProposal>"
110
+ } ];
111
+
112
+ static getAttributeTypeMap() {
113
+ return AgentRun.attributeTypeMap;
114
+ }
115
+ }
116
+
117
+ export namespace AgentRun {
118
+ export enum TriggerEnum {
119
+ Schedule = <any> 'schedule',
120
+ Manual = <any> 'manual'
121
+ }
122
+ export enum StatusEnum {
123
+ Queued = <any> 'queued',
124
+ Running = <any> 'running',
125
+ Succeeded = <any> 'succeeded',
126
+ Failed = <any> 'failed',
127
+ Skipped = <any> 'skipped'
128
+ }
129
+ }
@@ -0,0 +1,52 @@
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
+ import { RequestFile } from './models';
14
+
15
+ export class AnalyticsPeriod {
16
+ 'startDate': string;
17
+ 'endDate': string;
18
+ /**
19
+ * Start of the equally long range before this one, used for comparisons.
20
+ */
21
+ 'previousStartDate': string;
22
+ 'previousEndDate': string;
23
+
24
+ static discriminator: string | undefined = undefined;
25
+
26
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
27
+ {
28
+ "name": "startDate",
29
+ "baseName": "start_date",
30
+ "type": "string"
31
+ },
32
+ {
33
+ "name": "endDate",
34
+ "baseName": "end_date",
35
+ "type": "string"
36
+ },
37
+ {
38
+ "name": "previousStartDate",
39
+ "baseName": "previous_start_date",
40
+ "type": "string"
41
+ },
42
+ {
43
+ "name": "previousEndDate",
44
+ "baseName": "previous_end_date",
45
+ "type": "string"
46
+ } ];
47
+
48
+ static getAttributeTypeMap() {
49
+ return AnalyticsPeriod.attributeTypeMap;
50
+ }
51
+ }
52
+
@@ -0,0 +1,39 @@
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
+ import { RequestFile } from './models';
14
+ import { AnalyticsPeriod } from './analyticsPeriod';
15
+ import { AnalyticsSummaryData } from './analyticsSummaryData';
16
+
17
+ export class AnalyticsSummary {
18
+ 'period': AnalyticsPeriod;
19
+ 'data': AnalyticsSummaryData;
20
+
21
+ static discriminator: string | undefined = undefined;
22
+
23
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
24
+ {
25
+ "name": "period",
26
+ "baseName": "period",
27
+ "type": "AnalyticsPeriod"
28
+ },
29
+ {
30
+ "name": "data",
31
+ "baseName": "data",
32
+ "type": "AnalyticsSummaryData"
33
+ } ];
34
+
35
+ static getAttributeTypeMap() {
36
+ return AnalyticsSummary.attributeTypeMap;
37
+ }
38
+ }
39
+
@@ -0,0 +1,100 @@
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
+ import { RequestFile } from './models';
14
+
15
+ /**
16
+ * Cross-platform summary over every account that supports analytics. Chart series are lists of `{date, value}` points (or `{label, value}` when the axis is not a date).
17
+ */
18
+ export class AnalyticsSummaryData extends any {
19
+ 'totalFollowers'?: number;
20
+ /**
21
+ * Growth in the period with the change against the previous period.
22
+ */
23
+ 'followerGrowth'?: { [key: string]: any; };
24
+ /**
25
+ * Posts in the period with the change against the previous period.
26
+ */
27
+ 'totalPosts'?: { [key: string]: any; };
28
+ 'bestAccount'?: { [key: string]: any; };
29
+ 'needsAttention'?: { [key: string]: any; };
30
+ 'audienceChart'?: Array<{ [key: string]: any; }>;
31
+ 'leaderboard'?: Array<{ [key: string]: any; }>;
32
+ 'mostActive'?: { [key: string]: any; };
33
+ 'leastActive'?: { [key: string]: any; };
34
+ 'followerDistribution'?: Array<{ [key: string]: any; }>;
35
+ 'postingStreak'?: { [key: string]: any; };
36
+
37
+ static discriminator: string | undefined = undefined;
38
+
39
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
40
+ {
41
+ "name": "totalFollowers",
42
+ "baseName": "total_followers",
43
+ "type": "number"
44
+ },
45
+ {
46
+ "name": "followerGrowth",
47
+ "baseName": "follower_growth",
48
+ "type": "{ [key: string]: any; }"
49
+ },
50
+ {
51
+ "name": "totalPosts",
52
+ "baseName": "total_posts",
53
+ "type": "{ [key: string]: any; }"
54
+ },
55
+ {
56
+ "name": "bestAccount",
57
+ "baseName": "best_account",
58
+ "type": "{ [key: string]: any; }"
59
+ },
60
+ {
61
+ "name": "needsAttention",
62
+ "baseName": "needs_attention",
63
+ "type": "{ [key: string]: any; }"
64
+ },
65
+ {
66
+ "name": "audienceChart",
67
+ "baseName": "audience_chart",
68
+ "type": "Array<{ [key: string]: any; }>"
69
+ },
70
+ {
71
+ "name": "leaderboard",
72
+ "baseName": "leaderboard",
73
+ "type": "Array<{ [key: string]: any; }>"
74
+ },
75
+ {
76
+ "name": "mostActive",
77
+ "baseName": "most_active",
78
+ "type": "{ [key: string]: any; }"
79
+ },
80
+ {
81
+ "name": "leastActive",
82
+ "baseName": "least_active",
83
+ "type": "{ [key: string]: any; }"
84
+ },
85
+ {
86
+ "name": "followerDistribution",
87
+ "baseName": "follower_distribution",
88
+ "type": "Array<{ [key: string]: any; }>"
89
+ },
90
+ {
91
+ "name": "postingStreak",
92
+ "baseName": "posting_streak",
93
+ "type": "{ [key: string]: any; }"
94
+ } ];
95
+
96
+ static getAttributeTypeMap() {
97
+ return super.getAttributeTypeMap().concat(AnalyticsSummaryData.attributeTypeMap);
98
+ }
99
+ }
100
+
@@ -0,0 +1,94 @@
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
+ import { RequestFile } from './models';
14
+ import { ApiActivityOutcome } from './apiActivityOutcome';
15
+
16
+ export class ApiActivity {
17
+ 'id': number;
18
+ 'userId'?: number | null;
19
+ /**
20
+ * First 12 hex characters of the SHA-256 of the API token used, to tell tokens apart.
21
+ */
22
+ 'tokenRef'?: string | null;
23
+ /**
24
+ * `X-PostBoost-Client` header, else the `User-Agent`.
25
+ */
26
+ 'client'?: string | null;
27
+ 'routeName'?: string | null;
28
+ 'method': string;
29
+ 'postUuid'?: string | null;
30
+ 'outcome': ApiActivityOutcome;
31
+ 'httpStatus': number;
32
+ 'createdAt': Date;
33
+
34
+ static discriminator: string | undefined = undefined;
35
+
36
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
37
+ {
38
+ "name": "id",
39
+ "baseName": "id",
40
+ "type": "number"
41
+ },
42
+ {
43
+ "name": "userId",
44
+ "baseName": "user_id",
45
+ "type": "number"
46
+ },
47
+ {
48
+ "name": "tokenRef",
49
+ "baseName": "token_ref",
50
+ "type": "string"
51
+ },
52
+ {
53
+ "name": "client",
54
+ "baseName": "client",
55
+ "type": "string"
56
+ },
57
+ {
58
+ "name": "routeName",
59
+ "baseName": "route_name",
60
+ "type": "string"
61
+ },
62
+ {
63
+ "name": "method",
64
+ "baseName": "method",
65
+ "type": "string"
66
+ },
67
+ {
68
+ "name": "postUuid",
69
+ "baseName": "post_uuid",
70
+ "type": "string"
71
+ },
72
+ {
73
+ "name": "outcome",
74
+ "baseName": "outcome",
75
+ "type": "ApiActivityOutcome"
76
+ },
77
+ {
78
+ "name": "httpStatus",
79
+ "baseName": "http_status",
80
+ "type": "number"
81
+ },
82
+ {
83
+ "name": "createdAt",
84
+ "baseName": "created_at",
85
+ "type": "Date"
86
+ } ];
87
+
88
+ static getAttributeTypeMap() {
89
+ return ApiActivity.attributeTypeMap;
90
+ }
91
+ }
92
+
93
+ export namespace ApiActivity {
94
+ }
@@ -0,0 +1,27 @@
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
+ import { RequestFile } from './models';
14
+
15
+ export enum ApiActivityOutcome {
16
+ Created = <any> 'created',
17
+ Updated = <any> 'updated',
18
+ Deleted = <any> 'deleted',
19
+ Validated = <any> 'validated',
20
+ Replayed = <any> 'replayed',
21
+ BlockedDuplicate = <any> 'blocked_duplicate',
22
+ BlockedCap = <any> 'blocked_cap',
23
+ BlockedUnauthorized = <any> 'blocked_unauthorized',
24
+ ValidationFailed = <any> 'validation_failed',
25
+ Error = <any> 'error',
26
+ Ok = <any> 'ok'
27
+ }
@@ -0,0 +1,77 @@
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
+ import { RequestFile } from './models';
14
+ import { ApiKeyAbility } from './apiKeyAbility';
15
+
16
+ export class ApiKey {
17
+ 'id': number;
18
+ 'name': string;
19
+ 'abilities': Array<ApiKeyAbility>;
20
+ 'accountIds'?: Array<number> | null;
21
+ /**
22
+ * Name of the user the key acts as.
23
+ */
24
+ 'createdBy'?: string | null;
25
+ 'lastUsedAt'?: Date | null;
26
+ 'expiresAt'?: string | null;
27
+ 'createdAt'?: Date | null;
28
+
29
+ static discriminator: string | undefined = undefined;
30
+
31
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
32
+ {
33
+ "name": "id",
34
+ "baseName": "id",
35
+ "type": "number"
36
+ },
37
+ {
38
+ "name": "name",
39
+ "baseName": "name",
40
+ "type": "string"
41
+ },
42
+ {
43
+ "name": "abilities",
44
+ "baseName": "abilities",
45
+ "type": "Array<ApiKeyAbility>"
46
+ },
47
+ {
48
+ "name": "accountIds",
49
+ "baseName": "account_ids",
50
+ "type": "Array<number>"
51
+ },
52
+ {
53
+ "name": "createdBy",
54
+ "baseName": "created_by",
55
+ "type": "string"
56
+ },
57
+ {
58
+ "name": "lastUsedAt",
59
+ "baseName": "last_used_at",
60
+ "type": "Date"
61
+ },
62
+ {
63
+ "name": "expiresAt",
64
+ "baseName": "expires_at",
65
+ "type": "string"
66
+ },
67
+ {
68
+ "name": "createdAt",
69
+ "baseName": "created_at",
70
+ "type": "Date"
71
+ } ];
72
+
73
+ static getAttributeTypeMap() {
74
+ return ApiKey.attributeTypeMap;
75
+ }
76
+ }
77
+
@@ -0,0 +1,21 @@
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
+ import { RequestFile } from './models';
14
+
15
+ export enum ApiKeyAbility {
16
+ Read = <any> 'read',
17
+ Write = <any> 'write',
18
+ Publish = <any> 'publish',
19
+ Ai = <any> 'ai',
20
+ Webhooks = <any> 'webhooks'
21
+ }
@@ -0,0 +1,56 @@
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
+ import { RequestFile } from './models';
14
+ import { ApiKeyAbility } from './apiKeyAbility';
15
+
16
+ export class ApiKeyInput {
17
+ 'name': string;
18
+ 'abilities': Array<ApiKeyAbility>;
19
+ /**
20
+ * Limit the key to these account ids of the workspace. Omit or null for every account. A limited key must send `account_ids` on recycling rules, report exports and AI drafts, and its lists show only its accounts.
21
+ */
22
+ 'accountIds'?: Array<number> | null;
23
+ /**
24
+ * Last day the key works. Must be after today. Omit for no expiry.
25
+ */
26
+ 'expiresAt'?: string | null;
27
+
28
+ static discriminator: string | undefined = undefined;
29
+
30
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
31
+ {
32
+ "name": "name",
33
+ "baseName": "name",
34
+ "type": "string"
35
+ },
36
+ {
37
+ "name": "abilities",
38
+ "baseName": "abilities",
39
+ "type": "Array<ApiKeyAbility>"
40
+ },
41
+ {
42
+ "name": "accountIds",
43
+ "baseName": "account_ids",
44
+ "type": "Array<number>"
45
+ },
46
+ {
47
+ "name": "expiresAt",
48
+ "baseName": "expires_at",
49
+ "type": "string"
50
+ } ];
51
+
52
+ static getAttributeTypeMap() {
53
+ return ApiKeyInput.attributeTypeMap;
54
+ }
55
+ }
56
+
@@ -0,0 +1,32 @@
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
+ import { RequestFile } from './models';
14
+ import { AgentProposal } from './agentProposal';
15
+
16
+ export class ApproveAgentProposal200Response {
17
+ 'data': AgentProposal;
18
+
19
+ static discriminator: string | undefined = undefined;
20
+
21
+ static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
22
+ {
23
+ "name": "data",
24
+ "baseName": "data",
25
+ "type": "AgentProposal"
26
+ } ];
27
+
28
+ static getAttributeTypeMap() {
29
+ return ApproveAgentProposal200Response.attributeTypeMap;
30
+ }
31
+ }
32
+