Download OpenAPI specification:
Superseded by the Retrieve Configuration Values endpoint.
| agencyId required | string |
Activates CloudStudio on 1-100 workspaces in the agency. Activation is an upsert: a workspace that already has CloudStudio is re-pointed to the requested plan and posting-frequency override, so re-invoking this endpoint is the supported way to change them; re-activation refreshes activatedAt. Any approved campaign brief is unapproved so content under the new plan starts from a fresh approval. Duplicate workspaceIds are coalesced. Plan codes: CLOUDSTUDIO_1 = The Social Media Manager 3 posts/week, CLOUDSTUDIO_2 = 7 posts/week, CLOUDSTUDIO_3 = 14 posts/week, CLOUDSTUDIO_4 = The Whole Damn Agency 28 posts/week. postFrequencyCountOverride must be between 1 and the plan's cadence; out-of-range values are rejected with 400.
| x-agency-id required | string |
| workspaceIds required | Array of strings [ 1 .. 100 ] items unique 1-100 distinct workspace IDs (UUID strings) to activate. Duplicates are coalesced. |
| planCode required | string Enum: "CLOUDSTUDIO_1" "CLOUDSTUDIO_2" "CLOUDSTUDIO_3" "CLOUDSTUDIO_4" The CloudStudio plan to activate. |
| postFrequencyCountOverride | integer <int32> >= 1 Posts per week, 1 to the plan's cadence. Omit to use the plan's cadence. |
{- "workspaceIds": [
- "string"
], - "planCode": "CLOUDSTUDIO_1",
- "postFrequencyCountOverride": 1
}Generates the workspace's one-time CloudStudio sample content batch: unscheduled draft posts gathered under a content approval. Supply brandInfo.brandWebsite to have empty brand details filled from the website (request values always win), or brandInfo.brandName with the details you want used. The request is validated and accepted with 202; generation runs asynchronously and completes or fails through the SAMPLE_CONTENT_READY_FOR_REVIEW and SAMPLE_CONTENT_GENERATION_FAILED webhooks, correlated by workspaceId. Nobody is emailed unless notificationRecipients names someone. A workspace receives exactly one sample batch.
| x-agency-id required | string |
| workspaceId required | string The workspace to generate sample content for. Must belong to the agency in x-agency-id. |
| postCount | integer <int32> >= 1 Number of posts to generate, 1 to the workspace's sample content count setting (default 10). Omit to use the setting's value. |
| requiresApproval | boolean Whether the generated posts wait for customer approval. Default true. |
| language | string Locale code for captions, in-image text, and the campaign brief. Default en-US. |
| accountIds | Array of strings Workspace social account IDs to attach the posts to. Omit for unattached posts. Each must belong to the workspace and be on a platform CloudStudio supports; an account on any other platform is rejected with 400 and the response names the supported platforms. |
required | object (SampleBrandInfo) Brand identity and campaign brief inputs. In website mode every empty field except fontFamily may be filled from the website. |
object (SampleContactInfo) Contact details by type. All four are required when a chosen graphic collection renders contact details into its templates. | |
object (SampleCaptionSettings) Settings that apply to every caption. | |
object (SampleImageSettings) Settings that apply to every image, whatever its style. | |
required | object (SampleImageStyles) Each key is an image style; a key's presence chooses that style. At least one is required. Omitted percentages share the remainder evenly. |
| notificationRecipients | Array of strings [ 0 .. 20 ] items Email addresses that receive the sample-ready email. Omitted or empty means nobody is emailed. Applies to this batch only; the workspace's CloudStudio recipient setting is not changed. |
{- "workspaceId": "string",
- "postCount": 1,
- "requiresApproval": true,
- "language": "en-US",
- "accountIds": [
- "string"
], - "brandInfo": {
- "brandWebsite": "string",
- "brandName": "string",
- "brandLogo": "string",
- "industry": "string",
- "location": "string",
- "audience": "string",
- "brandVoices": [
- "string"
], - "campaignFocusAreas": [
- "string"
], - "primaryColor": "#1A1A2E",
- "secondaryColor": "#F0F4FF",
- "fontFamily": "string"
}, - "contactInfo": {
- "phone": {
- "value": "string",
- "ctaText": "string"
}, - "website": {
- "value": "string",
- "ctaText": "string"
}, - "email": {
- "value": "string",
- "ctaText": "string"
}, - "storeLocation": {
- "value": "string",
- "ctaText": "string"
}, - "ctaPercentage": 10
}, - "captionSettings": {
- "includeEmojis": true,
- "includeHashtags": true,
- "ruleset": "string"
}, - "imageSettings": {
- "ruleset": "string"
}, - "imageStyles": {
- "graphic": {
- "percentage": 1,
- "collectionIds": [
- "string"
]
}, - "photorealistic": {
- "percentage": 1
}
}, - "notificationRecipients": [
- "string"
]
}Lists the graphic style collections available to the agency, ordered by name. Without a workspaceId, only collections not scoped to specific workspaces are listed. With a workspaceId, collections scoped to that workspace are added. Each collection's moods and industries are the distinct tags across its templates. Pages are zero-based: the page defaults to 0 and the page size defaults to 25, with a maximum of 100.
| workspaceId | string |
| page | integer <int32> |
| pageSize | integer <int32> |
| x-agency-id required | string |
Configurations allow you to customize a user's experience in the application. Configurations have a global default value and can be overridden at the Agency, Workspace, and User level. The most specific value will be utilized to define a user's experience, with user being the most specific. If you would like to modify configuration, we encourage applying defaults at the highest applicable level, likely at your Agency and then applying more specific overrides, if needed.
Example:
This example shows how overriding configuration operates in our system.
Scenario:
SOCIAL_ACCOUNTS_LIMIT has a default value of 10.SOCIAL_ACCOUNTS_LIMIT with a value of 20.Client 1, which is is part of your Agency has an override of configuration SOCIAL_ACCOUNTS_LIMIT with a value of 50.John, who is a member of your Agency has an override of configuration SOCIAL_ACCOUNTS_LIMIT with a value of 0.Outcomes:
SOCIAL_ACCOUNTS_LIMIT is utilized in a different Agency without an override, the default value of 10 will be utilized. | Default Value | Agency Override | Workspace Override | User Override |
| 10 |
SOCIAL_ACCOUNTS_LIMIT is utilized by your Agency, the Agency override value of 20 will be utilized. | Default Value | Agency Override | Workspace Override | User Override |
| 10 | 20 |
SOCIAL_ACCOUNTS_LIMIT is utilized in your Agency in Workspace Client 1 for User Jane, the Workspace override value of 50 will be utilized. | Default Value | Agency Override | Workspace Override | User Override |
| 10 | 20 | 50 |
SOCIAL_ACCOUNTS_LIMIT is utilized in your Agency in Workspace Client 1 for User John, the User override value of 0 will be utilized. | Default Value | Agency Override | Workspace Override | User Override |
| 10 | 20 | 50 | 0 |
Lists the default configuration values. Utilize the Override Configuration endpoint to override these values.
| x-agency-id required | string <uuid> |
Creates a configuration override at the Agency, Workspace, or User level.
| x-agency-id required | string |
| agencyId required | string <uuid> The agency to set the override for. If you provide only an agency the override will be set at the agency level. |
| workspaceId | string <uuid> The workspace to set the override for. Allows a override to be overridden for a specific workspace. If you provide a workspace ID, you must not provide a user ID. |
| userId | string <uuid> The user to set the override for. Allows a override to be overridden for a specific user. If you provide a user ID, you must not provide a workspace ID. |
| configurationId required | integer <int32> The ID of the configuration to override. |
| value required | object The value to override the configuration with. The data type of this value depends on the configuration you are overriding. See the List Configuration Defaults endpoint to identify the configuration data type. Example values include |
{- "agencyId": "fe2a2303-ed4e-420e-a204-390681cd7c5b",
- "workspaceId": "571e0499-6321-4a8a-ae91-7c1f6ae66cae",
- "userId": "bca4a5cc-3e45-4fce-bdfe-b4e9d677a654",
- "configurationId": 51,
- "value": { }
}Removes a setting override at the Agency, Workspace, or User level.
| x-agency-id required | string |
| agencyId required | string <uuid> The agency to remove the override for. If you provide only an agency, the override will be removed at the agency level. |
| workspaceId | string <uuid> The workspace to remove the override for. Allows a override to be overridden for a specific workspace. If you provide a workspace ID, you must not provide a user ID. |
| userId | string <uuid> The user to remove the override for. Allows a override to be overridden for a specific user. If you provide a user ID, you must not provide a workspace ID. |
| configurationId required | integer <int32> The ID of the setting override to remove. |
{- "agencyId": "fe2a2303-ed4e-420e-a204-390681cd7c5b",
- "workspaceId": "571e0499-6321-4a8a-ae91-7c1f6ae66cae",
- "userId": "bca4a5cc-3e45-4fce-bdfe-b4e9d677a654",
- "configurationId": 51
}| x-agency-id required | string |
| prompt | string |
| workspaceIds | Array of strings |
| quantity | integer <int32> |
| includeHashtags | boolean |
| includeEmojis | boolean |
| tone | string |
| variability | number <double> |
| requireApproval | boolean |
| categories | Array of strings |
| platformList | Array of strings |
{- "prompt": "string",
- "workspaceIds": [
- "string"
], - "quantity": 0,
- "includeHashtags": true,
- "includeEmojis": true,
- "tone": "string",
- "variability": 0.1,
- "requireApproval": true,
- "categories": [
- "string"
], - "platformList": [
- "string"
]
}This endpoint enables bulk content creation from a CSV file. The CSV file format can be found in our knowledge base documentation.
| x-agency-id required | string |
| agencyId required | string |
| workspaceIds | Array of strings [ 1 .. 100 ] items |
| externalUrl required | string |
{- "agencyId": "string",
- "workspaceIds": [
- "string"
], - "externalUrl": "string"
}This restricted endpoint supports generating images and captions in multiple Workspaces at the same time. Contact your account manager to get access.
| x-agency-id required | string |
| prompt | string |
| workspaceIds | Array of strings |
| quantity | integer <int32> |
| variability | number <double> |
| requireApproval | boolean |
| categories | Array of strings |
| location | string |
| industry | string |
| audience | string |
| services | Array of strings |
| brandVoices | Array of strings |
required | object (GenerateCaptionsRequest) |
object (GenerateMediaRequest) | |
| bypassWorkspaceProfiles | boolean |
{- "prompt": "string",
- "workspaceIds": [
- "string"
], - "quantity": 0,
- "variability": 0.1,
- "requireApproval": true,
- "categories": [
- "string"
], - "location": "string",
- "industry": "string",
- "audience": "string",
- "services": [
- "string"
], - "brandVoices": [
- "string"
], - "captions": {
- "includeHashtags": true,
- "includeEmojis": true,
- "tone": "string",
- "platformList": [
- "string"
]
}, - "media": {
- "aspectRatio": "1:1",
- "style": "photographic"
}, - "bypassWorkspaceProfiles": true
}This endpoint enables creation of new Content. The boolean flag postNow can be used to create content and post it as soon as the supplied media has been uploaded. Set accountIds to post to specific accounts otherwise the workspace's default accounts will be used.
| workspaceId required | string |
| x-agency-id required | string |
| title | string |
| isCoverPhoto | boolean |
| isStory | boolean |
| approved | boolean |
object (ContentCreatePubSettingRequest) | |
| tagNames | Array of strings |
| platformList | Array of strings |
Array of objects (CaptionCreateRequest) | |
Array of objects (ContentCreateMediaRequest) | |
| postNow | boolean |
| accountIds | Array of strings |
{- "title": "string",
- "isCoverPhoto": true,
- "isStory": true,
- "approved": true,
- "publishingSettings": {
- "recycle": true,
- "isReel": true,
- "youtubePrivacyStatus": "string",
- "expireAfterDate": "string",
- "expireAfterPostCount": 0,
- "gbpSettings": {
- "postType": "STANDARD",
- "standardPostSettings": {
- "gbpctaButton": "NONE",
- "url": "string"
}, - "offerPostSettings": {
- "title": "string",
- "couponCode": "string",
- "redeemOnlineUrl": "string",
- "termsConditions": "string",
- "startDate": "2025-12-31",
- "startHour": 14,
- "startMinute": 30,
- "endDate": "2025-12-31",
- "endHour": 14,
- "endMinute": 30
}, - "eventPostSettings": {
- "title": "string",
- "ctaButton": "NONE",
- "url": "string",
- "startDate": "2025-12-31",
- "startHour": 14,
- "startMinute": 30,
- "endDate": "2025-12-31",
- "endHour": 14,
- "endMinute": 30
}
}
}, - "tagNames": [
- "string"
], - "platformList": [
- "string"
], - "captions": [
- {
- "text": "string",
- "platform": "FACEBOOK",
- "index": 0
}
], - "media": [
- {
- "type": "string",
- "sourceUrl": "string",
- "title": "string",
- "thumbnailTimestamp": 0,
- "imageUrl": "string",
- "description": "string"
}
], - "postNow": true,
- "accountIds": [
- "string"
]
}This endpoint enables publishing of existing Content. An array of accountIds can be supplied in the body of the request. If no accountIds are supplied, the default accounts for the Content will be used.
| workspaceId required | string |
| contentId required | string |
| x-agency-id required | string |
| accountIds | Array of strings |
{- "accountIds": [
- "string"
]
}| workspaceId required | string |
| x-agency-id required | string |
| color | string |
| id | string |
object (Style) | |
| title | string |
| workspaceId | string |
{- "color": "string",
- "id": "string",
- "style": {
- "background-color": "string"
}, - "title": "string",
- "workspaceId": "string"
}Schedules allow content publishing to be pre-planned or even automated with certain schedule types.
| x-agency-id required | string |
| workspaceId required | string The ID of the workspace to create the schedule in. |
| title required | string The title of the schedule. |
| active | boolean Whether the schedule is active. Defaults to false for WEEKLY schedules, true for AD_HOC. |
| type required | string Enum: "WEEKLY" "AD_HOC" The type of schedule to be created. |
| timezone | string The timezone of the schedule. Utilizes IANA timezone database IDs, such as |
object (ScheduleAutofillRequestDTO) The autofill configuration for the schedule. Autofilling automatically adds content to the schedule based on content tags. | |
Array of objects (ScheduleTimeslotRequestDTO) The timeslot configuration for the schedule. Required for WEEKLY type. | |
object (ScheduleAdHocPostRequestDTO) Ad-hoc post configuration for AD_HOC schedules |
{- "workspaceId": "3723d2d7-45cb-4ff7-af59-a3956fd9b25d",
- "title": "Monday Motivation",
- "active": true,
- "type": "WEEKLY",
- "timezone": "America/Denver",
- "autoFill": {
- "enabled": true,
- "contentTagIds": [
- "string"
], - "accountIds": [
- "string"
], - "postNewContentFirst": false
}, - "weeklyTimeslots": [
- {
- "days": "[1, 3, 7]",
- "hour": 14,
- "minute": 30
}
], - "post": {
- "date": "2025-12-31",
- "hour": 14,
- "minute": 30,
- "contentId": "string",
- "accountIds": [
- "string"
]
}
}This endpoint will retrieve information about the calculated schedule for the Calendar for a given range of time.
| workspaceId required | string |
| startDate required | integer <int64> |
| endDate required | integer <int64> |
| platform | string |
| x-agency-id required | string |
| workspaceId required | string |
| x-agency-id required | string |
| workspaceId required | string The ID of the workspace to create the schedule in. |
| title required | string The title of the schedule. |
| active | boolean Whether the schedule is active. Defaults to false for WEEKLY schedules, true for AD_HOC. |
| type required | string Enum: "WEEKLY" "AD_HOC" The type of schedule to be created. |
| timezone | string The timezone of the schedule. Utilizes IANA timezone database IDs, such as |
object (ScheduleAutofillRequestDTO) The autofill configuration for the schedule. Autofilling automatically adds content to the schedule based on content tags. | |
Array of objects (ScheduleTimeslotRequestDTO) The timeslot configuration for the schedule. Required for WEEKLY type. | |
object (ScheduleAdHocPostRequestDTO) Ad-hoc post configuration for AD_HOC schedules |
{- "workspaceId": "3723d2d7-45cb-4ff7-af59-a3956fd9b25d",
- "title": "Monday Motivation",
- "active": true,
- "type": "WEEKLY",
- "timezone": "America/Denver",
- "autoFill": {
- "enabled": true,
- "contentTagIds": [
- "string"
], - "accountIds": [
- "string"
], - "postNewContentFirst": false
}, - "weeklyTimeslots": [
- {
- "days": "[1, 3, 7]",
- "hour": 14,
- "minute": 30
}
], - "post": {
- "date": "2025-12-31",
- "hour": 14,
- "minute": 30,
- "contentId": "string",
- "accountIds": [
- "string"
]
}
}| workspaceId required | string |
| x-agency-id required | string |
| to required | string Platform account ID of who to send the message to. |
| from required | string Platform account ID of the account you are sending the message from. |
| parentId | string The ID of the specific message you are replying to for a threaded response. |
| message | string |
Array of objects (DirectMessageAttachmentRequest) [ 0 .. 30 ] items | |
| platform required | string Value: "facebook" The platform you are sending a message on. |
{- "to": "string",
- "from": "string",
- "parentId": "string",
- "message": "string",
- "attachments": [
- {
- "type": "image",
- "url": "string"
}
], - "platform": "facebook"
}| workspaceId required | string |
| x-agency-id required | string |
| platform required | string Enum: "FACEBOOK" "LINKEDIN" "GMB" "INSTAGRAM" "YOUTUBE" "PINTEREST" "TIKTOK" "THREADS" The platform type for which to generate a relink URL |
{- "platform": "FACEBOOK"
}| x-agency-id required | string |
| agencyId | string |
| externalId | string |
| name | string |
string | |
| role required | string Enum: "BRAND_MANAGER" "CLIENT" "ADMIN" |
Array of objects (UserSettingValue) | |
object (EmailSubscriptions) |
{- "agencyId": "string",
- "externalId": "string",
- "name": "string",
- "email": "string",
- "role": "BRAND_MANAGER",
- "settings": [
- {
- "id": 0,
- "settingId": 0,
- "value": "string",
- "categoryId": 0,
- "clazz": "string",
- "type": "STRING",
- "settingName": "string",
- "categoryName": "string",
- "agencyId": "string",
- "userId": "string"
}
], - "emailSubscriptions": {
- "gettingStartedGuide": true,
- "weeklyAccountRecap": true,
- "commentNotifications": true,
- "messageAssignmentNotifications": true,
- "weeklyAccountRecapForAllWorkspaces": true,
- "weeklyAccountRecapWorkspaces": [
- "string"
], - "contentApprovalNotifications": true
}
}| userId required | string |
| x-agency-id required | string |
| id | string |
| agencyId | string |
| externalId | string |
| name | string |
string | |
| role | string Enum: "BRAND_MANAGER" "BRAND_ADMIN" "CLIENT" "CONTENT_CREATOR" "PUBLISHER" "ADMIN" "BRAND_AMBASSADOR" "SUBSCRIBER" |
Array of objects (UserSettingValue) | |
object (EmailSubscriptions) |
{- "id": "string",
- "agencyId": "string",
- "externalId": "string",
- "name": "string",
- "email": "string",
- "role": "BRAND_MANAGER",
- "settings": [
- {
- "id": 0,
- "settingId": 0,
- "value": "string",
- "categoryId": 0,
- "clazz": "string",
- "type": "STRING",
- "settingName": "string",
- "categoryName": "string",
- "agencyId": "string",
- "userId": "string"
}
], - "emailSubscriptions": {
- "gettingStartedGuide": true,
- "weeklyAccountRecap": true,
- "commentNotifications": true,
- "messageAssignmentNotifications": true,
- "weeklyAccountRecapForAllWorkspaces": true,
- "weeklyAccountRecapWorkspaces": [
- "string"
], - "contentApprovalNotifications": true
}
}Superseded by the Retrieve Configuration Values endpoint.
| userId required | string |
| x-agency-id required | string |
Superseded by the Override Configuration endpoint.
| userId required | string |
| x-agency-id required | string |
| id | integer <int32> |
| settingId | integer <int32> |
| value | string |
| categoryId | integer <int32> |
| clazz | string |
| type | string Enum: "STRING" "ENUM" "COMPLEX" "INTEGER" "LONG" "DOUBLE" "BOOLEAN" |
| settingName | string |
| categoryName | string |
| agencyId | string |
| userId | string |
[- {
- "id": 0,
- "settingId": 0,
- "value": "string",
- "categoryId": 0,
- "clazz": "string",
- "type": "STRING",
- "settingName": "string",
- "categoryName": "string",
- "agencyId": "string",
- "userId": "string"
}
]Superseded by the Remove Configuration Override endpoint.
| userId required | string |
| x-agency-id required | string |
[- 0
]| workspaceTagId required | string |
| x-agency-id required | string |
| id | string |
| agencyId | string |
| name | string |
| color | string |
{- "id": "string",
- "agencyId": "string",
- "name": "string",
- "color": "string"
}| workspaceTagId required | string |
| x-agency-id required | string |
| selectAll | boolean |
| excludedWorkspaceIds | Array of strings |
| workspaceIds | Array of strings |
{- "selectAll": true,
- "excludedWorkspaceIds": [
- "string"
], - "workspaceIds": [
- "string"
]
}| x-agency-id required | string |
| agencyId | string |
| externalId | string |
| timezone | string |
| name | string |
| website | string |
| iconUrl | string |
| active | boolean |
| trialExpirationDays | integer <int32> Optional free trial duration expressed as an integer between 1 and 30. Contact your account manager to enable this capability and to be considered for a longer trial length. |
{- "agencyId": "string",
- "externalId": "string",
- "timezone": "string",
- "name": "string",
- "website": "string",
- "iconUrl": "string",
- "active": true,
- "trialExpirationDays": 0
}| workspaceId required | string |
| x-agency-id required | string |
| id | string Must match the workspaceId in the path. |
| agencyId | string |
| name | string |
| website | string |
| iconUrl | string |
| active | boolean |
| externalId | string |
| timezone | string |
{- "id": "string",
- "agencyId": "string",
- "name": "string",
- "website": "string",
- "iconUrl": "string",
- "active": true,
- "externalId": "string",
- "timezone": "string"
}| workspaceId required | string |
| x-agency-id required | string |
string | |
| list | string Enum: "APPROVALS" "REPORTS" "POST_ALERTS" "POST_FAILURES" "C2_NOTIFICATIONS" |
{- "email": "string",
- "list": "APPROVALS"
}| workspaceId required | string |
| x-agency-id required | string |
string | |
| list | string Enum: "APPROVALS" "REPORTS" "POST_ALERTS" "POST_FAILURES" "C2_NOTIFICATIONS" |
{- "email": "string",
- "list": "APPROVALS"
}PUT the workspace profile for the given workspace ID with the passed in payload. These values are used to provide brand context for AI generated content.
| workspaceId required | string |
| x-agency-id required | string |
| brandVoices | Array of strings |
| industry | string |
| location | string |
| services | Array of strings |
| audience | string |
| phoneNumber | string |
| address | string |
{- "brandVoices": [
- "string"
], - "industry": "string",
- "location": "string",
- "services": [
- "string"
], - "audience": "string",
- "phoneNumber": "string",
- "address": "string"
}Superseded by the Retrieve Configuration Values endpoint.
| workspaceId required | string |
| x-agency-id required | string |
Superseded by the Override Configuration endpoint.
| workspaceId required | string |
| x-agency-id required | string |
| id | integer <int32> |
| settingId | integer <int32> |
| value | string |
| categoryId | integer <int32> |
| clazz | string |
| type | string Enum: "STRING" "ENUM" "COMPLEX" "INTEGER" "LONG" "DOUBLE" "BOOLEAN" |
| settingName | string |
| categoryName | string |
| workspaceId | string |
| agencyId | string |
[- {
- "id": 0,
- "settingId": 0,
- "value": "string",
- "categoryId": 0,
- "clazz": "string",
- "type": "STRING",
- "settingName": "string",
- "categoryName": "string",
- "workspaceId": "string",
- "agencyId": "string"
}
]Superseded by the Remove Configuration Override endpoint.
| workspaceId required | string |
| x-agency-id required | string |
[- 0
]