Vibes Connect API

Vibes Connect provides aggregation-layer APIs for sending and receiving SMS and MMS messages via HTTP calls. Three APIs are offered: the HTTP Message API for SMS, the SMPP Gateway API for persistent SMPP bindings, and the MMS Message API using MM7 Protocol. Vibes is a Tier 1 provider with direct connections to Verizon, AT&T, T-Mobile, and regional carriers. US SMS endpoint: https://messageapi.vibesapps.com; US MMS endpoint: https://messageapi-mms.vibesapps.com.

OpenAPI Specification

vibes-connect-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Vibes Connect HTTP Message 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
externalDocs:
  url: https://developer-aggregation.vibes.com/reference/http-message-api
  description: Vibes Connect API Documentation
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.
  - name: Carrier Lookup
    description: Retrieve carrier information for mobile numbers.
  - name: Inbound Messages
    description: Manage inbound message callbacks.
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'
  /api/v1/carrier-lookup:
    post:
      operationId: lookupCarrier
      summary: Lookup Carrier
      description: Retrieve carrier information for a specific mobile number.
      tags:
        - Carrier Lookup
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - mobile_number
              properties:
                mobile_number:
                  type: string
                  description: Mobile number to look up carrier information for (E.164 format).
                  example: '+15551234567'
      responses:
        '200':
          description: Carrier information for the mobile number.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CarrierInfo'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /api/v1/callbacks:
    post:
      operationId: registerSmsCallback
      summary: Register SMS Callback
      description: Set up a callback URL to receive inbound SMS messages and delivery receipts.
      tags:
        - Inbound Messages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallbackCreate'
      responses:
        '201':
          description: Callback registered successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Callback'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  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.
  schemas:
    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.
    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.
    CarrierInfo:
      type: object
      properties:
        mobile_number:
          type: string
          description: The mobile number that was looked up.
        carrier:
          type: string
          description: Name of the mobile carrier.
          example: 'Verizon Wireless'
        carrier_id:
          type: string
          description: Carrier identifier code.
        number_type:
          type: string
          description: Type of number.
          enum:
            - mobile
            - landline
            - voip
        country_code:
          type: string
          description: Two-letter ISO country code.
          example: 'US'
    CallbackCreate:
      type: object
      required:
        - callback_type
        - url
      properties:
        callback_type:
          type: string
          description: Type of event that triggers this callback.
          enum:
            - inbound_sms
            - delivery_receipt
        url:
          type: string
          format: uri
          description: HTTPS URL to receive callback POST requests.
        short_code:
          type: string
          description: Short code to associate with this callback.
    Callback:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the callback registration.
        callback_type:
          type: string
          description: Type of event that triggers this callback.
        url:
          type: string
          format: uri
          description: Callback URL.
        short_code:
          type: string
          description: Associated short code.
        created_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type identifier.
        message:
          type: string
          description: Human-readable error message.
  responses:
    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.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'