postboost 1.4.0 → 1.5.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/README.md +1 -1
- package/api/aIApi.ts +176 -0
- package/api/accountsApi.ts +1 -1
- package/api/apis.ts +3 -1
- package/api/mediaApi.ts +1 -1
- package/api/postsApi.ts +1 -1
- package/api/receiptsApi.ts +1 -1
- package/api/subscriptionsApi.ts +1 -1
- package/api/tagsApi.ts +1 -1
- package/api/usersApi.ts +1 -1
- package/api/workspacesApi.ts +1 -1
- package/model/account.ts +1 -1
- package/model/addGenericSubscriptionRequest.ts +1 -1
- package/model/blogToSocial200Response.ts +32 -0
- package/model/blogToSocial429Response.ts +31 -0
- package/model/blogToSocialCaption.ts +79 -0
- package/model/blogToSocialInput.ts +195 -0
- package/model/blogToSocialMedia.ts +46 -0
- package/model/blogToSocialResponse.ts +87 -0
- package/model/changeSubscriptionPlanRequest.ts +1 -1
- package/model/checkoutSubscription200Response.ts +1 -1
- package/model/checkoutSubscriptionRequest.ts +1 -1
- package/model/deleteMediaBulkRequest.ts +1 -1
- package/model/deleteMode.ts +1 -1
- package/model/deletePostRequest.ts +1 -1
- package/model/deletePostsBulkRequest.ts +1 -1
- package/model/deleteReceiptsBulkRequest.ts +1 -1
- package/model/deleteResult.ts +1 -1
- package/model/deleteUser400Response.ts +1 -1
- package/model/deleteUsersBulkRequest.ts +1 -1
- package/model/deleteWorkspacesBulkRequest.ts +1 -1
- package/model/getRemoteUploadStatus200Response.ts +1 -1
- package/model/initiateChunkedUpload201Response.ts +1 -1
- package/model/initiateChunkedUploadRequest.ts +1 -1
- package/model/initiateRemoteUpload201Response.ts +1 -1
- package/model/initiateRemoteUpload201ResponseOneOf.ts +1 -1
- package/model/initiateRemoteUploadRequest.ts +1 -1
- package/model/listAccounts200Response.ts +1 -1
- package/model/listMedia200Response.ts +1 -1
- package/model/listPosts200Response.ts +1 -1
- package/model/listReceipts200Response.ts +1 -1
- package/model/listTags200Response.ts +1 -1
- package/model/listUsers200Response.ts +1 -1
- package/model/listWorkspaces200Response.ts +1 -1
- package/model/media.ts +1 -1
- package/model/models.ts +23 -0
- package/model/paginationMeta.ts +1 -1
- package/model/paginationMetaLinks.ts +1 -1
- package/model/paginationMetaMeta.ts +1 -1
- package/model/post.ts +1 -1
- package/model/postContent.ts +1 -1
- package/model/postInput.ts +1 -1
- package/model/postStatus.ts +1 -1
- package/model/postVersion.ts +1 -1
- package/model/receipt.ts +1 -1
- package/model/receiptInput.ts +1 -1
- package/model/receiptUpdateInput.ts +1 -1
- package/model/removeUserFromWorkspaceRequest.ts +1 -1
- package/model/schedulePostRequest.ts +1 -1
- package/model/scheduleResult.ts +1 -1
- package/model/subscription.ts +1 -1
- package/model/subscriptionInput.ts +1 -1
- package/model/subscriptionStatus.ts +1 -1
- package/model/subscriptionUpdateInput.ts +1 -1
- package/model/tag.ts +1 -1
- package/model/tagInput.ts +1 -1
- package/model/updateMediaRequest.ts +1 -1
- package/model/uploadChunk201Response.ts +1 -1
- package/model/user.ts +1 -1
- package/model/userInput.ts +1 -1
- package/model/userUpdateInput.ts +1 -1
- package/model/workspace.ts +1 -1
- package/model/workspaceInput.ts +1 -1
- package/model/workspaceUserInput.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ npm install postboost
|
|
|
13
13
|
| **npm** | [npmjs.com/package/postboost](https://www.npmjs.com/package/postboost) |
|
|
14
14
|
| **GitHub** | [postboost-co/postboost-node](https://github.com/postboost-co/postboost-node) |
|
|
15
15
|
| **Docs** | [postboost.co/docs/api](https://postboost.co/docs/api) |
|
|
16
|
-
| **Version** | v1.
|
|
16
|
+
| **Version** | v1.5.0 |
|
|
17
17
|
|
|
18
18
|
## Quick start
|
|
19
19
|
|
package/api/aIApi.ts
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
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`. ## 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.0.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 { BlogToSocial200Response } from '../model/blogToSocial200Response';
|
|
19
|
+
import { BlogToSocial429Response } from '../model/blogToSocial429Response';
|
|
20
|
+
import { BlogToSocialInput } from '../model/blogToSocialInput';
|
|
21
|
+
|
|
22
|
+
import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models';
|
|
23
|
+
import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models';
|
|
24
|
+
|
|
25
|
+
import { HttpError, RequestFile } from './apis';
|
|
26
|
+
|
|
27
|
+
let defaultBasePath = 'https://postboost.co/app/api';
|
|
28
|
+
|
|
29
|
+
// ===============================================
|
|
30
|
+
// This file is autogenerated - Please do not edit
|
|
31
|
+
// ===============================================
|
|
32
|
+
|
|
33
|
+
export enum AIApiApiKeys {
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export class AIApi {
|
|
37
|
+
protected _basePath = defaultBasePath;
|
|
38
|
+
protected _defaultHeaders : any = {};
|
|
39
|
+
protected _useQuerystring : boolean = false;
|
|
40
|
+
|
|
41
|
+
protected authentications = {
|
|
42
|
+
'default': <Authentication>new VoidAuth(),
|
|
43
|
+
'bearerAuth': new HttpBearerAuth(),
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected interceptors: Interceptor[] = [];
|
|
47
|
+
|
|
48
|
+
constructor(basePath?: string);
|
|
49
|
+
constructor(basePathOrUsername: string, password?: string, basePath?: string) {
|
|
50
|
+
if (password) {
|
|
51
|
+
if (basePath) {
|
|
52
|
+
this.basePath = basePath;
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
if (basePathOrUsername) {
|
|
56
|
+
this.basePath = basePathOrUsername
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
set useQuerystring(value: boolean) {
|
|
62
|
+
this._useQuerystring = value;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
set basePath(basePath: string) {
|
|
66
|
+
this._basePath = basePath;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
set defaultHeaders(defaultHeaders: any) {
|
|
70
|
+
this._defaultHeaders = defaultHeaders;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
get defaultHeaders() {
|
|
74
|
+
return this._defaultHeaders;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
get basePath() {
|
|
78
|
+
return this._basePath;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public setDefaultAuthentication(auth: Authentication) {
|
|
82
|
+
this.authentications.default = auth;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public setApiKey(key: AIApiApiKeys, value: string) {
|
|
86
|
+
(this.authentications as any)[AIApiApiKeys[key]].apiKey = value;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
set accessToken(accessToken: string | (() => string)) {
|
|
90
|
+
this.authentications.bearerAuth.accessToken = accessToken;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public addInterceptor(interceptor: Interceptor) {
|
|
94
|
+
this.interceptors.push(interceptor);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Generates platform-specific social media captions from a blog post URL or directly provided title and excerpt. Each platform generates one caption, which consumes one AI credit from the workspace\'s monthly allowance. **Input modes** (at least one required): - **URL mode**: provide `url` and the API scrapes the blog content automatically, including detecting the featured image via `og:image`. - **Direct mode**: provide `title` and `excerpt` directly (no scraping). If both are provided, direct values take priority. When `create_post` is `true`, a draft post is created in the workspace with per-account caption versions. If an image is available (from `image_url` or the scraped `og:image`), it is imported into the workspace media library and attached to the draft post.
|
|
99
|
+
* @summary Generate social media captions from a blog post
|
|
100
|
+
* @param workspaceUuid UUID of the workspace.
|
|
101
|
+
* @param blogToSocialInput
|
|
102
|
+
*/
|
|
103
|
+
public async blogToSocial (workspaceUuid: string, blogToSocialInput: BlogToSocialInput, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BlogToSocial200Response; }> {
|
|
104
|
+
const localVarPath = this.basePath + '/{workspaceUuid}/ai/blog-to-social'
|
|
105
|
+
.replace('{' + 'workspaceUuid' + '}', encodeURIComponent(String(workspaceUuid)));
|
|
106
|
+
let localVarQueryParameters: any = {};
|
|
107
|
+
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
|
108
|
+
const produces = ['application/json'];
|
|
109
|
+
// give precedence to 'application/json'
|
|
110
|
+
if (produces.indexOf('application/json') >= 0) {
|
|
111
|
+
localVarHeaderParams.Accept = 'application/json';
|
|
112
|
+
} else {
|
|
113
|
+
localVarHeaderParams.Accept = produces.join(',');
|
|
114
|
+
}
|
|
115
|
+
let localVarFormParams: any = {};
|
|
116
|
+
|
|
117
|
+
// verify required parameter 'workspaceUuid' is not null or undefined
|
|
118
|
+
if (workspaceUuid === null || workspaceUuid === undefined) {
|
|
119
|
+
throw new Error('Required parameter workspaceUuid was null or undefined when calling blogToSocial.');
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// verify required parameter 'blogToSocialInput' is not null or undefined
|
|
123
|
+
if (blogToSocialInput === null || blogToSocialInput === undefined) {
|
|
124
|
+
throw new Error('Required parameter blogToSocialInput was null or undefined when calling blogToSocial.');
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
(<any>Object).assign(localVarHeaderParams, options.headers);
|
|
128
|
+
|
|
129
|
+
let localVarUseFormData = false;
|
|
130
|
+
|
|
131
|
+
let localVarRequestOptions: localVarRequest.Options = {
|
|
132
|
+
method: 'POST',
|
|
133
|
+
qs: localVarQueryParameters,
|
|
134
|
+
headers: localVarHeaderParams,
|
|
135
|
+
uri: localVarPath,
|
|
136
|
+
useQuerystring: this._useQuerystring,
|
|
137
|
+
json: true,
|
|
138
|
+
body: ObjectSerializer.serialize(blogToSocialInput, "BlogToSocialInput")
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
let authenticationPromise = Promise.resolve();
|
|
142
|
+
if (this.authentications.bearerAuth.accessToken) {
|
|
143
|
+
authenticationPromise = authenticationPromise.then(() => this.authentications.bearerAuth.applyToRequest(localVarRequestOptions));
|
|
144
|
+
}
|
|
145
|
+
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
|
146
|
+
|
|
147
|
+
let interceptorPromise = authenticationPromise;
|
|
148
|
+
for (const interceptor of this.interceptors) {
|
|
149
|
+
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return interceptorPromise.then(() => {
|
|
153
|
+
if (Object.keys(localVarFormParams).length) {
|
|
154
|
+
if (localVarUseFormData) {
|
|
155
|
+
(<any>localVarRequestOptions).formData = localVarFormParams;
|
|
156
|
+
} else {
|
|
157
|
+
localVarRequestOptions.form = localVarFormParams;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return new Promise<{ response: http.IncomingMessage; body: BlogToSocial200Response; }>((resolve, reject) => {
|
|
161
|
+
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
|
162
|
+
if (error) {
|
|
163
|
+
reject(error);
|
|
164
|
+
} else {
|
|
165
|
+
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
|
166
|
+
body = ObjectSerializer.deserialize(body, "BlogToSocial200Response");
|
|
167
|
+
resolve({ response: response, body: body });
|
|
168
|
+
} else {
|
|
169
|
+
reject(new HttpError(response, body, response.statusCode));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
package/api/accountsApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/api/apis.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export * from './aIApi';
|
|
2
|
+
import { AIApi } from './aIApi';
|
|
1
3
|
export * from './accountsApi';
|
|
2
4
|
import { AccountsApi } from './accountsApi';
|
|
3
5
|
export * from './mediaApi';
|
|
@@ -25,4 +27,4 @@ export class HttpError extends Error {
|
|
|
25
27
|
|
|
26
28
|
export { RequestFile } from '../model/models';
|
|
27
29
|
|
|
28
|
-
export const APIS = [AccountsApi, MediaApi, PostsApi, ReceiptsApi, SubscriptionsApi, TagsApi, UsersApi, WorkspacesApi];
|
|
30
|
+
export const APIS = [AIApi, AccountsApi, MediaApi, PostsApi, ReceiptsApi, SubscriptionsApi, TagsApi, UsersApi, WorkspacesApi];
|
package/api/mediaApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/api/postsApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/api/receiptsApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/api/subscriptionsApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/api/tagsApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/api/usersApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/api/workspacesApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
package/model/account.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PostBoost API
|
|
3
|
-
* The PostBoost REST API lets you publish, schedule, and analyze social media posts across
|
|
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`. ## 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
5
|
* The version of the OpenAPI document: 1.0.0
|
|
6
6
|
* Contact: hi@postboost.co
|
|
@@ -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`. ## 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.0.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 { BlogToSocialResponse } from './blogToSocialResponse';
|
|
15
|
+
|
|
16
|
+
export class BlogToSocial200Response {
|
|
17
|
+
'data'?: BlogToSocialResponse;
|
|
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": "BlogToSocialResponse"
|
|
26
|
+
} ];
|
|
27
|
+
|
|
28
|
+
static getAttributeTypeMap() {
|
|
29
|
+
return BlogToSocial200Response.attributeTypeMap;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
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`. ## 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.0.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 BlogToSocial429Response {
|
|
16
|
+
'message'?: string;
|
|
17
|
+
|
|
18
|
+
static discriminator: string | undefined = undefined;
|
|
19
|
+
|
|
20
|
+
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
|
21
|
+
{
|
|
22
|
+
"name": "message",
|
|
23
|
+
"baseName": "message",
|
|
24
|
+
"type": "string"
|
|
25
|
+
} ];
|
|
26
|
+
|
|
27
|
+
static getAttributeTypeMap() {
|
|
28
|
+
return BlogToSocial429Response.attributeTypeMap;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
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`. ## 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.0.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 BlogToSocialCaption {
|
|
16
|
+
/**
|
|
17
|
+
* ID of the social account this caption was generated for.
|
|
18
|
+
*/
|
|
19
|
+
'accountId'?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Social media platform identifier.
|
|
22
|
+
*/
|
|
23
|
+
'provider'?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The generated caption text. `null` if generation failed for this account.
|
|
26
|
+
*/
|
|
27
|
+
'content'?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Character count of the generated content. `null` if generation failed.
|
|
30
|
+
*/
|
|
31
|
+
'characterCount'?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Maximum allowed character count for this platform.
|
|
34
|
+
*/
|
|
35
|
+
'characterLimit'?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Error message if caption generation failed for this account. `null` on success.
|
|
38
|
+
*/
|
|
39
|
+
'error'?: string;
|
|
40
|
+
|
|
41
|
+
static discriminator: string | undefined = undefined;
|
|
42
|
+
|
|
43
|
+
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
|
44
|
+
{
|
|
45
|
+
"name": "accountId",
|
|
46
|
+
"baseName": "account_id",
|
|
47
|
+
"type": "number"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "provider",
|
|
51
|
+
"baseName": "provider",
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "content",
|
|
56
|
+
"baseName": "content",
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "characterCount",
|
|
61
|
+
"baseName": "character_count",
|
|
62
|
+
"type": "number"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "characterLimit",
|
|
66
|
+
"baseName": "character_limit",
|
|
67
|
+
"type": "number"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "error",
|
|
71
|
+
"baseName": "error",
|
|
72
|
+
"type": "string"
|
|
73
|
+
} ];
|
|
74
|
+
|
|
75
|
+
static getAttributeTypeMap() {
|
|
76
|
+
return BlogToSocialCaption.attributeTypeMap;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
@@ -0,0 +1,195 @@
|
|
|
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`. ## 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.0.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
|
+
* At least one of `url` or (`title` + `excerpt`) must be provided. If both are given, direct values take priority over the scraped URL content.
|
|
17
|
+
*/
|
|
18
|
+
export class BlogToSocialInput {
|
|
19
|
+
/**
|
|
20
|
+
* Blog post URL to scrape. Required if `title` and `excerpt` are not provided.
|
|
21
|
+
*/
|
|
22
|
+
'url'?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Blog post title. Required if `url` is not provided.
|
|
25
|
+
*/
|
|
26
|
+
'title'?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Blog post summary or excerpt. Required if `url` is not provided.
|
|
29
|
+
*/
|
|
30
|
+
'excerpt'?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Featured image URL for the blog post. When `create_post` is `true`, the image is imported into the workspace media library and attached to the draft post. If omitted in URL mode, the scraper attempts to extract the `og:image` meta tag.
|
|
33
|
+
*/
|
|
34
|
+
'imageUrl'?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Target social media platforms. Only connected accounts matching these platforms are used. If omitted, all connected accounts in the workspace are targeted.
|
|
37
|
+
*/
|
|
38
|
+
'platforms'?: Array<BlogToSocialInput.PlatformsEnum>;
|
|
39
|
+
/**
|
|
40
|
+
* Specific account IDs to generate captions for. Takes precedence over `platforms` when both are provided.
|
|
41
|
+
*/
|
|
42
|
+
'accountIds'?: Array<number>;
|
|
43
|
+
/**
|
|
44
|
+
* Writing tone for all generated captions.
|
|
45
|
+
*/
|
|
46
|
+
'tone'?: BlogToSocialInput.ToneEnum = BlogToSocialInput.ToneEnum.Engaging;
|
|
47
|
+
/**
|
|
48
|
+
* Desired length of the generated captions.
|
|
49
|
+
*/
|
|
50
|
+
'contentLength'?: BlogToSocialInput.ContentLengthEnum = BlogToSocialInput.ContentLengthEnum.Medium;
|
|
51
|
+
/**
|
|
52
|
+
* Hashtag quantity: none (0), few (1-3), some (3-5), many (5+).
|
|
53
|
+
*/
|
|
54
|
+
'hashtags'?: BlogToSocialInput.HashtagsEnum = BlogToSocialInput.HashtagsEnum.Few;
|
|
55
|
+
/**
|
|
56
|
+
* Call-to-action type appended to each caption.
|
|
57
|
+
*/
|
|
58
|
+
'cta'?: BlogToSocialInput.CtaEnum = BlogToSocialInput.CtaEnum.None;
|
|
59
|
+
/**
|
|
60
|
+
* Output language as an ISO 639-1 code (e.g. `en`, `de`, `fr`). Use `auto` to match the blog post\'s language automatically.
|
|
61
|
+
*/
|
|
62
|
+
'language'?: string = 'auto';
|
|
63
|
+
/**
|
|
64
|
+
* Additional instructions appended to the AI prompt (e.g. \"always mention our free tier\").
|
|
65
|
+
*/
|
|
66
|
+
'customInstructions'?: string;
|
|
67
|
+
/**
|
|
68
|
+
* When `true`, creates a draft post in the workspace with per-account caption versions. If an image is available, it is imported and attached to the post.
|
|
69
|
+
*/
|
|
70
|
+
'createPost'?: boolean = false;
|
|
71
|
+
|
|
72
|
+
static discriminator: string | undefined = undefined;
|
|
73
|
+
|
|
74
|
+
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
|
75
|
+
{
|
|
76
|
+
"name": "url",
|
|
77
|
+
"baseName": "url",
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "title",
|
|
82
|
+
"baseName": "title",
|
|
83
|
+
"type": "string"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "excerpt",
|
|
87
|
+
"baseName": "excerpt",
|
|
88
|
+
"type": "string"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "imageUrl",
|
|
92
|
+
"baseName": "image_url",
|
|
93
|
+
"type": "string"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "platforms",
|
|
97
|
+
"baseName": "platforms",
|
|
98
|
+
"type": "Array<BlogToSocialInput.PlatformsEnum>"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "accountIds",
|
|
102
|
+
"baseName": "account_ids",
|
|
103
|
+
"type": "Array<number>"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "tone",
|
|
107
|
+
"baseName": "tone",
|
|
108
|
+
"type": "BlogToSocialInput.ToneEnum"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "contentLength",
|
|
112
|
+
"baseName": "content_length",
|
|
113
|
+
"type": "BlogToSocialInput.ContentLengthEnum"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "hashtags",
|
|
117
|
+
"baseName": "hashtags",
|
|
118
|
+
"type": "BlogToSocialInput.HashtagsEnum"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "cta",
|
|
122
|
+
"baseName": "cta",
|
|
123
|
+
"type": "BlogToSocialInput.CtaEnum"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "language",
|
|
127
|
+
"baseName": "language",
|
|
128
|
+
"type": "string"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "customInstructions",
|
|
132
|
+
"baseName": "custom_instructions",
|
|
133
|
+
"type": "string"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "createPost",
|
|
137
|
+
"baseName": "create_post",
|
|
138
|
+
"type": "boolean"
|
|
139
|
+
} ];
|
|
140
|
+
|
|
141
|
+
static getAttributeTypeMap() {
|
|
142
|
+
return BlogToSocialInput.attributeTypeMap;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export namespace BlogToSocialInput {
|
|
147
|
+
export enum PlatformsEnum {
|
|
148
|
+
Facebook = <any> 'facebook',
|
|
149
|
+
Instagram = <any> 'instagram',
|
|
150
|
+
X = <any> 'x',
|
|
151
|
+
Linkedin = <any> 'linkedin',
|
|
152
|
+
Pinterest = <any> 'pinterest',
|
|
153
|
+
Youtube = <any> 'youtube',
|
|
154
|
+
Tiktok = <any> 'tiktok',
|
|
155
|
+
Mastodon = <any> 'mastodon',
|
|
156
|
+
Threads = <any> 'threads',
|
|
157
|
+
Bluesky = <any> 'bluesky',
|
|
158
|
+
GoogleBusiness = <any> 'google_business'
|
|
159
|
+
}
|
|
160
|
+
export enum ToneEnum {
|
|
161
|
+
Neutral = <any> 'neutral',
|
|
162
|
+
Friendly = <any> 'friendly',
|
|
163
|
+
Formal = <any> 'formal',
|
|
164
|
+
Edgy = <any> 'edgy',
|
|
165
|
+
Engaging = <any> 'engaging',
|
|
166
|
+
Casual = <any> 'casual',
|
|
167
|
+
Professional = <any> 'professional',
|
|
168
|
+
Humorous = <any> 'humorous',
|
|
169
|
+
Inspirational = <any> 'inspirational',
|
|
170
|
+
Conversational = <any> 'conversational'
|
|
171
|
+
}
|
|
172
|
+
export enum ContentLengthEnum {
|
|
173
|
+
Short = <any> 'short',
|
|
174
|
+
Medium = <any> 'medium',
|
|
175
|
+
Long = <any> 'long'
|
|
176
|
+
}
|
|
177
|
+
export enum HashtagsEnum {
|
|
178
|
+
None = <any> 'none',
|
|
179
|
+
Few = <any> 'few',
|
|
180
|
+
Some = <any> 'some',
|
|
181
|
+
Many = <any> 'many'
|
|
182
|
+
}
|
|
183
|
+
export enum CtaEnum {
|
|
184
|
+
None = <any> 'none',
|
|
185
|
+
Question = <any> 'question',
|
|
186
|
+
Link = <any> 'link',
|
|
187
|
+
Subscribe = <any> 'subscribe',
|
|
188
|
+
Follow = <any> 'follow',
|
|
189
|
+
Share = <any> 'share',
|
|
190
|
+
LearnMore = <any> 'learn_more',
|
|
191
|
+
Signup = <any> 'signup',
|
|
192
|
+
Buy = <any> 'buy',
|
|
193
|
+
Download = <any> 'download'
|
|
194
|
+
}
|
|
195
|
+
}
|