Microsoft Teams Calls API

Operations for initiating and managing calls.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

microsoft-teams-calls-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Microsoft Graph Teams Apps Calls API
  description: Core REST API for accessing Microsoft Teams data including teams, channels, messages, tabs, apps, calls, and online meetings through Microsoft Graph.
  version: 1.0.0
  contact:
    name: Microsoft Graph Support
    url: https://developer.microsoft.com/graph/support
  license:
    name: Microsoft API Terms of Use
    url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use
  x-generated-from: documentation
  x-last-validated: '2026-04-18'
servers:
- url: https://graph.microsoft.com/v1.0
  description: Microsoft Graph v1.0 production endpoint
security:
- oauth2:
  - Team.ReadBasic.All
  - Channel.ReadBasic.All
  - ChatMessage.Read
tags:
- name: Calls
  description: Operations for initiating and managing calls.
paths:
  /communications/calls:
    post:
      operationId: createCall
      summary: Microsoft Teams Create Call
      description: Create a new outgoing call or join a meeting.
      tags:
      - Calls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Call'
            examples:
              CreateCallRequestExample:
                summary: Default createCall request
                x-microcks-default: true
                value:
                  callbackUri: https://contoso.com/callback
                  requestedModalities:
                  - audio
                  subject: Quick sync
      responses:
        '201':
          description: Call created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /communications/calls/{call-id}:
    get:
      operationId: getCall
      summary: Microsoft Teams Get Call
      description: Retrieve the current state of a call.
      tags:
      - Calls
      parameters:
      - name: call-id
        in: path
        required: true
        description: The unique identifier of the call.
        schema:
          type: string
      responses:
        '200':
          description: Call returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
        '401':
          description: Unauthorized.
        '404':
          description: Call not found.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: hangUpCall
      summary: Microsoft Teams Hang Up Call
      description: Hang up or terminate an active call.
      tags:
      - Calls
      parameters:
      - name: call-id
        in: path
        required: true
        description: The unique identifier of the call.
        schema:
          type: string
      responses:
        '204':
          description: Call terminated successfully.
        '401':
          description: Unauthorized.
        '404':
          description: Call not found.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /communications/calls/{call-id}/answer:
    post:
      operationId: answerCall
      summary: Microsoft Teams Answer Call
      description: Answer an incoming call.
      tags:
      - Calls
      parameters:
      - name: call-id
        in: path
        required: true
        description: The unique identifier of the call.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callbackUri:
                  type: string
                  format: uri
                acceptedModalities:
                  type: array
                  items:
                    type: string
                mediaConfig:
                  type: object
      responses:
        '202':
          description: Call answer accepted.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /communications/calls/{call-id}/reject:
    post:
      operationId: rejectCall
      summary: Microsoft Teams Reject Call
      description: Reject an incoming call.
      tags:
      - Calls
      parameters:
      - name: call-id
        in: path
        required: true
        description: The unique identifier of the call.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  enum:
                  - none
                  - busy
                  - forbidden
      responses:
        '202':
          description: Call rejection accepted.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /communications/calls/{call-id}/transfer:
    post:
      operationId: transferCall
      summary: Microsoft Teams Transfer Call
      description: Transfer an active call to another participant.
      tags:
      - Calls
      parameters:
      - name: call-id
        in: path
        required: true
        description: The unique identifier of the call.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                transferTarget:
                  type: object
                  properties:
                    identity:
                      type: object
                      properties:
                        user:
                          type: object
                          properties:
                            id:
                              type: string
      responses:
        '202':
          description: Transfer accepted.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Call:
      type: object
      description: Represents a call in Teams.
      properties:
        id:
          type: string
          description: Unique identifier for the call.
          example: call-abc123
        state:
          type: string
          enum:
          - incoming
          - establishing
          - ringing
          - established
          - hold
          - transferring
          - transferAccepted
          - redirecting
          - terminating
          - terminated
          description: Current call state.
          example: established
        direction:
          type: string
          enum:
          - incoming
          - outgoing
          description: Direction of the call.
          example: outgoing
        subject:
          type: string
          description: Subject of the call.
          example: Quick sync
        callbackUri:
          type: string
          format: uri
          description: Callback URL for call notifications.
        requestedModalities:
          type: array
          items:
            type: string
            enum:
            - audio
            - video
            - videoBasedScreenSharing
          description: Requested communication modalities.
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization using Microsoft Identity Platform
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            Team.ReadBasic.All: Read teams basic info
            Team.Create: Create teams
            Channel.ReadBasic.All: Read channel basic info
            Channel.Create: Create channels
            ChannelMessage.Read.All: Read channel messages
            ChatMessage.Read: Read chat messages
            ChatMessage.Send: Send chat messages
            Calls.Initiate.All: Initiate calls
            Calls.JoinGroupCall.All: Join group calls
            OnlineMeetings.ReadWrite.All: Create and manage online meetings