Vibes Platform Messages API

Send SMS and MMS messages.

OpenAPI Specification

vibes-platform-messages-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Vibes Connect HTTP Message Acquisition Campaigns Messages 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: Messages
  description: Send SMS and MMS messages.
paths:
  /api/v1/sms/messages:
    post:
      operationId: sendSmsMessage
      summary: Send SMS Message
      description: Send an SMS message to one or more mobile numbers via the Vibes Connect HTTP Message API. Supports single and batch message sends.
      tags:
      - Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmsMessageCreate'
      responses:
        '200':
          description: Message accepted for delivery.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmsMessageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /api/v1/mms/messages:
    post:
      operationId: sendMmsMessage
      summary: Send MMS Message
      description: Send an MMS message including pictures, links, and other media content via HTTP call. Uses MM7 Protocol with custom headers.
      tags:
      - Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MmsMessageCreate'
      responses:
        '200':
          description: MMS message accepted for delivery.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MmsMessageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    SmsMessageResponse:
      type: object
      properties:
        message_id:
          type: string
          description: Unique identifier for the submitted message.
        status:
          type: string
          description: Delivery status of the message.
          enum:
          - accepted
          - queued
          - sent
          - delivered
          - failed
        to:
          type: string
          description: Recipient mobile number.
        from:
          type: string
          description: Sender short code or long code.
    MmsMessageCreate:
      type: object
      required:
      - to
      - from
      - subject
      - content
      properties:
        to:
          type: string
          description: Recipient mobile number in E.164 format.
          example: '+15551234567'
        from:
          type: string
          description: Short code or long code to send from.
        subject:
          type: string
          description: MMS message subject line.
        content:
          type: array
          description: Array of media content parts for the MMS message.
          items:
            type: object
            properties:
              content_type:
                type: string
                description: MIME type of the content (e.g., image/jpeg, text/plain).
              url:
                type: string
                format: uri
                description: URL of the media content.
        callback_url:
          type: string
          format: uri
          description: URL to receive delivery receipt callbacks.
    MmsMessageResponse:
      type: object
      properties:
        message_id:
          type: string
          description: Unique identifier for the submitted MMS message.
        status:
          type: string
          description: Delivery status of the MMS message.
          enum:
          - accepted
          - queued
          - sent
          - delivered
          - failed
        to:
          type: string
          description: Recipient mobile number.
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type identifier.
        message:
          type: string
          description: Human-readable error message.
    SmsMessageCreate:
      type: object
      required:
      - to
      - from
      - text
      properties:
        to:
          type: string
          description: Recipient mobile number in E.164 format.
          example: '+15551234567'
        from:
          type: string
          description: Short code or long code to send from.
          example: '12345'
        text:
          type: string
          description: SMS message text content (up to 160 characters per segment).
          maxLength: 1600
        callback_url:
          type: string
          format: uri
          description: URL to receive delivery receipt callbacks.
  responses:
    Unauthorized:
      description: Unauthorized - invalid or missing credentials.
      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'
    TooManyRequests:
      description: Rate limit exceeded - too many requests.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  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