Files

5.9 KiB

Microsoft Teams Routing Reference

App name: microsoft-teams Base URL proxied: graph.microsoft.com

API Path Pattern

/microsoft-teams/v1.0/{resource}

Common Endpoints

Teams

List Joined Teams

GET /microsoft-teams/v1.0/me/joinedTeams

Get Team

GET /microsoft-teams/v1.0/teams/{team-id}

Channels

List Channels

GET /microsoft-teams/v1.0/teams/{team-id}/channels

List Private Channels

GET /microsoft-teams/v1.0/teams/{team-id}/channels?$filter=membershipType eq 'private'

Get Channel

GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}

Create Channel

POST /microsoft-teams/v1.0/teams/{team-id}/channels
Content-Type: application/json

{
  "displayName": "Channel Name",
  "description": "Description",
  "membershipType": "standard"
}

Update Channel

PATCH /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}
Content-Type: application/json

{
  "description": "Updated description"
}

Delete Channel

DELETE /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}

Channel Members

List Channel Members

GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/members

Messages

List Channel Messages

GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages

Send Message

POST /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages
Content-Type: application/json

{
  "body": {
    "content": "Hello World"
  }
}

Send HTML Message

POST /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages
Content-Type: application/json

{
  "body": {
    "contentType": "html",
    "content": "<p>Formatted message</p>"
  }
}

Reply to Message

POST /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
Content-Type: application/json

{
  "body": {
    "content": "Reply content"
  }
}

List Message Replies

GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies

Edit Message

PATCH /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages/{message-id}
Content-Type: application/json

{
  "body": {
    "content": "Updated message content"
  }
}

Team Members

List Members

GET /microsoft-teams/v1.0/teams/{team-id}/members

Presence

Get User Presence

GET /microsoft-teams/v1.0/me/presence

Get User Presence by ID

GET /microsoft-teams/v1.0/users/{user-id}/presence

Tabs

List Channel Tabs

GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/tabs

Apps

List Installed Apps

GET /microsoft-teams/v1.0/teams/{team-id}/installedApps

Online Meetings

Create Meeting

POST /microsoft-teams/v1.0/me/onlineMeetings
Content-Type: application/json

{
  "subject": "Team Sync",
  "startDateTime": "2026-02-18T10:00:00Z",
  "endDateTime": "2026-02-18T11:00:00Z"
}

Create Meeting with Attendees

POST /microsoft-teams/v1.0/me/onlineMeetings
Content-Type: application/json

{
  "subject": "Project Review",
  "startDateTime": "2026-02-18T14:00:00Z",
  "endDateTime": "2026-02-18T15:00:00Z",
  "participants": {
    "attendees": [
      {
        "upn": "attendee@example.com",
        "role": "attendee"
      }
    ]
  }
}

Get Meeting

GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}

Find Meeting by Join URL

GET /microsoft-teams/v1.0/me/onlineMeetings?$filter=JoinWebUrl eq '{encoded-join-url}'

Delete Meeting

DELETE /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}

List Calendar Events

GET /microsoft-teams/v1.0/me/calendar/events?$top=10

List Meeting Recordings

GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/recordings

Get Meeting Recording

GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/recordings/{recording-id}

List Meeting Transcripts

GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/transcripts

Get Meeting Transcript

GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/transcripts/{transcript-id}

List Attendance Reports

GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/attendanceReports

Get Attendance Report

GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/attendanceReports/{report-id}

Chats

List Chats

GET /microsoft-teams/v1.0/me/chats

Get Chat

GET /microsoft-teams/v1.0/chats/{chat-id}

List Chat Messages

GET /microsoft-teams/v1.0/chats/{chat-id}/messages

Send Chat Message

POST /microsoft-teams/v1.0/chats/{chat-id}/messages
Content-Type: application/json

{
  "body": {
    "content": "Hello"
  }
}

OData Query Parameters

  • $top=10 - Limit results
  • $skip=20 - Skip results
  • $select=id,displayName - Select specific fields
  • $filter=membershipType eq 'private' - Filter results
  • $orderby=displayName - Sort results

Notes

  • Uses Microsoft Graph API (graph.microsoft.com)
  • Channel IDs include thread suffix: 19:xxx@thread.tacv2
  • Message body content types: text or html
  • Channel membership types: standard, private, shared
  • Supports OData query parameters for filtering and pagination
  • Meeting recordings/transcripts available after meeting ends

Resources