openapi: 3.0.3 info: title: Rainbow Application Portal Applications Contacts 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: Contacts description: Manage and search contacts paths: /enduser/v1.0/contacts: get: operationId: searchContacts summary: Search Contacts description: Search for contacts in the Rainbow directory by name, email, or other attributes. Returns enterprise and public directory results. tags: - Contacts parameters: - name: search in: query required: false description: Search keyword (name, email, or phone number) schema: type: string example: John - name: limit in: query required: false description: Maximum number of results to return schema: type: integer default: 25 maximum: 100 - name: offset in: query required: false description: Pagination offset schema: type: integer default: 0 responses: '200': description: Contact search results content: application/json: schema: $ref: '#/components/schemas/ContactListResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /enduser/v1.0/contacts/{contactId}: get: operationId: getContact summary: Get Contact description: Returns the profile and presence information for a specific contact. tags: - Contacts parameters: - name: contactId in: path required: true description: Unique identifier of the contact schema: type: string responses: '200': description: Contact profile content: application/json: schema: $ref: '#/components/schemas/ContactResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Contact not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ContactListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Contact' total: type: integer limit: type: integer offset: type: integer Contact: type: object properties: id: type: string description: Unique contact identifier displayName: type: string description: Contact's display name firstName: type: string lastName: type: string emails: type: array items: type: object properties: value: type: string format: email type: type: string phoneNumbers: type: array items: type: object properties: value: type: string type: type: string presence: $ref: '#/components/schemas/Presence' company: type: string jobTitle: type: string Presence: type: object properties: status: type: string enum: - online - away - busy - dnd - offline description: Presence status statusMessage: type: string description: Custom status message since: type: string format: date-time ErrorResponse: type: object properties: code: type: integer msg: type: string param: type: string ContactResponse: type: object properties: data: $ref: '#/components/schemas/Contact' securitySchemes: BearerAuth: type: http scheme: bearer description: Bearer token from OAuth2 token endpoint