Avaya Microsoft Teams management API

APIs to manage Microsoft Teams element in voice service.

Operations 4

POST /accounts/{accountId}/msteams-elements Create MS Teams #
PUT /accounts/{accountId}/msteams-elements/{elementId} Update MS Teams #
GET /accounts/{accountId}/msteams-elements/{elementId} Get MS Teams #
DELETE /accounts/{accountId}/msteams-elements/{elementId} Delete MS Teams #

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/avaya-microsoft-teams-management-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

avaya-microsoft-teams-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Admin - Voice Microsoft Teams management API
  description: 'The Voice provider APIs are used to manage information about voice specific elements and different voice related entities e.g. Phone numbers.


    Voice Services will support multiple ways to provision voice providers

    1. Programmatic Interface (Rest APIs)

    2. User Interface'
  contact:
    name: Avaya API Team
    url: https://developers.avayacloud.com/onecloud-ccaas
    email: apiteam@avaya.com
  license:
    name: Avaya Software Development Kit (SDK) Software License Terms
    url: http://support.avaya.com/css/P8/documents/101038288
  version: 1.0.2
servers:
- url: '{protocol}://{server}{basePath}'
  description: Open API
  variables:
    protocol:
      enum:
      - https
      default: https
    server:
      default: HOST-REGION.api.avayacloud.com
    basePath:
      default: /api/admin/voice/v1
security:
- {}
- BearerAuth: []
  AppKey: []
tags:
- name: Microsoft Teams management
  description: APIs to manage Microsoft Teams element in voice service.
paths:
  /accounts/{accountId}/msteams-elements:
    post:
      tags:
      - Microsoft Teams management
      summary: Create MS Teams
      description: '**This API requires the Account Administrator role.**


        Add a new MS Teams element for an Account with required data.


        Only one instance of Microsoft Teams element can be created for an account.


        The following field must be unique otherwise a `HTTP 409 Conflict` will be returned:

        * `name`


        Will trigger asynchronous updates, the status of which should be monitored via `GET /msteams-elements/{elementId}`.'
      operationId: createMSTeams
      parameters:
      - $ref: '#/components/parameters/accountId'
      requestBody:
        description: Microsoft Teams
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MSTeamsElement'
            examples:
              MSTeams:
                $ref: '#/components/examples/MSTeamsRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MSTeamsElement'
              examples:
                MSTeams:
                  $ref: '#/components/examples/MSTeamsResponse'
        '400':
          $ref: '#/components/responses/ErrorConstraintViolation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ErrorMSTeamsExists'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /accounts/{accountId}/msteams-elements/{elementId}:
    put:
      tags:
      - Microsoft Teams management
      summary: Update MS Teams
      description: '**This API requires the Account Administrator role.**


        Update existing MS Teams element for an Account with required data.


        Will trigger asynchronous updates, the status of which should be monitored via `GET /msteams-elements/{elementId}`.'
      operationId: updateMSTeams
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/elementId'
      requestBody:
        description: Refer MSTeamsElement model
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MSTeamsElement'
            examples:
              MSTeams:
                $ref: '#/components/examples/MSTeamsRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MSTeamsElement'
              examples:
                MSTeams:
                  $ref: '#/components/examples/MSTeamsResponse'
        '400':
          $ref: '#/components/responses/ErrorConstraintViolation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ErrorMSTeamsExists'
        '500':
          $ref: '#/components/responses/InternalServerError'
    get:
      tags:
      - Microsoft Teams management
      summary: Get MS Teams
      description: '**This API requires the Account Administrator role.**


        Get an existing MS Teams server instance by element Id.'
      operationId: getMSTeams
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/elementId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MSTeamsElement'
              examples:
                MSTeams:
                  $ref: '#/components/examples/MSTeamsResponse'
        '400':
          $ref: '#/components/responses/ErrorConstraintViolation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
      - Microsoft Teams management
      summary: Delete MS Teams
      description: '**This API requires the Account Administrator role.**


        Delete an existing MS Teams server instance by element Id.'
      operationId: deleteMSTeams
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/elementId'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ErrorConstraintViolation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorForbidden'
    NotFound:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorNotFound'
    Unauthorized:
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorUnauthorized'
    InternalServerError:
      description: All other application errors
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorInternalServerError'
    ErrorMSTeamsExists:
      description: Conflict
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            loginId:
              $ref: '#/components/examples/ErrorMSTeamsExists'
    ErrorConstraintViolation:
      description: Constraint Violation
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorConstraintViolation'
  examples:
    ErrorNotFound:
      description: Not Found
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#resource-not-found
        title: Resource Not Found
        status: 404
        detail: Either there is no API method associated with the URL path of the request, or the request refers to one or more resources that were not found.
    ErrorForbidden:
      description: Forbidden
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden
        title: Forbidden
        status: 403
        detail: According to the access control policy the current user does not have permission to access this resource.
    MSTeamsRequest:
      value:
        name: MS Teams Server
        description: MS Teams Server description
        didNumbers:
        - '+16062128688'
        - '+12702289911'
        domain: exchange.com
        isChatEnabled: false
        clientId: bv34503f-543e-232a-43ac-77e2b25797ea
    ErrorInternalServerError:
      description: Server Error
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#server-error
        title: Server Error
        status: 500
        detail: An internal server error was encountered.
    ErrorUnauthorized:
      description: Unauthorized
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized
        title: Unauthorized
        status: 401
        detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis
    ErrorMSTeamsExists:
      description: Constraint Violation
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#conflict
        title: Conflict
        status: 409
        detail: A resource with the same unique constraint values already exists.
        violations:
        - field: name
          message: A MS Teams with this name already exists
    MSTeamsResponse:
      value:
        elementId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
        name: MS Teams Server
        description: MS Teams Server description
        didNumbers:
        - '+16062128688'
        - '+12702289911'
        domain: exchange.com
        elementType: MSTeams
        status: SUCCESS
        isChatEnabled: false
        clientId: bv34503f-543e-232a-43ac-77e2b25797ea
    ErrorConstraintViolation:
      description: Constraint Violation
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
        title: Constraint Violation
        status: 400
        detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section.
        violations:
        - field: accountId
          message: must match "^[a-zA-Z]{6}$"
          code: 20006
  parameters:
    accountId:
      name: accountId
      description: The unique 6 character internal id that represents the customer account.
      required: true
      in: path
      schema:
        type: string
        minLength: 6
        maxLength: 6
        pattern: ^[a-zA-Z]{6}$
        example: ABCDEF
    elementId:
      name: elementId
      in: path
      description: The unique 36 character internal id (uuid) that represents the Element.
      required: true
      schema:
        type: string
        example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
        minLength: 36
        maxLength: 36
        pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
  schemas:
    MSTeamsElement:
      title: MSTeamsElement
      type: object
      description: MS Teams Element Model
      properties:
        elementId:
          type: string
          readOnly: true
          example: fa703a3a-3dfb-4606-ae79-fd0fe0be3e64
          description: Unique UUID for MS Teams Element
        name:
          type: string
          example: MS Teams Server
          minLength: 1
          maxLength: 255
          pattern: ^[a-zA-Z0-9\p{L}\-\_\.\ ]+$
          description: Name of the MS Teams Element
        description:
          type: string
          example: MS Teams Server description
          maxLength: 1024
          pattern: (^$|^[a-zA-Z0-9\p{L}\(\)\-\_\.\ ]+$)
        didNumbers:
          description: The did numbers in the E.164 format
          type: array
          maxItems: 2000
          items:
            type: string
            maxLength: 13
          example:
          - '+16479308804'
          - '+16479308815'
        domain:
          type: string
          example: exchange.com
          minLength: 3
          maxLength: 255
          pattern: ^((?!-)[A-Za-z0-9\p{L}-]{1,63}(?<!-)\.)+[A-Za-z\p{L}]{2,63}$
          description: Domain name configured for the MS Teams Element
        elementType:
          type: string
          readOnly: true
          example: MSTeams
          minLength: 1
          maxLength: 255
          pattern: ^[a-zA-Z0-9\-\_\.\ ]+$
        status:
          type: string
          description: "This field indicates the current status of an Element.\n\nAn explanation of the values is listed below:\n  * SUCCESS - An Element was created/updated successfully.\n  * FAILED - Operation on Element was failed.\n  * IN_PROGRESS - Operation performed on an Element is in progress.\n"
          enum:
          - SUCCESS
          - FAILED
          - IN_PROGRESS
        statusMessage:
          type: string
          readOnly: true
          example: cannot create element due to database failure
        isChatEnabled:
          type: boolean
          description: Indicates whether the chat is enabled for any given MSTeams element.
          default: true
          example: true
        clientId:
          type: string
          example: bv347c9d-2a6c-1996-ff79-2e0e1ceae6d7
          description: The client id of the msteams client
          maxLength: 255
      required:
      - name
    Problem:
      type: object
      description: '<b>Problem Detail</b> as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs <a href="https://tools.ietf.org/html/rfc7807">RFC 7807</a>

        '
      properties:
        type:
          type: string
          format: uri
          description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).

            '
          default: about:blank
          example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
        title:
          type:
          - string
          - 'null'
          description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized).

            '
          example: Service Unavailable
        status:
          type:
          - integer
          - 'null'
          format: int32
          description: 'The HTTP status code generated by the origin server for this occurrence of the problem.

            '
          minimum: 100
          example: 503
          exclusiveMaximum: 600
        detail:
          type:
          - string
          - 'null'
          description: 'A human readable explanation specific to this occurrence of the problem.

            '
          example: Connection to database timed out
        instance:
          type:
          - string
          - 'null'
          format: uri
          description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.

            '
        violations:
          type:
          - array
          - 'null'
          description: 'A list of violations that occurred as a result of invalid data provided as part of a request.

            '
          items:
            type: object
            properties:
              field:
                type: string
                description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body.

                  '
                example: accountId
              message:
                type: string
                description: 'A human readable explanation specific to this occurrence of the violation.

                  '
                example: must match "^[a-zA-Z]{6}$"
              code:
                type: integer
                format: int32
                description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change.

                  '
                example: 20006
          example:
          - field: emailAddress
            message: must not be null
            code: 20002
          - field: accountId
            message: must match "^[a-zA-Z]{6}$"
            code: 20006
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: This API uses Bearer Token Authorization Flow
      bearerFormat: JWT
    AppKey:
      type: apiKey
      in: header
      name: appkey
      description: This API needs an appKey as header
x-explorer-enabled: false
x-samples-languages:
- curl
- node
- java
- javascript
- python
- go