Microsoft Skype Threads API
The Threads API from Microsoft Skype — 3 operation(s) for threads.
The Threads API from Microsoft Skype — 3 operation(s) for threads.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/microsoft-skype:microsoft-skype-threads-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Microsoft Skype Threads API
version: '2025-03-15'
description: 'Operations tagged Threads across 2 of this provider''s published API definitions: acs-chat-2025-03-15.json, microsoft-skype-chat-openapi.yml. Each path carries the servers of the definition it was published in.'
security:
- Authorization: []
tags:
- name: Threads
paths:
/chat/threads/{chatThreadId}/readReceipts:
get:
tags:
- Threads
summary: Gets chat message read receipts for a thread
operationId: ChatThread_ListChatReadReceipts
parameters:
- in: path
name: chatThreadId
description: Thread id to get the chat message read receipts for.
required: true
schema:
type: string
- in: query
name: maxPageSize
description: The maximum number of chat message read receipts to be returned per page.
schema:
type: integer
format: int32
- in: query
name: skip
description: Skips chat message read receipts up to a specified position in response.
schema:
type: integer
format: int32
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'200':
description: Request successful. The action returns the requested `ChatMessageReadReceipt` resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ChatMessageReadReceiptsCollection'
'401':
description: Unauthorized.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'403':
description: Forbidden.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'429':
description: Too many requests.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'503':
description: Service unavailable.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
x-ms-examples:
Get thread read receipts with pagination (max page size):
$ref: ./examples/Conversations_ListChatReadReceiptsWithPageSize.json
x-ms-pageable:
nextLinkName: nextLink
itemName: value
post:
tags:
- Threads
summary: Sends a read receipt event to a thread, on behalf of a user
operationId: ChatThread_SendChatReadReceipt
parameters:
- in: path
name: chatThreadId
description: Thread id to send the read receipt event to.
required: true
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'200':
description: Request successful.
'401':
description: Unauthorized.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'403':
description: Forbidden.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'429':
description: Too many requests.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'503':
description: Service unavailable.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
x-ms-examples:
Send read receipt:
$ref: ./examples/Conversations_SendChatReadReceipt.json
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SendReadReceiptRequest'
description: Read receipt details.
required: true
/chat/threads:
post:
tags:
- Threads
summary: Creates a chat thread
operationId: Chat_CreateChatThread
parameters:
- in: header
name: repeatability-request-id
description: If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs.
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'201':
description: Thread created, the `Location` header would contain the URL for the newly created thread.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateChatThreadResult'
'401':
description: Unauthorized.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'403':
description: Forbidden.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'429':
description: Too many requests.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'503':
description: Service unavailable.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
x-ms-examples:
Create chat thread:
$ref: ./examples/Threads_CreateChatThread.json
Create chat thread with repeatability request id header:
$ref: ./examples/Threads_CreateChatThreadWithIdempotencyToken.json
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateChatThreadRequest'
description: Request payload for creating a chat thread.
required: true
get:
tags:
- Threads
summary: Gets the list of chat threads of a user
operationId: Chat_ListChatThreads
parameters:
- in: query
name: maxPageSize
description: The maximum number of chat threads returned per page.
schema:
type: integer
format: int32
- in: query
name: startTime
description: 'The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
schema:
type: string
format: date-time
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'200':
description: Request successful. The action returns a `GetThreadsResponse` resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ChatThreadsItemCollection'
'401':
description: Unauthorized.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'403':
description: Forbidden.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'429':
description: Too many requests.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'503':
description: Service unavailable.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
x-ms-examples:
Get threads with pagination (Max Page Size):
$ref: ./examples/Threads_ListChatThreadsWithPageSize.json
x-ms-pageable:
nextLinkName: nextLink
itemName: value
/chat/threads/{chatThreadId}:
patch:
tags:
- Threads
summary: Updates a thread's properties
operationId: ChatThread_UpdateChatThreadProperties
parameters:
- in: path
name: chatThreadId
description: The id of the thread to update.
required: true
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'204':
description: Thread was successfully updated.
'401':
description: Unauthorized.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'403':
description: Forbidden.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'429':
description: Too many requests.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'503':
description: Service unavailable.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
x-ms-examples:
Update chat thread topic:
$ref: ./examples/Threads_UpdateChatThreadTopic.json
requestBody:
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/UpdateChatThreadRequest'
description: Request payload for updating a chat thread.
required: true
get:
tags:
- Threads
summary: Gets a chat thread's properties
operationId: ChatThread_GetChatThreadProperties
parameters:
- in: path
name: chatThreadId
description: Id of the thread.
required: true
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'200':
description: Request successful. The action returns a chat thread.
content:
application/json:
schema:
$ref: '#/components/schemas/ChatThreadProperties'
'401':
description: Unauthorized.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'403':
description: Forbidden.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'429':
description: Too many requests.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'503':
description: Service unavailable.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
x-ms-examples:
Get chat thread:
$ref: ./examples/Threads_GetChatThread.json
delete:
tags:
- Threads
summary: Deletes a thread
operationId: Chat_DeleteChatThread
parameters:
- in: path
name: chatThreadId
description: Id of the thread to be deleted.
required: true
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'204':
description: Request successful.
'401':
description: Unauthorized.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'403':
description: Forbidden.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'429':
description: Too many requests.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
'503':
description: Service unavailable.
x-ms-error-response: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommunicationErrorResponse'
x-ms-examples:
Delete chat thread:
$ref: ./examples/Threads_DeleteChatThread.json
components:
schemas:
ChatRetentionPolicy:
description: Data retention policy for auto deletion.
type: object
discriminator:
propertyName: kind
properties:
kind:
description: Retention Policy Type
enum:
- threadCreationDate
- none
type: string
x-ms-enum:
name: RetentionPolicyKind
modelAsString: true
values:
- value: threadCreationDate
description: Thread retention policy based on thread creation date.
- value: none
description: No thread retention policy
required:
- kind
CreateChatThreadResult:
description: Result of the create chat thread operation.
type: object
properties:
chatThread:
$ref: '#/components/schemas/ChatThreadProperties'
invalidParticipants:
description: The participants that failed to be added to the chat thread.
type: array
items:
$ref: '#/components/schemas/CommunicationError'
readOnly: true
UpdateChatThreadRequest:
description: Request payload for updating a chat thread.
type: object
properties:
topic:
description: Chat thread topic.
type: string
example: Lunch Thread
metadata:
description: Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.
type: object
additionalProperties:
type: string
retentionPolicy:
$ref: '#/components/schemas/ChatRetentionPolicy'
CreateChatThreadRequest:
description: Request payload for creating a chat thread.
required:
- topic
type: object
properties:
topic:
description: The chat thread topic.
type: string
example: Lunch Thread
participants:
description: Participants to be added to the chat thread.
type: array
items:
$ref: '#/components/schemas/ChatParticipant'
metadata:
description: Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.
type: object
additionalProperties:
type: string
retentionPolicy:
$ref: '#/components/schemas/ChatRetentionPolicy'
ChatMessageReadReceiptsCollection:
description: A paged collection of chat message read receipts.
required:
- value
type: object
properties:
value:
description: Collection of chat message read receipts.
type: array
items:
$ref: '#/components/schemas/ChatMessageReadReceipt'
nextLink:
description: If there are more chat message read receipts that can be retrieved, the next link will be populated.
type: string
readOnly: true
ChatThreadProperties:
description: Chat thread.
required:
- createdByCommunicationIdentifier
- createdOn
- id
- topic
type: object
properties:
id:
description: Chat thread id.
type: string
example: 19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2
topic:
description: Chat thread topic.
type: string
example: Lunch Chat thread
createdOn:
format: date-time
description: 'The timestamp when the chat thread was created. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
createdByCommunicationIdentifier:
$ref: '#/components/schemas/CommunicationIdentifierModel'
deletedOn:
format: date-time
description: 'The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
metadata:
description: Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.
type: object
additionalProperties:
type: string
retentionPolicy:
$ref: '#/components/schemas/ChatRetentionPolicy'
ChatMessageReadReceipt:
description: A chat message read receipt indicates the time a chat message was read by a recipient.
required:
- chatMessageId
- readOn
- senderCommunicationIdentifier
type: object
properties:
senderCommunicationIdentifier:
$ref: '#/components/schemas/CommunicationIdentifierModel'
chatMessageId:
description: Id of the chat message that has been read. This id is generated by the server.
type: string
example: '1591137790240'
readOn:
format: date-time
description: 'The time at which the message was read. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
ChatParticipant:
description: A participant of the chat thread.
required:
- communicationIdentifier
type: object
properties:
communicationIdentifier:
$ref: '#/components/schemas/CommunicationIdentifierModel'
displayName:
description: Display name for the chat participant.
type: string
example: Bob
shareHistoryTime:
format: date-time
description: 'Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
metadata:
description: Contextual metadata for the chat participant. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.
type: object
additionalProperties:
type: string
SendReadReceiptRequest:
description: Request payload for sending a read receipt.
required:
- chatMessageId
type: object
properties:
chatMessageId:
description: Id of the latest chat message read by the user.
type: string
example: '1592435762364'
CommunicationError:
$ref: ../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationError
ChatThreadsItemCollection:
description: Collection of chat threads.
required:
- value
type: object
properties:
value:
description: Collection of chat threads.
type: array
items:
$ref: '#/components/schemas/ChatThreadItem'
nextLink:
description: If there are more chat threads that can be retrieved, the next link will be populated.
type: string
readOnly: true
CommunicationIdentifierModel:
$ref: ../../../Common/stable/2025-06-30/common.json#/definitions/CommunicationIdentifierModel
CommunicationErrorResponse:
$ref: ../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationErrorResponse
ChatThreadItem:
description: Summary information of a chat thread.
required:
- id
- topic
type: object
properties:
id:
description: Chat thread id.
type: string
example: 19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2
topic:
description: Chat thread topic.
type: string
example: Lunch Chat thread
deletedOn:
format: date-time
description: 'The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
lastMessageReceivedOn:
format: date-time
description: 'The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
readOnly: true
example: '2020-10-30T10:50:50Z'
parameters:
ApiVersionParameter:
in: query
name: api-version
description: Version of API to invoke.
required: true
x-ms-parameter-location: method
schema:
type: string
securitySchemes:
Authorization:
type: apiKey
name: Authorization
in: header
description: An ACS (Azure Communication Services) user access token.
x-refined-from:
- acs-chat-2025-03-15.json
- microsoft-skype-chat-openapi.yml
x-ms-parameterized-host:
hostTemplate: '{endpoint}'
useSchemePrefix: false
parameters:
- $ref: '#/components/parameters/Endpoint'