Vendasta Composer API
The Composer API from Vendasta — 1 operation(s) for composer.
The Composer API from Vendasta — 1 operation(s) for composer.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/vendasta-composer-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Composer API
version: 1.14.0
servers:
- description: Production
url: https://prod.apigateway.co/grpc
tags:
- name: Composer
paths:
/v1/composer/update:
post:
operationId: Composer_UpdatePosts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v1UpdatePostsRequest'
description: Request to update one or more scheduled social media posts.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/v1UpdatePostsResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
description: An unexpected error response.
summary: Update Posts
tags:
- Composer
components:
schemas:
v1Exception:
description: An error encountered for a specific social service during a post operation.
properties:
message:
description: Output only. The error message describing what went wrong.
readOnly: true
type: string
socialServiceId:
description: Output only. The social service ID where the error occurred.
readOnly: true
type: string
title: Exception
type: object
rpcStatus:
properties:
code:
format: int32
type: integer
details:
items:
$ref: '#/components/schemas/protobufAny'
type: array
message:
type: string
type: object
v1GMBPostCustomization:
properties:
ctaType:
type: string
eventEnd:
format: date-time
type: string
eventStart:
format: date-time
type: string
linkUrl:
type: string
title:
type: string
type: object
v1PostType:
default: POST_TYPE_INVALID
enum:
- POST_TYPE_INVALID
- POST_TYPE_IMAGE
- POST_TYPE_VIDEO
- POST_TYPE_GIF
- POST_TYPE_REEL
- POST_TYPE_CAROUSEL
- POST_TYPE_STORIES
- POST_TYPE_TEXT
- POST_TYPE_IMAGE_STORY
- POST_TYPE_VIDEO_STORY
type: string
composerv1MediaEntry:
description: 'Media Entry field to have media
This is currently starting with Instagram Carousel posts but
we would need to update other post types as well.'
properties:
containerId:
type: string
mediaEntryId:
type: string
mediaType:
type: string
mediaUrl:
type: string
metaData:
items:
$ref: '#/components/schemas/v1MetaData'
type: array
type: object
v1UpdatePostsRequest:
description: Request to update one or more scheduled social media posts.
properties:
posts:
description: Required. The list of posts to update. Each post must include its internal_post_id.
items:
$ref: '#/components/schemas/v1Post'
type: array
required:
- posts
title: UpdatePostsRequest
type: object
v1Result:
description: A successful result containing the social post ID and post details.
properties:
post:
$ref: '#/components/schemas/v1Post'
socialPostId:
description: Output only. The social post ID assigned by the social media platform.
readOnly: true
type: string
title: Result
type: object
v1MetaData:
description: 'Metadata message type for saving properties in individual µservice
This is currently starting with Instagram Carousel posts but
we would need to update other post types as well.'
properties:
propertyName:
type: string
propertyValue:
type: string
type: object
v1Post:
description: A social media post to be scheduled, updated, or returned in results.
properties:
brandId:
description: Optional. If this is an ML post, brand ID is also required.
type: string
businessId:
description: Required. The business ID of the account.
type: string
gifUrl:
description: Optional. The URL of a gif to post.
type: string
gmbPostCustomization:
$ref: '#/components/schemas/v1GMBPostCustomization'
imageUrls:
description: Optional. The URLs of images to include on the post.
items:
type: string
type: array
internalPostId:
description: Required. The internal post ID, used to identify the post for updates.
type: string
isMultilocation:
description: Optional. If this is a multi-location composer post or not.
type: boolean
link:
$ref: '#/components/schemas/v1Link'
linkShortCodes:
description: Optional. The shortcodes of links in the post.
items:
type: string
type: array
linkUrl:
description: Optional. The URL of a link to post.
type: string
mediaEntries:
description: Optional. Array of media content when uploading multiple media.
items:
$ref: '#/components/schemas/composerv1MediaEntry'
type: array
metaData:
description: Optional. Metadata about the media, could be anything.
items:
$ref: '#/components/schemas/v1MetaData'
type: array
postText:
description: Optional. The post text content.
type: string
postType:
$ref: '#/components/schemas/v1PostType'
scheduled:
description: Optional. The time to schedule the post for.
format: date-time
type: string
socialServiceId:
description: Required. The ID of the social service connection to publish to.
type: string
tiktokCustomization:
$ref: '#/components/schemas/v1TikTokCustomization'
title:
description: Optional. The title of the post. Used by YouTube and LinkedIn.
type: string
videoUrl:
description: Optional. The URL of a video to post.
type: string
youtubeCustomization:
$ref: '#/components/schemas/v1YoutubeCustomization'
required:
- socialServiceId
- businessId
- internalPostId
title: Post
type: object
YoutubeCustomizationPrivacyStatus:
default: STATUS_INVALID
enum:
- STATUS_INVALID
- STATUS_PUBLIC
- STATUS_PRIVATE
- STATUS_UNLISTED
type: string
v1UpdatePostsResponse:
description: Response containing the results of updating social media posts.
properties:
exceptions:
description: Output only. Exceptions encountered during post updates.
items:
$ref: '#/components/schemas/v1Exception'
readOnly: true
type: array
results:
description: Output only. The successfully updated posts.
items:
$ref: '#/components/schemas/v1Result'
readOnly: true
type: array
title: UpdatePostsResponse
type: object
v1Link:
properties:
description:
title: The description of the link
type: string
name:
title: The name of the link preview
type: string
picture:
description: The preview image associated with the link.
type: string
title:
title: The title for the link
type: string
type: object
protobufAny:
additionalProperties: {}
properties:
'@type':
type: string
type: object
v1TikTokCustomization:
properties:
allowComment:
type: boolean
allowDuet:
type: boolean
allowStitch:
type: boolean
isBrandOrganic:
type: boolean
isBrandedContent:
type: boolean
type: object
v1YoutubeCustomization:
properties:
privacyStatus:
$ref: '#/components/schemas/YoutubeCustomizationPrivacyStatus'
type: object
securitySchemes:
OAuth2:
flows:
authorizationCode:
authorizationUrl: https://sso-api-prod.apigateway.co/oauth2/auth
scopes: {}
tokenUrl: https://sso-api-prod.apigateway.co/oauth2/token
type: oauth2