Vendasta Composer API

The Composer API from Vendasta — 1 operation(s) for composer.

Operations 1

POST /v1/composer/update Update Posts #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vendasta-composer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vendasta-composer-api-openapi.yml Raw ↑
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