Microsoft Skype Messages API
The Messages API from Microsoft Skype — 2 operation(s) for messages.
The Messages API from Microsoft Skype — 2 operation(s) for messages.
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-messages-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 Messages API
version: '2025-03-15'
description: 'Operations tagged Messages 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: Messages
paths:
/chat/threads/{chatThreadId}/messages:
post:
tags:
- Messages
summary: Sends a message to a thread
operationId: ChatThread_SendChatMessage
parameters:
- in: path
name: chatThreadId
description: The thread id to send the message to.
required: true
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'201':
description: Message sent, the `Location` header contains the URL for the newly sent message.
content:
application/json:
schema:
$ref: '#/components/schemas/SendChatMessageResult'
'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 Message:
$ref: ./examples/Messages_SendChatMessage.json
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SendChatMessageRequest'
description: Details of the message to send.
required: true
get:
tags:
- Messages
summary: Gets a list of messages from a thread
operationId: ChatThread_ListChatMessages
parameters:
- in: path
name: chatThreadId
description: The thread id of the message.
required: true
schema:
type: string
- in: query
name: maxPageSize
description: The maximum number of messages to be returned per page.
schema:
type: integer
format: int32
- in: query
name: startTime
description: 'The earliest point in time to get messages after. 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: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChatMessagesCollection'
'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 messages with pagination (max page size):
$ref: ./examples/Messages_ListChatMessagesWithPageSize.json
x-ms-pageable:
nextLinkName: nextLink
itemName: value
/chat/threads/{chatThreadId}/messages/{chatMessageId}:
get:
tags:
- Messages
summary: Gets a message by id
operationId: ChatThread_GetChatMessage
parameters:
- in: path
name: chatThreadId
description: The thread id to which the message was sent.
required: true
schema:
type: string
- in: path
name: chatMessageId
description: The message id.
required: true
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'200':
description: Request successful. The action returns a `Message` resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ChatMessage'
'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 Message:
$ref: ./examples/Messages_GetChatMessage.json
patch:
tags:
- Messages
summary: Updates a message
operationId: ChatThread_UpdateChatMessage
parameters:
- in: path
name: chatThreadId
description: The thread id to which the message was sent.
required: true
schema:
type: string
- in: path
name: chatMessageId
description: The message id.
required: true
schema:
type: string
- $ref: '#/components/parameters/ApiVersionParameter'
responses:
'204':
description: Message is 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 message content:
$ref: ./examples/Messages_UpdateChatMessage.json
requestBody:
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/UpdateChatMessageRequest'
description: Details of the request to update the message.
required: true
delete:
tags:
- Messages
summary: Deletes a message
operationId: ChatThread_DeleteChatMessage
parameters:
- in: path
name: chatThreadId
description: The thread id to which the message was sent.
required: true
schema:
type: string
- in: path
name: chatMessageId
description: The message id.
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 message:
$ref: ./examples/Messages_DeleteChatMessage.json
components:
schemas:
ChatMessageType:
description: The chat message type.
enum:
- text
- html
- topicUpdated
- participantAdded
- participantRemoved
type: string
x-ms-enum:
name: ChatMessageType
modelAsString: true
example: html
ChatAttachment:
description: An attachment in a chat message.
required:
- id
- attachmentType
type: object
properties:
id:
description: Id of the attachment
type: string
example: A27C7079-626F-4D23-8BEE-582F2C376B5A
attachmentType:
$ref: '#/components/schemas/ChatAttachmentType'
name:
description: The name of the attachment content.
type: string
example: SomeImage.png
url:
description: The URL where the attachment can be downloaded
type: string
format: uri
example: https://{geoChatGW}/threads/{chatThreadId}/images/{imageId}/views/original
previewUrl:
description: The URL where the preview of attachment can be downloaded
type: string
format: uri
example: https://{geoChatGW}/threads/{chatThreadId}/images/{imageId}/views/small
ChatMessagesCollection:
description: Collection of chat messages for a particular chat thread.
required:
- value
type: object
properties:
value:
description: Collection of chat messages.
type: array
items:
$ref: '#/components/schemas/ChatMessage'
nextLink:
description: If there are more chat messages that can be retrieved, the next link will be populated.
type: string
readOnly: true
ChatAttachmentType:
description: The type of attachment.
enum:
- image
- file
type: string
x-ms-enum:
name: ChatAttachmentType
modelAsString: true
UpdateChatMessageRequest:
description: Request payload for updating a chat message.
type: object
properties:
content:
description: Chat message content.
type: string
example: Let's go for lunch together.
metadata:
description: Message metadata.
type: object
additionalProperties:
type: string
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
CommunicationIdentifierModel:
$ref: ../../../Common/stable/2025-06-30/common.json#/definitions/CommunicationIdentifierModel
SendChatMessageResult:
description: Result of the send message operation.
required:
- id
type: object
properties:
id:
description: A server-generated message id.
type: string
example: '123456789'
ChatMessage:
description: Chat message.
required:
- createdOn
- id
- sequenceId
- type
- version
type: object
properties:
id:
description: The id of the chat message. This id is server generated.
type: string
example: '123456789'
type:
$ref: '#/components/schemas/ChatMessageType'
sequenceId:
description: Sequence of the chat message in the conversation.
type: string
version:
description: Version of the chat message.
type: string
content:
$ref: '#/components/schemas/ChatMessageContent'
senderDisplayName:
description: The display name of the chat message sender. This property is used to populate sender name for push notifications.
type: string
example: Jane
createdOn:
format: date-time
description: 'The timestamp when the chat message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
senderCommunicationIdentifier:
$ref: '#/components/schemas/CommunicationIdentifierModel'
deletedOn:
format: date-time
description: 'The timestamp (if applicable) when the message was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
editedOn:
format: date-time
description: 'The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.'
type: string
example: '2020-10-30T10:50:50Z'
metadata:
description: Message metadata.
type: object
additionalProperties:
type: string
SendChatMessageRequest:
description: Details of the message to send.
required:
- content
type: object
properties:
content:
description: Chat message content.
type: string
example: Come one guys, lets go for lunch together.
senderDisplayName:
description: The display name of the chat message sender. This property is used to populate sender name for push notifications.
type: string
example: Bob Admin
type:
$ref: '#/components/schemas/ChatMessageType'
metadata:
description: Message metadata.
type: object
additionalProperties:
type: string
CommunicationErrorResponse:
$ref: ../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationErrorResponse
ChatMessageContent:
description: Content of a chat message.
type: object
properties:
message:
description: Chat message content for messages of types text or html.
type: string
example: <p>Come one guys, lets go for lunch together.</p><img id="f508ce15-e878-431f-b871-f530cac5331d">
topic:
description: Chat message content for messages of type topicUpdated.
type: string
example: Lunch Chat thread
participants:
description: Chat message content for messages of types participantAdded or participantRemoved.
type: array
items:
$ref: '#/components/schemas/ChatParticipant'
attachments:
description: List of attachments for this message
type: array
items:
$ref: '#/components/schemas/ChatAttachment'
initiatorCommunicationIdentifier:
$ref: '#/components/schemas/CommunicationIdentifierModel'
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'