Microsoft Teams Channels API

Operations for managing channels within teams.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

microsoft-teams-channels-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Microsoft Graph Teams Apps Channels 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: Channels
  description: Operations for managing channels within teams.
paths:
  /teams/{team-id}/channels:
    get:
      operationId: listChannels
      summary: Microsoft Teams List Channels
      description: Retrieve a list of channels in a team.
      tags:
      - Channels
      parameters:
      - name: team-id
        in: path
        required: true
        description: The unique identifier of the team.
        schema:
          type: string
      responses:
        '200':
          description: Channels returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelCollection'
              examples:
                ListChannels200Example:
                  summary: Default listChannels 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - id: 19:abc123@thread.tacv2
                      displayName: General
                      description: General discussion channel.
                      membershipType: standard
        '401':
          description: Unauthorized.
        '404':
          description: Team not found.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createChannel
      summary: Microsoft Teams Create Channel
      description: Create a new channel in a team.
      tags:
      - Channels
      parameters:
      - name: team-id
        in: path
        required: true
        description: The unique identifier of the team.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Channel'
            examples:
              CreateChannelRequestExample:
                summary: Default createChannel request
                x-microcks-default: true
                value:
                  displayName: Design Review
                  description: Channel for design review discussions
                  membershipType: standard
      responses:
        '201':
          description: Channel created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Channel:
      type: object
      description: Represents a channel in a team.
      properties:
        id:
          type: string
          description: Unique identifier for the channel.
          example: 19:abc123@thread.tacv2
        displayName:
          type: string
          description: The display name of the channel.
          example: General
        description:
          type: string
          description: Description of the channel.
          example: General discussion channel.
        membershipType:
          type: string
          enum:
          - standard
          - private
          - shared
          description: Type of membership for the channel.
          example: standard
        createdDateTime:
          type: string
          format: date-time
          description: When the channel was created.
          example: '2025-06-15T08:00:00Z'
        webUrl:
          type: string
          format: uri
          description: URL to the channel in Teams.
    ChannelCollection:
      type: object
      description: Collection of channels.
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Channel'
  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