Vibes Platform Broadcasts API

Manage SMS and push notification broadcasts (message sends).

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/vibes-platform-broadcasts-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

vibes-platform-broadcasts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Vibes Connect HTTP Message Acquisition Campaigns Broadcasts API
  description: The Vibes Connect HTTP Message API enables sending and receiving SMS and MMS messages via HTTP calls. Vibes is a Tier 1 carrier in the United States with direct connections to Verizon, AT&T, T-Mobile, and regional providers. The API supports SMS messaging, MMS messaging with multimedia content, callback setup for inbound messages, and carrier information lookups.
  version: '3.0'
  contact:
    url: https://developer-aggregation.vibes.com
  license:
    name: Proprietary
servers:
- url: https://messageapi.vibesapps.com
  description: US and Canada SMS Endpoint
- url: https://messageapi-mms.vibesapps.com
  description: US MMS Endpoint
security:
- basicAuth: []
tags:
- name: Broadcasts
  description: Manage SMS and push notification broadcasts (message sends).
paths:
  /companies/{company_key}/broadcasts:
    get:
      operationId: listBroadcasts
      summary: List Broadcasts
      description: Retrieve a list of broadcasts (message sends) for the company.
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/company_key'
      - name: status
        in: query
        description: Filter broadcasts by status.
        required: false
        schema:
          type: string
          enum:
          - draft
          - scheduled
          - sent
          - cancelled
      - name: page
        in: query
        description: Page number for pagination.
        required: false
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        description: Number of results per page.
        required: false
        schema:
          type: integer
          default: 25
          maximum: 100
      responses:
        '200':
          description: A list of broadcasts.
          content:
            application/json:
              schema:
                type: object
                properties:
                  broadcasts:
                    type: array
                    items:
                      $ref: '#/components/schemas/Broadcast'
                  total:
                    type: integer
                  page:
                    type: integer
                  per_page:
                    type: integer
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    post:
      operationId: createBroadcast
      summary: Create Broadcast
      description: Create a new broadcast (message send). When creating a broadcast, you create a template for the message which will be filled in with personalization if applicable.
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/company_key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BroadcastCreate'
      responses:
        '201':
          description: Broadcast created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broadcast'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /companies/{company_key}/broadcasts/{broadcast_id}:
    get:
      operationId: getBroadcast
      summary: Get Broadcast
      description: Retrieve metadata and status for a specific broadcast.
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/company_key'
      - $ref: '#/components/parameters/broadcast_id'
      responses:
        '200':
          description: Broadcast details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broadcast'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    put:
      operationId: updateBroadcast
      summary: Update Broadcast
      description: Update an existing broadcast.
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/company_key'
      - $ref: '#/components/parameters/broadcast_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BroadcastCreate'
      responses:
        '200':
          description: Broadcast updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broadcast'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  responses:
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters or request body.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - invalid or missing credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Rate limit exceeded - too many requests.
      headers:
        Retry-After:
          schema:
            type: integer
          description: Number of seconds to wait before retrying.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Broadcast:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the broadcast.
        name:
          type: string
          description: Name of the broadcast.
        status:
          type: string
          description: Current status of the broadcast.
          enum:
          - draft
          - scheduled
          - sent
          - cancelled
        message_type:
          type: string
          description: Type of message (SMS or push notification).
          enum:
          - sms
          - push
        message_text:
          type: string
          description: Message content template.
        subscription_list_id:
          type: string
          description: The subscription list to send the broadcast to.
        scheduled_at:
          type: string
          format: date-time
          description: When the broadcast is scheduled to send.
        sent_at:
          type: string
          format: date-time
          description: When the broadcast was sent.
        created_at:
          type: string
          format: date-time
          description: When the broadcast was created.
        updated_at:
          type: string
          format: date-time
          description: When the broadcast was last updated.
    BroadcastCreate:
      type: object
      required:
      - name
      - message_type
      - message_text
      - subscription_list_id
      properties:
        name:
          type: string
          description: Name of the broadcast.
        message_type:
          type: string
          description: Type of message (SMS or push notification).
          enum:
          - sms
          - push
        message_text:
          type: string
          description: Message content template (supports personalization placeholders).
        subscription_list_id:
          type: string
          description: The subscription list to send the broadcast to.
        scheduled_at:
          type: string
          format: date-time
          description: When to schedule the broadcast. Omit for immediate send.
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type identifier.
        message:
          type: string
          description: Human-readable error message.
        details:
          type: array
          items:
            type: string
          description: Additional error details.
  parameters:
    broadcast_id:
      name: broadcast_id
      in: path
      required: true
      description: The unique identifier for the broadcast.
      schema:
        type: string
    company_key:
      name: company_key
      in: path
      required: true
      description: Your Vibes company identifier.
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication. Combine the username and password into a "username:password" string, encode it using Base64, and add the Authorization HTTP header set to "Basic " plus the encoded string.
externalDocs:
  url: https://developer-aggregation.vibes.com/reference/http-message-api
  description: Vibes Connect API Documentation