OpenAPI Specification
openapi: 3.0.3
info:
title: Rainbow Application Portal Applications Messages API
description: The Rainbow Application Portal API allows developers to register and manage Rainbow applications, configure OAuth clients, and perform administrative operations on the Rainbow CPaaS platform by Alcatel-Lucent Enterprise.
version: '1.0'
contact:
url: https://developers.openrainbow.com/
x-tags:
- Applications
- Administration
- OAuth
- Provisioning
- CPaaS
servers:
- url: https://openrainbow.com/api/rainbow
description: Rainbow Production API
security:
- BearerAuth: []
tags:
- name: Messages
description: Send and receive chat messages
paths:
/enduser/v1.0/messages:
post:
operationId: sendMessage
summary: Send Message
description: Send a chat message to a contact or into a bubble (group room). Supports text messages and file attachments.
tags:
- Messages
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SendMessageRequest'
responses:
'200':
description: Message sent successfully
content:
application/json:
schema:
$ref: '#/components/schemas/MessageResponse'
'400':
description: Bad Request - invalid message payload
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/enduser/v1.0/conversations/{conversationId}/messages:
get:
operationId: getConversationMessages
summary: Get Conversation Messages
description: Returns the message history for a specific conversation.
tags:
- Messages
parameters:
- name: conversationId
in: path
required: true
description: Unique identifier of the conversation
schema:
type: string
- name: limit
in: query
required: false
description: Maximum number of messages to return
schema:
type: integer
default: 50
maximum: 200
- name: before
in: query
required: false
description: Return messages before this timestamp (ISO 8601)
schema:
type: string
format: date-time
responses:
'200':
description: Message history for the conversation
content:
application/json:
schema:
$ref: '#/components/schemas/MessageListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Conversation not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
MessageResponse:
type: object
properties:
id:
type: string
description: Unique message identifier
content:
type: string
description: Message text content
from:
type: string
description: Sender's contact ID
to:
type: string
description: Recipient contact ID or bubble ID
type:
type: string
enum:
- chat
- groupchat
timestamp:
type: string
format: date-time
description: Message creation timestamp
status:
type: string
enum:
- sent
- delivered
- read
SendMessageRequest:
type: object
required:
- content
properties:
content:
type: string
description: Text content of the message
to:
type: string
description: Recipient contact ID or bubble ID
type:
type: string
enum:
- chat
- groupchat
default: chat
description: Message type - chat for 1-to-1, groupchat for bubbles
MessageListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MessageResponse'
total:
type: integer
limit:
type: integer
offset:
type: integer
ErrorResponse:
type: object
properties:
code:
type: integer
description: Error code
msg:
type: string
description: Error message
param:
type: string
description: Parameter that caused the error
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Bearer token from OAuth2 token endpoint