Rainbow Bubbles API

Manage group chat rooms (bubbles)

OpenAPI Specification

rainbow-bubbles-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Rainbow Application Portal Applications Bubbles 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: Bubbles
  description: Manage group chat rooms (bubbles)
paths:
  /enduser/v1.0/bubbles:
    get:
      operationId: listBubbles
      summary: List Bubbles
      description: Returns the list of group chat rooms (bubbles) the authenticated user is a member of.
      tags:
      - Bubbles
      parameters:
      - name: limit
        in: query
        required: false
        description: Maximum number of bubbles to return
        schema:
          type: integer
          default: 25
      - name: offset
        in: query
        required: false
        description: Pagination offset
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: List of bubbles (group rooms)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BubbleListResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: createBubble
      summary: Create Bubble
      description: Creates a new group chat room (bubble). The creator becomes the owner.
      tags:
      - Bubbles
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBubbleRequest'
      responses:
        '200':
          description: Bubble created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BubbleResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /enduser/v1.0/bubbles/{bubbleId}:
    get:
      operationId: getBubble
      summary: Get Bubble
      description: Returns details of a specific bubble (group room).
      tags:
      - Bubbles
      parameters:
      - name: bubbleId
        in: path
        required: true
        description: Unique identifier of the bubble
        schema:
          type: string
      responses:
        '200':
          description: Bubble details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BubbleResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Bubble not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    BubbleResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Bubble'
    BubbleListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Bubble'
        total:
          type: integer
    Bubble:
      type: object
      properties:
        id:
          type: string
          description: Unique bubble identifier
        name:
          type: string
          description: Bubble name
        topic:
          type: string
          description: Bubble topic
        owner:
          type: string
          description: Contact ID of the bubble owner
        users:
          type: array
          items:
            type: string
          description: List of member contact IDs
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    CreateBubbleRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the bubble
        topic:
          type: string
          description: Topic or description of the bubble
        users:
          type: array
          items:
            type: string
          description: Initial list of contact IDs to invite
    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