postboost 1.8.0 → 1.15.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.
- package/.github/ISSUE_TEMPLATE/bug_report.yml +26 -0
- package/.github/ISSUE_TEMPLATE/config.yml +11 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +14 -0
- package/.github/pull_request_template.md +6 -0
- package/CODE_OF_CONDUCT.md +7 -0
- package/CONTRIBUTING.md +31 -0
- package/README.md +46 -2
- package/SECURITY.md +9 -0
- package/api/aIApi.ts +460 -2
- package/api/accountGroupsApi.ts +501 -0
- package/api/accountsApi.ts +244 -2
- package/api/activityApi.ts +188 -0
- package/api/agentsApi.ts +918 -0
- package/api/analyticsApi.ts +551 -2
- package/api/apis.ts +19 -1
- package/api/competitorsApi.ts +412 -0
- package/api/hashtagGroupsApi.ts +501 -0
- package/api/inboxApi.ts +957 -0
- package/api/mediaApi.ts +97 -7
- package/api/mentionsApi.ts +5 -3
- package/api/postingScheduleApi.ts +497 -0
- package/api/postsApi.ts +1236 -99
- package/api/receiptsApi.ts +2 -2
- package/api/subscriptionsApi.ts +2 -2
- package/api/tagsApi.ts +5 -3
- package/api/templatesApi.ts +501 -0
- package/api/usersApi.ts +2 -2
- package/api/webhooksApi.ts +327 -0
- package/api/workspacesApi.ts +463 -2
- package/model/aICredits.ts +2 -2
- package/model/aIUsage.ts +39 -0
- package/model/aIUsageText.ts +52 -0
- package/model/account.ts +35 -4
- package/model/accountAnalytics.ts +2 -2
- package/model/accountAnalyticsInitialSync.ts +2 -2
- package/model/accountConnectionHealth.ts +124 -0
- package/model/accountErrorsInner.ts +50 -0
- package/model/accountErrorsInnerOneOf.ts +49 -0
- package/model/accountGroup.ts +49 -0
- package/model/accountGroupInput.ts +40 -0
- package/model/accountHealth.ts +90 -0
- package/model/accountHealthDailyCap.ts +43 -0
- package/model/accountSchedule.ts +2 -2
- package/model/addCompetitor202Response.ts +43 -0
- package/model/addCompetitor409Response.ts +37 -0
- package/model/addGenericSubscriptionRequest.ts +2 -2
- package/model/addPostToQueueRequest.ts +2 -2
- package/model/agentPageMeta.ts +49 -0
- package/model/agentProposal.ts +137 -0
- package/model/agentProposalDecision.ts +31 -0
- package/model/agentRun.ts +129 -0
- package/model/analyticsPeriod.ts +2 -2
- package/model/analyticsSummary.ts +2 -2
- package/model/analyticsSummaryData.ts +2 -2
- package/model/apiActivity.ts +94 -0
- package/model/apiActivityOutcome.ts +27 -0
- package/model/apiKey.ts +77 -0
- package/model/apiKeyAbility.ts +21 -0
- package/model/apiKeyInput.ts +56 -0
- package/model/approveAgentProposal200Response.ts +32 -0
- package/model/approveAgentProposal409Response.ts +38 -0
- package/model/approveInboxReplyDraft403Response.ts +43 -0
- package/model/approvePostRequest.ts +2 -2
- package/model/bestPostingTimes.ts +2 -2
- package/model/bestPostingTimesTimesInner.ts +2 -2
- package/model/blogToSocial200Response.ts +9 -2
- package/model/blogToSocial429Response.ts +2 -2
- package/model/blogToSocialCaption.ts +2 -2
- package/model/blogToSocialInput.ts +11 -2
- package/model/blogToSocialMedia.ts +2 -2
- package/model/blogToSocialResponse.ts +2 -2
- package/model/brandVoice.ts +136 -0
- package/model/brandVoiceInput.ts +142 -0
- package/model/brandVoiceMeta.ts +34 -0
- package/model/cancelSubscription422Response.ts +2 -2
- package/model/cancelSubscription422ResponseErrors.ts +2 -2
- package/model/cancelSubscriptionRequest.ts +2 -2
- package/model/changeSubscriptionPlanRequest.ts +2 -2
- package/model/channelAccount.ts +101 -0
- package/model/checkoutSubscription200Response.ts +2 -2
- package/model/checkoutSubscriptionRequest.ts +2 -2
- package/model/codedError.ts +46 -0
- package/model/competitor.ts +82 -0
- package/model/competitorDetail.ts +96 -0
- package/model/competitorInput.ts +43 -0
- package/model/competitorMedia.ts +61 -0
- package/model/competitorSnapshot.ts +43 -0
- package/model/completeChunkedUploadRequest.ts +2 -2
- package/model/connectChannelInput.ts +64 -0
- package/model/createAccountGroup201Response.ts +32 -0
- package/model/createAgent201Response.ts +32 -0
- package/model/createApiKey201Response.ts +32 -0
- package/model/createApiKey201ResponseData.ts +86 -0
- package/model/createHashtagGroup201Response.ts +32 -0
- package/model/createInboxReplyDraft201Response.ts +32 -0
- package/model/createMediaFolderRequest.ts +2 -2
- package/model/createMention201Response.ts +2 -2
- package/model/createRecyclingRule201Response.ts +32 -0
- package/model/createReportExport201Response.ts +32 -0
- package/model/createResellerClient201Response.ts +32 -0
- package/model/createRssFeed201Response.ts +32 -0
- package/model/createTemplate201Response.ts +32 -0
- package/model/createWebhookSubscription201Response.ts +32 -0
- package/model/createWebhookSubscription201ResponseData.ts +70 -0
- package/model/deleteAgent200Response.ts +31 -0
- package/model/deleteMediaBulkRequest.ts +2 -2
- package/model/deleteMediaBulkRequestItemsInner.ts +2 -2
- package/model/deleteMediaFolderRequest.ts +2 -2
- package/model/deleteMode.ts +2 -2
- package/model/deletePostRequest.ts +2 -2
- package/model/deletePostsBulkRequest.ts +2 -2
- package/model/deleteReceiptsBulkRequest.ts +2 -2
- package/model/deleteResult.ts +2 -2
- package/model/deleteUser400Response.ts +2 -2
- package/model/deleteUsersBulkRequest.ts +2 -2
- package/model/deleteWorkspacesBulkRequest.ts +2 -2
- package/model/getAccountHealth200Response.ts +32 -0
- package/model/getBrandVoice200Response.ts +32 -0
- package/model/getCompetitor200Response.ts +32 -0
- package/model/getInboxConversation200Response.ts +32 -0
- package/model/getPostingSchedule200Response.ts +32 -0
- package/model/getRemoteUploadStatus200Response.ts +2 -2
- package/model/getReportBranding200Response.ts +32 -0
- package/model/guardrailError.ts +82 -0
- package/model/hashtagGroup.ts +46 -0
- package/model/hashtagGroupInput.ts +37 -0
- package/model/imageAltText200Response.ts +2 -2
- package/model/imageAltTextInput.ts +2 -2
- package/model/imageAltTextResponse.ts +2 -2
- package/model/imageCreditBalance.ts +67 -0
- package/model/imageEditInput.ts +11 -2
- package/model/imageGenerate200Response.ts +9 -2
- package/model/imageGenerate429Response.ts +2 -2
- package/model/imageGenerateInput.ts +14 -2
- package/model/imageGenerationResponse.ts +2 -2
- package/model/imagePrompt200Response.ts +9 -2
- package/model/imagePrompt429Response.ts +2 -2
- package/model/imagePromptInput.ts +14 -2
- package/model/imagePromptResponse.ts +2 -2
- package/model/imageVariations200Response.ts +2 -2
- package/model/imageVariationsInput.ts +2 -2
- package/model/imageVariationsResponse.ts +2 -2
- package/model/inboxAuthor.ts +43 -0
- package/model/inboxConversation.ts +139 -0
- package/model/inboxConversationAccount.ts +49 -0
- package/model/inboxConversationUpdate.ts +43 -0
- package/model/inboxMessage.ts +95 -0
- package/model/inboxMessageAuthor.ts +43 -0
- package/model/inboxReplyDraft.ts +132 -0
- package/model/inboxReplyDraftApprove.ts +34 -0
- package/model/inboxReplyDraftEdit.ts +31 -0
- package/model/inboxReplyDraftInput.ts +43 -0
- package/model/initiateChunkedUpload201Response.ts +2 -2
- package/model/initiateChunkedUploadRequest.ts +2 -2
- package/model/initiateRemoteUpload201Response.ts +2 -2
- package/model/initiateRemoteUpload201ResponseOneOf.ts +2 -2
- package/model/initiateRemoteUploadRequest.ts +2 -2
- package/model/learnBrandVoiceInput.ts +61 -0
- package/model/learnBrandVoiceResponse.ts +39 -0
- package/model/learnBrandVoiceResponseMeta.ts +55 -0
- package/model/listAccountGroups200Response.ts +46 -0
- package/model/listAccounts200Response.ts +2 -2
- package/model/listAgentProposals200Response.ts +39 -0
- package/model/listAgentRuns200Response.ts +39 -0
- package/model/listAgents200Response.ts +32 -0
- package/model/listApiActivity200Response.ts +46 -0
- package/model/listApiKeys200Response.ts +32 -0
- package/model/listCompetitors200Response.ts +32 -0
- package/model/listHashtagGroups200Response.ts +46 -0
- package/model/listInboxConversations200Response.ts +46 -0
- package/model/listInboxReplyDrafts200Response.ts +46 -0
- package/model/listMedia200Response.ts +2 -2
- package/model/listMediaFolders200Response.ts +2 -2
- package/model/listMentions200Response.ts +2 -2
- package/model/listMyWorkspaces200Response.ts +2 -2
- package/model/listPosts200Response.ts +2 -2
- package/model/listReceipts200Response.ts +2 -2
- package/model/listRecyclingRules200Response.ts +32 -0
- package/model/listRecyclingRuns200Response.ts +32 -0
- package/model/listReportExports200Response.ts +32 -0
- package/model/listResellerClients200Response.ts +39 -0
- package/model/listRssFeeds200Response.ts +32 -0
- package/model/listTags200Response.ts +2 -2
- package/model/listTemplates200Response.ts +46 -0
- package/model/listUsers200Response.ts +2 -2
- package/model/listWebhookSubscriptions200Response.ts +32 -0
- package/model/listWorkspaces200Response.ts +2 -2
- package/model/media.ts +2 -2
- package/model/mediaBase64Input.ts +61 -0
- package/model/mediaFolder.ts +2 -2
- package/model/mediaFolderInput.ts +2 -2
- package/model/mediaFolderRef.ts +2 -2
- package/model/mention.ts +2 -2
- package/model/mentionIdentity.ts +2 -2
- package/model/mentionIdentityInput.ts +2 -2
- package/model/mentionInput.ts +2 -2
- package/model/messageOnly.ts +31 -0
- package/model/models.ts +475 -0
- package/model/paginationMeta.ts +2 -2
- package/model/paginationMetaLinks.ts +4 -4
- package/model/paginationMetaMeta.ts +4 -4
- package/model/pollRssFeed200Response.ts +50 -0
- package/model/post.ts +2 -2
- package/model/postAnalytics.ts +2 -2
- package/model/postContent.ts +6 -3
- package/model/postInput.ts +20 -2
- package/model/postOptionsInstagram.ts +59 -0
- package/model/postOptionsTikTok.ts +97 -0
- package/model/postOptionsYoutube.ts +62 -0
- package/model/postStatus.ts +2 -2
- package/model/postVersion.ts +7 -6
- package/model/postVersionOptions.ts +55 -0
- package/model/postingSchedule.ts +74 -0
- package/model/postingScheduleDay.ts +50 -0
- package/model/postingScheduleDayTimesInner.ts +34 -0
- package/model/postingScheduleInput.ts +53 -0
- package/model/postingTimeSlot.ts +2 -2
- package/model/postingTimes.ts +2 -2
- package/model/postingTimesBestInner.ts +2 -2
- package/model/postingTimesDayIntervalsInnerInner.ts +2 -2
- package/model/postingTimesDaysInner.ts +2 -2
- package/model/preflightResult.ts +69 -0
- package/model/publicWorkspace.ts +2 -2
- package/model/publicWorkspacePivot.ts +2 -2
- package/model/publishProgress.ts +2 -2
- package/model/queueSlots.ts +43 -0
- package/model/receipt.ts +2 -2
- package/model/receiptInput.ts +2 -2
- package/model/receiptUpdateInput.ts +2 -2
- package/model/recommendedPostingTimes.ts +61 -0
- package/model/reconnectLink.ts +46 -0
- package/model/recyclingRule.ts +117 -0
- package/model/recyclingRuleInput.ts +114 -0
- package/model/recyclingRuleSettings.ts +83 -0
- package/model/recyclingRuleUpdate.ts +71 -0
- package/model/recyclingRun.ts +71 -0
- package/model/removeGenericSubscription422Response.ts +2 -2
- package/model/removeUserFromWorkspaceRequest.ts +2 -2
- package/model/reportBranding.ts +61 -0
- package/model/reportBrandingInput.ts +55 -0
- package/model/reportExport.ts +121 -0
- package/model/reportExportInput.ts +91 -0
- package/model/repurposeContent200Response.ts +39 -0
- package/model/repurposeInput.ts +213 -0
- package/model/repurposeInputTheme.ts +46 -0
- package/model/repurposeResult.ts +89 -0
- package/model/repurposeResultMedia.ts +40 -0
- package/model/repurposeResultSource.ts +51 -0
- package/model/repurposeSlide.ts +43 -0
- package/model/resellerClient.ts +82 -0
- package/model/resellerClientInput.ts +31 -0
- package/model/resellerClientUsage.ts +43 -0
- package/model/retryPostAccountResult.ts +2 -2
- package/model/rssFeed.ts +100 -0
- package/model/rssFeedInput.ts +79 -0
- package/model/rssFeedUpdate.ts +73 -0
- package/model/runAgent202Response.ts +32 -0
- package/model/schedulePostRequest.ts +2 -2
- package/model/scheduleResult.ts +2 -2
- package/model/subscription.ts +2 -2
- package/model/subscriptionInput.ts +2 -2
- package/model/subscriptionStatus.ts +2 -2
- package/model/subscriptionUpdateInput.ts +2 -2
- package/model/tag.ts +2 -2
- package/model/tagInput.ts +2 -2
- package/model/template.ts +47 -0
- package/model/templateContentItem.ts +40 -0
- package/model/templateInput.ts +41 -0
- package/model/templateInputContentInner.ts +40 -0
- package/model/updateMediaRequest.ts +2 -2
- package/model/uploadChunk201Response.ts +2 -2
- package/model/user.ts +2 -2
- package/model/userInput.ts +2 -2
- package/model/userUpdateInput.ts +2 -2
- package/model/webhookEventName.ts +31 -0
- package/model/webhookEventPayload.ts +43 -0
- package/model/webhookSubscription.ts +61 -0
- package/model/webhookSubscriptionInput.ts +67 -0
- package/model/workspace.ts +2 -2
- package/model/workspaceAgent.ts +91 -0
- package/model/workspaceAgentInput.ts +67 -0
- package/model/workspaceAgentSettings.ts +70 -0
- package/model/workspaceAgentUpdate.ts +58 -0
- package/model/workspaceInput.ts +2 -2
- package/model/workspaceUserInput.ts +2 -2
- package/model/xUsage.ts +68 -0
- package/model/xUsageCounter.ts +40 -0
- package/package.json +1 -1
package/api/mediaApi.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
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. ## 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 ```
|
|
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.
|
|
5
|
+
* The version of the OpenAPI document: 1.15.0
|
|
6
6
|
* Contact: hi@postboost.co
|
|
7
7
|
*
|
|
8
8
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -27,6 +27,7 @@ import { InitiateRemoteUploadRequest } from '../model/initiateRemoteUploadReques
|
|
|
27
27
|
import { ListMedia200Response } from '../model/listMedia200Response';
|
|
28
28
|
import { ListMediaFolders200Response } from '../model/listMediaFolders200Response';
|
|
29
29
|
import { Media } from '../model/media';
|
|
30
|
+
import { MediaBase64Input } from '../model/mediaBase64Input';
|
|
30
31
|
import { MediaFolder } from '../model/mediaFolder';
|
|
31
32
|
import { MediaFolderInput } from '../model/mediaFolderInput';
|
|
32
33
|
import { UpdateMediaRequest } from '../model/updateMediaRequest';
|
|
@@ -271,8 +272,9 @@ export class MediaApi {
|
|
|
271
272
|
* @summary Create media folder
|
|
272
273
|
* @param workspaceUuid UUID of the workspace.
|
|
273
274
|
* @param createMediaFolderRequest
|
|
275
|
+
* @param idempotencyKey Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
274
276
|
*/
|
|
275
|
-
public async createMediaFolder (workspaceUuid: string, createMediaFolderRequest: CreateMediaFolderRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: MediaFolder; }> {
|
|
277
|
+
public async createMediaFolder (workspaceUuid: string, createMediaFolderRequest: CreateMediaFolderRequest, idempotencyKey?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: MediaFolder; }> {
|
|
276
278
|
const localVarPath = this.basePath + '/{workspaceUuid}/media/folders'
|
|
277
279
|
.replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
|
|
278
280
|
let localVarQueryParameters: any = {};
|
|
@@ -296,6 +298,7 @@ export class MediaApi {
|
|
|
296
298
|
throw new Error('Required parameter createMediaFolderRequest was null or undefined when calling createMediaFolder.');
|
|
297
299
|
}
|
|
298
300
|
|
|
301
|
+
localVarHeaderParams['Idempotency-Key'] = ObjectSerializer.serialize(idempotencyKey, "string");
|
|
299
302
|
(<any>Object).assign(localVarHeaderParams, options.headers);
|
|
300
303
|
|
|
301
304
|
let localVarUseFormData = false;
|
|
@@ -668,8 +671,9 @@ export class MediaApi {
|
|
|
668
671
|
* @summary Initiate chunked upload
|
|
669
672
|
* @param workspaceUuid UUID of the workspace.
|
|
670
673
|
* @param initiateChunkedUploadRequest
|
|
674
|
+
* @param idempotencyKey Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
671
675
|
*/
|
|
672
|
-
public async initiateChunkedUpload (workspaceUuid: string, initiateChunkedUploadRequest: InitiateChunkedUploadRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: InitiateChunkedUpload201Response; }> {
|
|
676
|
+
public async initiateChunkedUpload (workspaceUuid: string, initiateChunkedUploadRequest: InitiateChunkedUploadRequest, idempotencyKey?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: InitiateChunkedUpload201Response; }> {
|
|
673
677
|
const localVarPath = this.basePath + '/{workspaceUuid}/media/chunked/initiate'
|
|
674
678
|
.replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
|
|
675
679
|
let localVarQueryParameters: any = {};
|
|
@@ -693,6 +697,7 @@ export class MediaApi {
|
|
|
693
697
|
throw new Error('Required parameter initiateChunkedUploadRequest was null or undefined when calling initiateChunkedUpload.');
|
|
694
698
|
}
|
|
695
699
|
|
|
700
|
+
localVarHeaderParams['Idempotency-Key'] = ObjectSerializer.serialize(idempotencyKey, "string");
|
|
696
701
|
(<any>Object).assign(localVarHeaderParams, options.headers);
|
|
697
702
|
|
|
698
703
|
let localVarUseFormData = false;
|
|
@@ -747,8 +752,9 @@ export class MediaApi {
|
|
|
747
752
|
* @summary Initiate remote upload
|
|
748
753
|
* @param workspaceUuid UUID of the workspace.
|
|
749
754
|
* @param initiateRemoteUploadRequest
|
|
755
|
+
* @param idempotencyKey Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
750
756
|
*/
|
|
751
|
-
public async initiateRemoteUpload (workspaceUuid: string, initiateRemoteUploadRequest: InitiateRemoteUploadRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: InitiateRemoteUpload201Response; }> {
|
|
757
|
+
public async initiateRemoteUpload (workspaceUuid: string, initiateRemoteUploadRequest: InitiateRemoteUploadRequest, idempotencyKey?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: InitiateRemoteUpload201Response; }> {
|
|
752
758
|
const localVarPath = this.basePath + '/{workspaceUuid}/media/remote/initiate'
|
|
753
759
|
.replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
|
|
754
760
|
let localVarQueryParameters: any = {};
|
|
@@ -772,6 +778,7 @@ export class MediaApi {
|
|
|
772
778
|
throw new Error('Required parameter initiateRemoteUploadRequest was null or undefined when calling initiateRemoteUpload.');
|
|
773
779
|
}
|
|
774
780
|
|
|
781
|
+
localVarHeaderParams['Idempotency-Key'] = ObjectSerializer.serialize(idempotencyKey, "string");
|
|
775
782
|
(<any>Object).assign(localVarHeaderParams, options.headers);
|
|
776
783
|
|
|
777
784
|
let localVarUseFormData = false;
|
|
@@ -1283,14 +1290,15 @@ export class MediaApi {
|
|
|
1283
1290
|
});
|
|
1284
1291
|
}
|
|
1285
1292
|
/**
|
|
1286
|
-
* Upload a file directly as multipart form data.
|
|
1293
|
+
* Upload a file directly as multipart form data. Images and videos, plus a PDF (up to 100 MB) for LinkedIn document posts: a post that attaches a PDF must have it as the only media item and may only go to LinkedIn profiles and pages.
|
|
1287
1294
|
* @summary Upload media (binary)
|
|
1288
1295
|
* @param workspaceUuid UUID of the workspace.
|
|
1289
1296
|
* @param file The file to upload.
|
|
1297
|
+
* @param idempotencyKey Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
1290
1298
|
* @param altText Alternative text for accessibility.
|
|
1291
1299
|
* @param folder UUID of the media folder to file the upload in. Omit or null for the library root.
|
|
1292
1300
|
*/
|
|
1293
|
-
public async uploadMedia (workspaceUuid: string, file: RequestFile, altText?: string, folder?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Media; }> {
|
|
1301
|
+
public async uploadMedia (workspaceUuid: string, file: RequestFile, idempotencyKey?: string, altText?: string, folder?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Media; }> {
|
|
1294
1302
|
const localVarPath = this.basePath + '/{workspaceUuid}/media'
|
|
1295
1303
|
.replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
|
|
1296
1304
|
let localVarQueryParameters: any = {};
|
|
@@ -1314,6 +1322,7 @@ export class MediaApi {
|
|
|
1314
1322
|
throw new Error('Required parameter file was null or undefined when calling uploadMedia.');
|
|
1315
1323
|
}
|
|
1316
1324
|
|
|
1325
|
+
localVarHeaderParams['Idempotency-Key'] = ObjectSerializer.serialize(idempotencyKey, "string");
|
|
1317
1326
|
(<any>Object).assign(localVarHeaderParams, options.headers);
|
|
1318
1327
|
|
|
1319
1328
|
let localVarUseFormData = false;
|
|
@@ -1351,6 +1360,87 @@ export class MediaApi {
|
|
|
1351
1360
|
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
|
1352
1361
|
}
|
|
1353
1362
|
|
|
1363
|
+
return interceptorPromise.then(() => {
|
|
1364
|
+
if (Object.keys(localVarFormParams).length) {
|
|
1365
|
+
if (localVarUseFormData) {
|
|
1366
|
+
(<any>localVarRequestOptions).formData = localVarFormParams;
|
|
1367
|
+
} else {
|
|
1368
|
+
localVarRequestOptions.form = localVarFormParams;
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
return new Promise<{ response: http.IncomingMessage; body: Media; }>((resolve, reject) => {
|
|
1372
|
+
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
|
1373
|
+
if (error) {
|
|
1374
|
+
reject(error);
|
|
1375
|
+
} else {
|
|
1376
|
+
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
|
1377
|
+
body = ObjectSerializer.deserialize(body, "Media");
|
|
1378
|
+
resolve({ response: response, body: body });
|
|
1379
|
+
} else {
|
|
1380
|
+
reject(new HttpError(response, body, response.statusCode));
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
});
|
|
1384
|
+
});
|
|
1385
|
+
});
|
|
1386
|
+
}
|
|
1387
|
+
/**
|
|
1388
|
+
* Upload a file as base64 inside a JSON body, for agents and tools that cannot send multipart form data. The decoded file is checked exactly like `POST media` (allowed types and size limits; a PDF is accepted for LinkedIn document posts). Decoded size is capped at 20 MB; for larger files use remote upload by URL or chunked upload.
|
|
1389
|
+
* @summary Upload media (base64 JSON)
|
|
1390
|
+
* @param workspaceUuid UUID of the workspace.
|
|
1391
|
+
* @param mediaBase64Input
|
|
1392
|
+
* @param idempotencyKey Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
1393
|
+
*/
|
|
1394
|
+
public async uploadMediaBase64 (workspaceUuid: string, mediaBase64Input: MediaBase64Input, idempotencyKey?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Media; }> {
|
|
1395
|
+
const localVarPath = this.basePath + '/{workspaceUuid}/media/base64'
|
|
1396
|
+
.replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
|
|
1397
|
+
let localVarQueryParameters: any = {};
|
|
1398
|
+
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
|
1399
|
+
const produces = ['application/json'];
|
|
1400
|
+
// give precedence to 'application/json'
|
|
1401
|
+
if (produces.indexOf('application/json') >= 0) {
|
|
1402
|
+
localVarHeaderParams.Accept = 'application/json';
|
|
1403
|
+
} else {
|
|
1404
|
+
localVarHeaderParams.Accept = produces.join(',');
|
|
1405
|
+
}
|
|
1406
|
+
let localVarFormParams: any = {};
|
|
1407
|
+
|
|
1408
|
+
// verify required parameter 'workspaceUuid' is not null or undefined
|
|
1409
|
+
if (workspaceUuid === null || workspaceUuid === undefined) {
|
|
1410
|
+
throw new Error('Required parameter workspaceUuid was null or undefined when calling uploadMediaBase64.');
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
// verify required parameter 'mediaBase64Input' is not null or undefined
|
|
1414
|
+
if (mediaBase64Input === null || mediaBase64Input === undefined) {
|
|
1415
|
+
throw new Error('Required parameter mediaBase64Input was null or undefined when calling uploadMediaBase64.');
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
localVarHeaderParams['Idempotency-Key'] = ObjectSerializer.serialize(idempotencyKey, "string");
|
|
1419
|
+
(<any>Object).assign(localVarHeaderParams, options.headers);
|
|
1420
|
+
|
|
1421
|
+
let localVarUseFormData = false;
|
|
1422
|
+
|
|
1423
|
+
let localVarRequestOptions: localVarRequest.Options = {
|
|
1424
|
+
method: 'POST',
|
|
1425
|
+
qs: localVarQueryParameters,
|
|
1426
|
+
headers: localVarHeaderParams,
|
|
1427
|
+
uri: localVarPath,
|
|
1428
|
+
useQuerystring: this._useQuerystring,
|
|
1429
|
+
json: true,
|
|
1430
|
+
body: ObjectSerializer.serialize(mediaBase64Input, "MediaBase64Input")
|
|
1431
|
+
};
|
|
1432
|
+
|
|
1433
|
+
let authenticationPromise = Promise.resolve();
|
|
1434
|
+
if (this.authentications.bearerAuth.accessToken) {
|
|
1435
|
+
authenticationPromise = authenticationPromise.then(() => this.authentications.bearerAuth.applyToRequest(localVarRequestOptions));
|
|
1436
|
+
}
|
|
1437
|
+
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
|
1438
|
+
|
|
1439
|
+
let interceptorPromise = authenticationPromise;
|
|
1440
|
+
for (const interceptor of this.interceptors) {
|
|
1441
|
+
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1354
1444
|
return interceptorPromise.then(() => {
|
|
1355
1445
|
if (Object.keys(localVarFormParams).length) {
|
|
1356
1446
|
if (localVarUseFormData) {
|
package/api/mentionsApi.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
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. ## 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 ```
|
|
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.
|
|
5
|
+
* The version of the OpenAPI document: 1.15.0
|
|
6
6
|
* Contact: hi@postboost.co
|
|
7
7
|
*
|
|
8
8
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -99,8 +99,9 @@ export class MentionsApi {
|
|
|
99
99
|
* @summary Create mention
|
|
100
100
|
* @param workspaceUuid UUID of the workspace.
|
|
101
101
|
* @param mentionInput
|
|
102
|
+
* @param idempotencyKey Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
102
103
|
*/
|
|
103
|
-
public async createMention (workspaceUuid: string, mentionInput: MentionInput, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: CreateMention201Response; }> {
|
|
104
|
+
public async createMention (workspaceUuid: string, mentionInput: MentionInput, idempotencyKey?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: CreateMention201Response; }> {
|
|
104
105
|
const localVarPath = this.basePath + '/{workspaceUuid}/mentions'
|
|
105
106
|
.replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
|
|
106
107
|
let localVarQueryParameters: any = {};
|
|
@@ -124,6 +125,7 @@ export class MentionsApi {
|
|
|
124
125
|
throw new Error('Required parameter mentionInput was null or undefined when calling createMention.');
|
|
125
126
|
}
|
|
126
127
|
|
|
128
|
+
localVarHeaderParams['Idempotency-Key'] = ObjectSerializer.serialize(idempotencyKey, "string");
|
|
127
129
|
(<any>Object).assign(localVarHeaderParams, options.headers);
|
|
128
130
|
|
|
129
131
|
let localVarUseFormData = false;
|