RubiConnect Messages API

The Messages API from RubiConnect — 1 operation(s) for messages.

Operations 1

POST /messages/send Send a single message or stream broadcast #

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/rubiconnect-messages-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 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 Specification

rubiconnect-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RubiConnect Messaging Platform & MCP Server Messages API
  description: Model Context Protocol (MCP) server and programmatic interface for RubiConnect. Enables external AI agents and developers to check RCS & WhatsApp capability, dispatch rich interactive messages, manage campaigns & templates, access inbox conversations, and query real-time delivery analytics.
  version: 1.0.0
servers:
- url: https://console.rubiconnect.com/api/v1
  description: Production Server
tags:
- name: Messages
paths:
  /messages/send:
    post:
      summary: Send a single message or stream broadcast
      description: Sends a plain text, media card, or rich template message to a recipient phone number, OR streams a zero-persistence bulk broadcast directly from a remote CSV/JSONL HTTPS URL.
      operationId: sendMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendMessageRequest'
      responses:
        '202':
          description: Accepted and queued for transmission or streaming
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendMessageResponse'
        '400':
          description: Bad request (invalid parameter validation)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized (missing or invalid API key)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden (feature disabled for this account tier)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Agent or template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      tags:
      - Messages
components:
  schemas:
    SendMessageRequest:
      type: object
      required:
      - agentId
      properties:
        recipient:
          type: string
          description: Destination phone number in E.164 format. Required for single send if contactsUrl is not specified.
          example: '+15555551234'
        contactsUrl:
          type: string
          description: Pre-signed HTTPS CSV or JSONL URL to stream contacts from with zero database persistence.
          example: https://storage.googleapis.com/crm-exports/customers.csv
        urlFormat:
          type: string
          enum:
          - csv
          - jsonl
          description: Format of contactsUrl file.
          default: csv
          example: csv
        agentId:
          type: string
          description: The registered agent identifier.
          example: marketing-agent
        text:
          type: string
          description: Plain text message content. Mutually exclusive with mediaUrl and templateId.
          example: Hello, thank you for your order!
        mediaUrl:
          type: string
          description: Public URL pointing to a media attachment. Mutually exclusive with text and templateId.
          example: https://example.com/banner.jpg
        templateId:
          type: string
          description: The pre-configured rich template ID. Mutually exclusive with text and mediaUrl.
          example: order_delivery_alert
        contentVariables:
          type: object
          description: Key-value pair map to interpolate variables inside messages or templates.
          additionalProperties:
            type: string
          example:
            customerName: Alice
            orderNumber: RC-123
        allowSmsFallback:
          type: boolean
          description: Whether to fallback to SMS if recipient handset lacks RCS capability.
          default: false
          example: true
        callbackUrl:
          type: string
          description: Custom webhook URL to receive status callbacks specifically for this message.
          example: https://callback.mycompany.com/webhook
    SendMessageResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        messageId:
          type: string
          description: Unique message tracking identifier (for single send).
          example: msg_9a8b7c6d5e4f3g2h1i
        broadcastId:
          type: string
          description: Unique broadcast campaign identifier (for remote URL streaming).
          example: bcast_1725001234567_8901
        status:
          type: string
          enum:
          - sending
          - sent
          - streaming
          example: streaming
        channel:
          type: string
          example: RCS
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          example: 'Invalid or missing parameter: recipient is required.'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
    BearerAuth:
      type: http
      scheme: bearer