Rainbow Application Portal API
The Rainbow Application Portal REST API allows developers to manage Rainbow applications, register OAuth clients, and access provisioning and administration functions for the Rainbow platform.
The Rainbow Application Portal REST API allows developers to manage Rainbow applications, register OAuth clients, and access provisioning and administration functions for the Rainbow platform.
openapi: 3.0.3
info:
title: Rainbow Application Portal 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: Applications
description: Register and manage developer applications
- name: Authentication
description: OAuth2 token management
paths:
/applications/v1.0/applications:
get:
operationId: listApplications
summary: List Applications
description: >-
Returns the list of Rainbow applications registered by the authenticated
developer account.
tags:
- Applications
parameters:
- name: limit
in: query
required: false
description: Maximum number of applications 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 registered applications
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
operationId: createApplication
summary: Create Application
description: Register a new Rainbow application to obtain API credentials.
tags:
- Applications
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
responses:
'200':
description: Application created with API credentials
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/applications/v1.0/applications/{appId}:
get:
operationId: getApplication
summary: Get Application
description: Returns the details of a specific registered application.
tags:
- Applications
parameters:
- name: appId
in: path
required: true
description: Unique identifier of the application
schema:
type: string
responses:
'200':
description: Application details
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Application not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
delete:
operationId: deleteApplication
summary: Delete Application
description: Delete a registered application and revoke its credentials.
tags:
- Applications
parameters:
- name: appId
in: path
required: true
description: Unique identifier of the application
schema:
type: string
responses:
'200':
description: Application deleted
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Application not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/oauth/token:
post:
operationId: getOAuthToken
summary: Get OAuth Token
description: >-
Exchange application credentials for a Bearer token to authenticate
API requests. Supports client_credentials and password grant types.
tags:
- Authentication
security: []
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required: [grant_type]
properties:
grant_type:
type: string
enum: [client_credentials, password]
description: OAuth2 grant type
client_id:
type: string
description: Application client ID
client_secret:
type: string
description: Application client secret
username:
type: string
description: User email (for password grant)
password:
type: string
description: User password (for password grant)
responses:
'200':
description: OAuth token response
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthTokenResponse'
'400':
description: Bad Request - invalid credentials or grant type
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Bearer token from OAuth2 token endpoint
schemas:
ApplicationListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Application'
total:
type: integer
ApplicationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Application'
Application:
type: object
properties:
id:
type: string
description: Unique application identifier
name:
type: string
description: Application name
appSecret:
type: string
description: Application secret (only returned on creation)
type:
type: string
enum: [public, private]
state:
type: string
enum: [active, inactive, suspended]
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
CreateApplicationRequest:
type: object
required: [name]
properties:
name:
type: string
description: Display name for the application
description:
type: string
description: Application description
type:
type: string
enum: [public, private]
default: private
OAuthTokenResponse:
type: object
properties:
access_token:
type: string
description: Bearer token for API authentication
token_type:
type: string
enum: [Bearer]
expires_in:
type: integer
description: Token expiration in seconds
scope:
type: string
description: Granted scopes
ErrorResponse:
type: object
properties:
code:
type: integer
msg:
type: string
param:
type: string