Vendasta Messages API
The Messages API from Vendasta — 1 operation(s) for messages.
The Messages API from Vendasta — 1 operation(s) for messages.
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-messages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Social Messages API
version: Evergreen
description: These APIs allow users to use Vendasta's social capabilities. All the endpoints require either the `social` or `business` scopes to be accessed.
servers:
- url: https://prod.apigateway.co/products/social
description: Production
- url: https://demo.apigateway.co/products/social
description: Demo
- url: http://localhost:3000/products/social
description: Local
- description: Localhost
url: '{local}/products/social'
security:
- OAuth2Demo:
- business
- social
- OAuth2Prod:
- business
- social
tags:
- name: Messages
paths:
/messages:
options:
summary: List valid HTTP verbs for /messages
operationId: options-messages
description: Used solely for CORS the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user's security. You should not call this operation directly.
responses:
'204':
description: No Content
tags:
- Messages
x-lifecycle:
status: trustedTester
get:
summary: List Social Messages
operationId: get-messages
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/messages'
links:
type: object
properties:
self:
type: string
format: uri
first:
type: string
format: uri
description: Provides a link back to the first page of results.
next:
type: string
format: uri
description: The URI at which the next page of results can be gotten from.
description: 'Status: `Trusted Tester`
An endpoint dedicated to listing all the posts made by the business filtered by the selected parameters.'
parameters:
- schema:
type: string
example: AG-12345
in: query
name: filter[businessLocation.id]
description: Returns all the posts for a business.
- schema:
type: string
in: query
name: page[cursor]
description: The cursor stores all your filters and current location in the list to allow paging over the results in smaller batches. The value will be provided in the response links.
- schema:
type: integer
example: 20
default: 25
in: query
name: page[limit]
description: The maximum number of Social Posts you would like to return.
- schema:
type: string
example: Jd6889Js3,PostGroup1
in: query
name: filter[socialProfileExternalIds]
description: A comma-seperated list filtering messages to profiles with these external identifiers.
- schema:
type: string
example: '2022-02-04T16:52:34.000Z'
in: query
name: filter[startAt]
description: All the messages scheduled to be posted from the timestamp. Times used must be in ISO 8601 format, UTC time.
- schema:
type: string
example: '2022-02-04T16:52:34.000Z'
in: query
name: filter[endAt]
description: All the messaged scheduled to posted at the end of timestamp. Times used must be in ISO 8601 format, UTC time.
- schema:
type: string
example: FBU-839,IGU-762348
name: filter[socialProfileIds]
in: query
description: Comma seperated string representing all the social profile ids from which the posts are to be listed. The list of profile ids can be obtained from /socialProfiles endpoint.
- schema:
type: string
in: query
name: filter[statuses]
description: Comma seperated string containing the statuses of the messages to be listed. The statuses can be scheduled, posted or failed.
tags:
- Messages
x-lifecycle:
status: trustedTester
post:
summary: Schedule Message
operationId: post-messages
description: Please contact Sales to learn more about the scheduling message API
tags:
- Messages
responses:
'200':
description: OK
components:
schemas:
messages:
title: Messages
type: object
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
A data structure that describes a message you wish to schedule to be posted on a social network.'
examples: []
x-tags:
- Messages
properties:
id:
type: string
description: A unique identifier assigned to this message. We will automatically assign the Message one on creation.
type:
type: string
default: messages
attributes:
type: object
properties:
messageText:
type: string
description: 'The text of the message you’re making. This text is subject to limitations depending on what service you are posting to, such as Tweet length for Twitter. '
status:
type: string
enum:
- scheduled
- posted
- failed
description: 'The status of the message will be automatically set to one of the following by the system:
scheduled: The message has been approved and is scheduled to be sent at the time indicated in `scheduledAt`
posted: The message was successfully sent to the social profile
failed: An error occurred when sending the message. You can view the details in the `error` attribute.'
example: scheduled
readOnly: true
media:
type: array
description: An array containing the media attached to the post.
items:
type: object
properties:
type:
type: string
enum:
- image
- video
- gif
example: image
readOnly: true
url:
type: string
example: https://www.example.com/image.jpg
postedAt:
type: string
format: date-time
description: 'A string representing the timestamp at which the post was posted.
Times used must be in ISO 8601 format, UTC time.'
example: '2022-02-04T16:52:34.000Z'
scheduledAt:
type: string
format: date-time
description: 'A string representing the timestamp at which the post is scheduled.
Defaults to 5 minutes after the Message is made, and must be at least 5 minutes after the Message is created.
Times used must be in ISO 8601 format, UTC time.'
example: '2022-02-04T16:52:34.000Z'
errors:
type: array
description: An array of error objects.
readOnly: true
items:
type: object
properties:
details:
type: string
description: The description of the error.
example: The post is not valid.
GMBPostCustomization:
type: object
description: "A special data structure that can be passed in to allow for special attached events for messages posted on Google My Business. \n\nYou can add an Event, a Call to Action, or both. If you want an Event, the `title`, `eventStartAt`, and `eventEndAt` fields must all be filled out. If you want a Call To Action, the `CTAType` and `linkUrl` fields must be filled out. `linkUrl` is optional if the CTAType is `callNow`."
properties:
title:
type: string
description: A title for the attached event.
eventStartAt:
type: string
description: The time at which the attached event will start.
eventEndAt:
type: string
description: The time at which the attached event will end.
CTAType:
type: string
enum:
- book
- order
- learnMore
- signup
- shop
- callNow
description: An enum for which Call to Action you wish to use.
linkURL:
type: string
description: A Url for a link you want to associate with your Call to Action.
required:
- messageText
relationships:
type: object
properties:
socialProfiles:
type: object
description: The Social Profiles we’re posting this message under.
properties:
data:
type: array
items:
type: object
properties:
type:
type: string
default: socialProfiles
readOnly: true
id:
type: string
required:
- type
- id
businessLocation:
type: object
description: The location that owns the social profiles that posts will be sent from.
required:
- data
properties:
data:
type: object
required:
- type
- id
properties:
type:
type: string
default: businessLocations
id:
type: string
required:
- socialProfiles
- businessLocation
required:
- type
securitySchemes:
JWT:
type: http
scheme: bearer
bearerFormat: JWT
OAuth2Demo:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://sso-api-demo.apigateway.co/oauth2/auth
tokenUrl: https://sso-api-demo.apigateway.co/oauth2/token
scopes:
business: Read-write access to business details
social: Read-write access to Social AI APIs
OAuth2Prod:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://sso-api-prod.apigateway.co/oauth2/auth
tokenUrl: https://sso-api-prod.apigateway.co/oauth2/token
scopes:
business: Read-write access to business details
social: Read-write access to Social AI APIs