Content Style API
Base URL: https://server.feedboss.ai/api/v1/content-styles
Authentication
All endpoints require authentication. You can authenticate using a Service API Key.
Service API Key
Add your Service API Key to the x-api-key header.
x-api-key: fb_live_xxxxxxxxxxxxxxxxxxxxxxxx
1. Create Content Style
Endpoint: POST /:workspaceId
Description: Creates a new content style for the specified workspace.
Parameters:
workspaceId(path, required): The ID of the workspace.
Request Body:
{
"name": "My New Style",
"description": "Optional description for the style"
}
Response (201 Created):
{
"success": true,
"data": {
"_id": "style_id_here",
"name": "My New Style",
"description": "Optional description for the style",
"workspaceId": "workspace_id_here",
"userId": "user_id_here",
"posts": [],
"createdAt": "2023-10-27T10:00:00.000Z",
"updatedAt": "2023-10-27T10:00:00.000Z"
}
}
Error Response (400 Bad Request):
{
"success": false,
"message": "Content style name is required"
}
2. Get All Content Styles
Endpoint: GET /:workspaceId
Description: Retrieves all content styles associated with a workspace.
Parameters:
workspaceId(path, required): The ID of the workspace.
Response (200 OK):
{
"success": true,
"count": 2,
"data": [
{
"_id": "style_id_1",
"name": "Style 1",
"description": "Description 1",
"posts": [...]
},
{
"_id": "style_id_2",
"name": "Style 2",
"description": "Description 2",
"posts": [...]
}
]
}
3. Get Single Content Style
Endpoint: GET /:workspaceId/:styleId
Description: Retrieves a specific content style by its ID.
Parameters:
workspaceId(path, required): The ID of the workspace.styleId(path, required): The ID of the content style.
Response (200 OK):
{
"success": true,
"data": {
"_id": "style_id_here",
"name": "My Style",
...
}
}
Error Response (404 Not Found):
{
"success": false,
"message": "Content style not found"
}
4. Update Content Style
Endpoint: PUT /:workspaceId/:styleId
Description: Updates the name and description of a content style.
Parameters:
workspaceId(path, required): The ID of the workspace.styleId(path, required): The ID of the content style.
Request Body:
{
"name": "Updated Style Name",
"description": "Updated description"
}
Response (200 OK):
{
"success": true,
"data": {
"_id": "style_id_here",
"name": "Updated Style Name",
"description": "Updated description",
...
}
}
5. Delete Content Style
Endpoint: DELETE /:workspaceId/:styleId
Description: Deletes a content style permanently.
Parameters:
workspaceId(path, required): The ID of the workspace.styleId(path, required): The ID of the content style.
Response (200 OK):
{
"success": true,
"data": {}
}
6. Add Posts to Content Style
Endpoint: POST /:workspaceId/:styleId/posts
Description: Adds one or more example posts to a content style to help train the AI on the style. Maximum 5 posts at a time.
Parameters:
workspaceId(path, required): The ID of the workspace.styleId(path, required): The ID of the content style.
Request Body:
{
"posts": [
"Example post content 1...",
"Example post content 2..."
]
}
Response (201 Created):
{
"success": true,
"count": 2,
"data": [
{
"_id": "post_id_1",
"content": "Example post content 1...",
...
},
...
]
}
7. Update Post in Content Style
Endpoint: PUT /:workspaceId/:styleId/posts/:postId
Description: Updates the content of a specific post within a content style.
Parameters:
workspaceId(path, required): The ID of the workspace.styleId(path, required): The ID of the content style.postId(path, required): The ID of the post to update.
Request Body:
{
"content": "Updated post content..."
}
Response (200 OK):
{
"success": true,
"data": {
"_id": "post_id_here",
"content": "Updated post content...",
...
}
}
8. Delete Post from Content Style
Endpoint: DELETE /:workspaceId/:styleId/posts/:postId
Description: Removes a post from a content style.
Parameters:
workspaceId(path, required): The ID of the workspace.styleId(path, required): The ID of the content style.postId(path, required): The ID of the post.
Response (200 OK):
{
"success": true,
"data": {}
}
9. Scrape LinkedIn Profile
Endpoint: GET /:workspaceId/get-posts-from-linkedin-profile
Description: Instantly scrapes posts from a provided LinkedIn profile URL.
Parameters:
workspaceId(path, required): The ID of the workspace.
Query Parameters:
profileUrl(required): The full URL of the LinkedIn profile to scrape.
Response (200 OK):
{
"success": true,
"data": [
{
"content": "Scraped post content...",
"date": "2023-10-25"
},
...
]
}
Error Response (400 Bad Request):
{
"success": false,
"message": "LinkedIn profile URL is required as query parameter"
}