Microsoft Entra ID (formerly Azure AD) Groups.conversation Thread API

The groups.conversationThread API from Microsoft Entra ID (formerly Azure AD) — 26 operation(s) for groups.conversationthread.

Operations 39

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /groups/{group-id}/threads List a group's conversation threads · List threads #
Ask an LLM
“How do I see all the conversation threads in a Microsoft 365 group?”
“Can I pull every discussion thread a group has, not just one conversation?”
Tell an agent
List all conversation threads in group {group}.
Show me the discussion threads for group {group}.
POST /groups/{group-id}/threads Start a new group conversation thread · Create conversation thread #
Ask an LLM
“How do I start a brand new conversation in a group through the Graph API?”
“Can I set the topic and recipients when opening a new group thread?”
Tell an agent
Start a new conversation thread in group {group} with the topic {topic}.
Open a new thread in group {group} and send it to {recipients}.
GET /groups/{group-id}/threads/{conversationThread-id} Get one conversation thread in a group · Get conversationThread #
Ask an LLM
“How do I read the details of a single thread in a group, like its topic and senders?”
“What does a specific group conversation thread look like, including its preview text?”
Tell an agent
Get thread {thread} in group {group}.
Show the topic and unique senders of thread {thread} in group {group}.
PATCH /groups/{group-id}/threads/{conversationThread-id} Update a group conversation thread · Update conversation thread #
Ask an LLM
“How do I lock an existing group thread so nobody can reply?”
“Can I change the recipients on a thread that already exists in a group?”
Tell an agent
Lock thread {thread} in group {group} by setting isLocked to {locked}.
Update the cc recipients on existing thread {thread} in group {group} to {cc}.
DELETE /groups/{group-id}/threads/{conversationThread-id} Delete a group conversation thread · Delete conversationThread #
Ask an LLM
“How do I delete an entire conversation thread from a group?”
“Can I remove a whole discussion thread from a Microsoft 365 group?”
Tell an agent destructive · confirm first
Delete thread {thread} from group {group}.
Remove the whole conversation thread {thread} in group {group}.
POST /groups/{group-id}/threads/{conversationThread-id}/microsoft.graph.reply Reply to a group conversation thread · Invoke action reply #
Ask an LLM
“How do I reply to a whole group thread rather than to one specific post?”
“Can I add a reply to an existing conversation thread in a group?”
Tell an agent
Reply to thread {thread} in group {group} with post {post}.
Post a reply at the thread level of {thread} in group {group}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts List the posts in a group thread · List posts #
Ask an LLM
“How do I read every message posted in a group conversation thread?”
“Which posts make up a particular thread in a group?”
Tell an agent
List all posts in thread {thread} of group {group}.
Show the messages people posted in thread {thread} in group {group}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id} Get a single post in a group thread · Get posts from groups #
Ask an LLM
“How do I fetch one specific post from a group conversation thread?”
“Can I read a single message in a thread by its post id?”
Tell an agent
Get post {post} from thread {thread} in group {group}.
Open message {post} in group {group}'s thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/attachments List attachments on a group thread post · List attachments #
Ask an LLM
“How do I see which files are attached to a post in a group conversation?”
“What attachments did someone include on a particular group post?”
Tell an agent
List the attachments on post {post} in thread {thread} of group {group}.
Show all files attached to group {group} post {post} in thread {thread}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/attachments Add an attachment to a group thread post · Create new navigation property to attachments for groups #
Ask an LLM
“How do I attach a small file to a post in a group thread?”
“Can I add an inline attachment to an existing group post?”
Tell an agent
Attach a file named {name} to post {post} in thread {thread} of group {group}.
Add an attachment of type {content_type} to group {group} post {post} in thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/attachments/{attachment-id} Get one attachment from a group thread post · Get attachments from groups #
Ask an LLM
“How do I download the details of one specific attachment on a group post?”
“Can I look up a single attachment on a thread post by its id?”
Tell an agent
Get attachment {attachment} on post {post} in thread {thread} of group {group}.
Show the name and size of attachment {attachment} on group {group} post {post}, thread {thread}.
DELETE /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/attachments/{attachment-id} Delete an attachment from a group thread post · Delete navigation property attachments for groups #
Ask an LLM
“How do I remove an attachment someone added to a group post?”
“Can I delete one file from a post in a group conversation thread?”
Tell an agent destructive · confirm first
Delete attachment {attachment} from post {post} in thread {thread} of group {group}.
Remove file {attachment} from group {group} post {post} in thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/attachments/$count Count attachments on a group thread post · Get the number of the resource #
Ask an LLM
“How many attachments are on a given post in a group thread?”
“Is there a quick way to count the files attached to a group post without listing them?”
Tell an agent
Count the attachments on post {post} in thread {thread} of group {group}.
Tell me how many files are attached to group {group} post {post} in thread {thread}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/attachments/microsoft.graph.createUploadSession Start an upload session for a large post attachment · Invoke action createUploadSession #
Ask an LLM
“How do I attach a large file to a group post by uploading it in chunks?”
“Can I upload an attachment to a group thread post in byte ranges?”
Tell an agent
Create an upload session to attach {attachment_item} to post {post} in thread {thread} of group {group}.
Start a chunked upload for a big file on group {group} post {post}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/extensions List open extensions on a group thread post · Get open extension #
Ask an LLM
“How do I see the custom open extension data stored on a group post?”
“Which open extensions have been added to a particular thread post?”
Tell an agent
List the open extensions on post {post} in thread {thread} of group {group}.
Show all custom extension data on group {group} post {post} in thread {thread}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/extensions Add an open extension to a group thread post · Create new navigation property to extensions for groups #
Ask an LLM
“How do I store my own custom properties on a post in a group thread?”
“Can I attach an open extension to a group post?”
Tell an agent
Add an open extension with id {extension} to post {post} in thread {thread} of group {group}.
Create custom extension data on group {group} post {post}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/extensions/{extension-id} Get one open extension on a group thread post · Get open extension #
Ask an LLM
“How do I read a single open extension on a group post by its name?”
“Can I fetch one specific custom extension from a thread post?”
Tell an agent
Get open extension {extension} on post {post} in thread {thread} of group {group}.
Read the custom data in extension {extension} on group {group} post {post}, thread {thread}.
PATCH /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/extensions/{extension-id} Update an open extension on a group thread post · Update open extension #
Ask an LLM
“How do I change the custom properties in an open extension on a group post?”
“What happens to existing values when I update an open extension on a thread post?”
Tell an agent
Update open extension {extension} on post {post} in thread {thread} of group {group}.
Change the custom data in extension {extension} on group {group} post {post}, thread {thread}.
DELETE /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/extensions/{extension-id} Delete an open extension from a group thread post · Delete navigation property extensions for groups #
Ask an LLM
“How do I remove an open extension I added to a group post?”
“Can I delete custom extension data from a thread post?”
Tell an agent destructive · confirm first
Delete open extension {extension} from post {post} in thread {thread} of group {group}.
Remove extension {extension} from group {group} post {post} in thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/extensions/$count Count open extensions on a group thread post · Get the number of the resource #
Ask an LLM
“How many open extensions are stored on a given group post?”
“Can I get just the number of custom extensions on a thread post?”
Tell an agent
Count the open extensions on post {post} in thread {thread} of group {group}.
Tell me how many extensions group {group} post {post} in thread {thread} carries.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo Get the post a group post replied to · Get inReplyTo from groups #
Ask an LLM
“How do I find the earlier post that a given group post was replying to?”
“Can I see the parent message of a reply in a group thread?”
Tell an agent
Get the post that {post} replied to in thread {thread} of group {group}.
Show the parent message of reply {post} in group {group}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/attachments List attachments on the post a reply answered · Get attachments from groups #
Ask an LLM
“How do I see the files attached to the original post that a reply was responding to?”
“Which attachments were on the parent post of a group reply?”
Tell an agent
List the attachments on the parent post that {post} replied to in thread {thread} of group {group}.
Show files on the in-reply-to post of {post} in group {group}, thread {thread}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/attachments Add an attachment to the post a reply answered · Create new navigation property to attachments for groups #
Ask an LLM
“How do I add a file to the original post that a group reply was answering?”
“Can I attach something to the parent post of a reply in a group thread?”
Tell an agent
Attach a file named {name} to the parent post that {post} replied to in thread {thread} of group {group}.
Add an attachment to the in-reply-to post of {post} in group {group}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/attachments/{attachment-id} Get one attachment on the post a reply answered · Get attachments from groups #
Ask an LLM
“How do I read one specific attachment on the parent post of a group reply?”
“Can I look up a single file on the post a reply was responding to?”
Tell an agent
Get attachment {attachment} on the parent post that {post} replied to in thread {thread} of group {group}.
Show attachment {attachment} of the in-reply-to post of {post} in group {group}, thread {thread}.
DELETE /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/attachments/{attachment-id} Delete an attachment on the post a reply answered · Delete navigation property attachments for groups #
Ask an LLM
“How do I remove a file from the original post a group reply was answering?”
“Can I delete an attachment on the parent post of a reply?”
Tell an agent destructive · confirm first
Delete attachment {attachment} from the parent post that {post} replied to in thread {thread} of group {group}.
Remove file {attachment} from the in-reply-to post of {post} in group {group}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/attachments/$count Count attachments on the post a reply answered · Get the number of the resource #
Ask an LLM
“How many attachments does the parent post of a group reply have?”
“Can I count the files on the post that a reply was responding to?”
Tell an agent
Give me only the attachment count for the post that reply {post} answered (group {group}, thread {thread}).
Tell me how many files the in-reply-to post of {post} has in group {group}, thread {thread}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/attachments/microsoft.graph.createUploadSession Upload a large attachment to a reply's parent post · Invoke action createUploadSession #
Ask an LLM
“How do I upload a big file in chunks to the post that a group reply answered?”
“Can I start an upload session for the parent post of a reply?”
Tell an agent
Create an upload session to attach {attachment_item} to the parent post that {post} replied to in thread {thread} of group {group}.
Start a chunked upload on the in-reply-to post of {post} in group {group}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/extensions List open extensions on the post a reply answered · Get extensions from groups #
Ask an LLM
“How do I see custom extension data on the original post a group reply was answering?”
“Which open extensions exist on the parent post of a reply?”
Tell an agent
List the open extensions on the parent post that {post} replied to in thread {thread} of group {group}.
Show extensions on the in-reply-to post of {post} in group {group}, thread {thread}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/extensions Add an open extension to a reply's parent post · Create new navigation property to extensions for groups #
Ask an LLM
“How do I store custom properties on the post that a group reply was answering?”
“Can I create an open extension on the parent post of a reply?”
Tell an agent
Add open extension {extension} to the parent post that {post} replied to in thread {thread} of group {group}.
Create custom extension data on the in-reply-to post of {post} in group {group}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/extensions/{extension-id} Get one open extension on a reply's parent post · Get extensions from groups #
Ask an LLM
“How do I read one named open extension on the parent post of a group reply?”
“Can I fetch a single custom extension from the post a reply answered?”
Tell an agent
Get open extension {extension} on the parent post that {post} replied to in thread {thread} of group {group}.
Read extension {extension} of the in-reply-to post of {post} in group {group}, thread {thread}.
PATCH /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/extensions/{extension-id} Update an open extension on a reply's parent post · Update the navigation property extensions in groups #
Ask an LLM
“How do I change custom extension values on the post a group reply was answering?”
“Can I overwrite values in an existing open extension on a reply's parent post?”
Tell an agent
Patch the values of open extension {extension} on the post that reply {post} answered in group {group}, thread {thread}.
Change extension {extension} on the in-reply-to post of {post} in group {group}, thread {thread}.
DELETE /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/extensions/{extension-id} Delete an open extension on a reply's parent post · Delete navigation property extensions for groups #
Ask an LLM
“How do I remove custom extension data from the post a group reply answered?”
“Is it possible to wipe an open extension off the parent post of a reply?”
Tell an agent destructive · confirm first
Delete open extension {extension} from the parent post that {post} replied to in thread {thread} of group {group}.
Remove extension {extension} from the in-reply-to post of {post} in group {group}, thread {thread}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/extensions/$count Count open extensions on a reply's parent post · Get the number of the resource #
Ask an LLM
“How many open extensions are on the post a group reply was answering?”
“Can I count the custom extensions on the parent post of a reply?”
Tell an agent
Tally the open extensions on the original message that reply {post} responds to in group {group}, thread {thread}.
Tell me how many extensions the in-reply-to post of {post} carries in group {group}, thread {thread}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/microsoft.graph.forward Forward the post a reply answered · Invoke action forward #
Ask an LLM
“How do I forward the original post that a group reply was responding to?”
“Can I send the parent post of a reply on to someone outside the thread with a comment?”
Tell an agent
Forward the parent post that {post} replied to in thread {thread} of group {group} to {recipients}.
Forward the in-reply-to post of {post} in group {group}, thread {thread} with the comment {comment}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/inReplyTo/microsoft.graph.reply Reply to the post a reply answered · Invoke action reply #
Ask an LLM
“How do I respond directly to the original post that a group reply was answering?”
“Can I reply to the parent post of a reply instead of the reply itself?”
Tell an agent
Reply to the parent post that {post} replied to in thread {thread} of group {group}.
Answer the in-reply-to post of {post} in group {group}, thread {thread} with {reply}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/microsoft.graph.forward Forward a group thread post · Invoke action forward #
Ask an LLM
“How do I forward a specific group post to someone by email?”
“Can I add a comment when forwarding a post from a group conversation?”
Tell an agent
Forward post {post} in thread {thread} of group {group} to {recipients}.
Forward group {group} post {post} in thread {thread} with the note {comment}.
POST /groups/{group-id}/threads/{conversationThread-id}/posts/{post-id}/microsoft.graph.reply Reply to a specific post in a group thread · Invoke action reply #
Ask an LLM
“How do I reply to one particular post inside a group conversation?”
“Can I respond to a single message in a group thread rather than the whole thread?”
Tell an agent
Reply to post {post} in thread {thread} of group {group}.
Respond to group {group} post {post} in thread {thread} with {reply}.
GET /groups/{group-id}/threads/{conversationThread-id}/posts/$count Count the posts in a group thread · Get the number of the resource #
Ask an LLM
“How many posts are in a specific group conversation thread?”
“Can I get the message count of a thread without reading every post?”
Tell an agent
Count the posts in thread {thread} of group {group}.
Tell me how many messages thread {thread} in group {group} has.
GET /groups/{group-id}/threads/$count Count a group's conversation threads · Get the number of the resource #
Ask an LLM
“How many conversation threads does a group have?”
“Is there a way to get just the number of threads in a Microsoft 365 group?”
Tell an agent
Count the conversation threads in group {group}.
Tell me how many threads group {group} has.

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/azure-ad:azure-ad-groups-conversationthread-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

azure-ad-groups-conversationthread-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Groups.conversation Thread API
  version: v1.0
servers:
- url: https://graph.microsoft.com/v1.0/
  description: Core
security:
- azureaadv2: []
tags:


# --- truncated at 32 KB (83 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/azure-ad/refs/heads/main/openapi/azure-ad-groups-conversationthread-api-openapi.yml