{ "swagger": "2.0", "info": { "title": "Azure Communication Chat Service", "description": "Azure Communication Chat Service", "version": "2025-03-15" }, "paths": { "/chat/threads/{chatThreadId}/readReceipts": { "get": { "tags": [ "Threads" ], "summary": "Gets chat message read receipts for a thread.", "operationId": "ChatThread_ListChatReadReceipts", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Thread id to get the chat message read receipts for.", "required": true, "type": "string" }, { "in": "query", "name": "maxPageSize", "description": "The maximum number of chat message read receipts to be returned per page.", "type": "integer", "format": "int32" }, { "in": "query", "name": "skip", "description": "Skips chat message read receipts up to a specified position in response.", "type": "integer", "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Request successful. The action returns the requested `ChatMessageReadReceipt` resources.", "schema": { "$ref": "#/definitions/ChatMessageReadReceiptsCollection" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "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", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Thread id to send the read receipt event to.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "sendReadReceiptRequest", "description": "Read receipt details.", "required": true, "schema": { "$ref": "#/definitions/SendReadReceiptRequest" } } ], "responses": { "200": { "description": "Request successful." }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Send read receipt": { "$ref": "./examples/Conversations_SendChatReadReceipt.json" } } } }, "/chat/threads/{chatThreadId}/messages": { "post": { "tags": [ "Messages" ], "summary": "Sends a message to a thread.", "operationId": "ChatThread_SendChatMessage", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "The thread id to send the message to.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "sendChatMessageRequest", "description": "Details of the message to send.", "required": true, "schema": { "$ref": "#/definitions/SendChatMessageRequest" } } ], "responses": { "201": { "description": "Message sent, the `Location` header contains the URL for the newly sent message.", "schema": { "$ref": "#/definitions/SendChatMessageResult" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Send Message": { "$ref": "./examples/Messages_SendChatMessage.json" } } }, "get": { "tags": [ "Messages" ], "summary": "Gets a list of messages from a thread.", "operationId": "ChatThread_ListChatMessages", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "The thread id of the message.", "required": true, "type": "string" }, { "in": "query", "name": "maxPageSize", "description": "The maximum number of messages to be returned per page.", "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`.", "type": "string", "format": "date-time" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/ChatMessagesCollection" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "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", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "The thread id to which the message was sent.", "required": true, "type": "string" }, { "in": "path", "name": "chatMessageId", "description": "The message id.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Request successful. The action returns a `Message` resource.", "schema": { "$ref": "#/definitions/ChatMessage" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Get Message": { "$ref": "./examples/Messages_GetChatMessage.json" } } }, "patch": { "tags": [ "Messages" ], "summary": "Updates a message.", "operationId": "ChatThread_UpdateChatMessage", "consumes": [ "application/merge-patch+json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "The thread id to which the message was sent.", "required": true, "type": "string" }, { "in": "path", "name": "chatMessageId", "description": "The message id.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "updateChatMessageRequest", "description": "Details of the request to update the message.", "required": true, "schema": { "$ref": "#/definitions/UpdateChatMessageRequest" } } ], "responses": { "204": { "description": "Message is successfully updated." }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Update message content": { "$ref": "./examples/Messages_UpdateChatMessage.json" } } }, "delete": { "tags": [ "Messages" ], "summary": "Deletes a message.", "operationId": "ChatThread_DeleteChatMessage", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "The thread id to which the message was sent.", "required": true, "type": "string" }, { "in": "path", "name": "chatMessageId", "description": "The message id.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "204": { "description": "Request successful." }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Delete message": { "$ref": "./examples/Messages_DeleteChatMessage.json" } } } }, "/chat/threads/{chatThreadId}/participants": { "get": { "tags": [ "Participants" ], "summary": "Gets the participants of a thread.", "operationId": "ChatThread_ListChatParticipants", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Thread id to get participants for.", "required": true, "type": "string" }, { "in": "query", "name": "maxPageSize", "description": "The maximum number of participants to be returned per page.", "type": "integer", "format": "int32" }, { "in": "query", "name": "skip", "description": "Skips participants up to a specified position in response.", "type": "integer", "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Request successful. The action returns the participants of a thread.", "schema": { "$ref": "#/definitions/ChatParticipantsCollection" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Get participants with pagination (max page size)": { "$ref": "./examples/Participants_ListChatParticipantsWithPageSize.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink", "itemName": "value" } } }, "/chat/threads/{chatThreadId}/participants/:remove": { "post": { "tags": [ "Participants" ], "summary": "Remove a participant from a thread.", "operationId": "ChatThread_RemoveChatParticipant", "consumes": [ "application/json", "application/merge-patch+json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Thread id to remove the participant from.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "participantCommunicationIdentifier", "description": "Id of the thread participant to remove from the thread.", "required": true, "schema": { "$ref": "#/definitions/CommunicationIdentifierModel" } } ], "responses": { "204": { "description": "Request successful." }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Remove participant": { "$ref": "./examples/Participants_RemoveChatParticipant.json" } } } }, "/chat/threads/{chatThreadId}/participants/:add": { "post": { "tags": [ "Participants" ], "summary": "Adds thread participants to a thread. If participants already exist, no change occurs.", "operationId": "ChatThread_AddChatParticipants", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Id of the thread to add participants to.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "addChatParticipantsRequest", "description": "Thread participants to be added to the thread.", "required": true, "schema": { "$ref": "#/definitions/AddChatParticipantsRequest" } } ], "responses": { "201": { "description": "The participants were successfully added.", "schema": { "$ref": "#/definitions/AddChatParticipantsResult" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Add participants": { "$ref": "./examples/Participants_AddChatParticipants.json" } } } }, "/chat/threads": { "post": { "tags": [ "Threads" ], "summary": "Creates a chat thread.", "operationId": "Chat_CreateChatThread", "consumes": [ "application/json" ], "produces": [ "application/json" ], "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.", "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "createChatThreadRequest", "description": "Request payload for creating a chat thread.", "required": true, "schema": { "$ref": "#/definitions/CreateChatThreadRequest" } } ], "responses": { "201": { "description": "Thread created, the `Location` header would contain the URL for the newly created thread.", "schema": { "$ref": "#/definitions/CreateChatThreadResult" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Create chat thread": { "$ref": "./examples/Threads_CreateChatThread.json" }, "Create chat thread with repeatability request id header": { "$ref": "./examples/Threads_CreateChatThreadWithIdempotencyToken.json" } } }, "get": { "tags": [ "Threads" ], "summary": "Gets the list of chat threads of a user.", "operationId": "Chat_ListChatThreads", "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "maxPageSize", "description": "The maximum number of chat threads returned per page.", "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`.", "type": "string", "format": "date-time" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Request successful. The action returns a `GetThreadsResponse` resource.", "schema": { "$ref": "#/definitions/ChatThreadsItemCollection" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "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", "consumes": [ "application/merge-patch+json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "The id of the thread to update.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "updateChatThreadRequest", "description": "Request payload for updating a chat thread.", "required": true, "schema": { "$ref": "#/definitions/UpdateChatThreadRequest" } } ], "responses": { "204": { "description": "Thread was successfully updated." }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Update chat thread topic": { "$ref": "./examples/Threads_UpdateChatThreadTopic.json" } } }, "get": { "tags": [ "Threads" ], "summary": "Gets a chat thread's properties.", "operationId": "ChatThread_GetChatThreadProperties", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Id of the thread.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Request successful. The action returns a chat thread.", "schema": { "$ref": "#/definitions/ChatThreadProperties" } }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Get chat thread": { "$ref": "./examples/Threads_GetChatThread.json" } } }, "delete": { "tags": [ "Threads" ], "summary": "Deletes a thread.", "operationId": "Chat_DeleteChatThread", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Id of the thread to be deleted.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "204": { "description": "Request successful." }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Delete chat thread": { "$ref": "./examples/Threads_DeleteChatThread.json" } } } }, "/chat/threads/{chatThreadId}/typing": { "post": { "tags": [ "TypingNotifications" ], "summary": "Posts a typing event to a thread, on behalf of a user.", "operationId": "ChatThread_SendTypingNotification", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "chatThreadId", "description": "Id of the thread.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "in": "body", "name": "sendTypingNotificationRequest", "description": "Details of the typing notification request.", "schema": { "$ref": "#/definitions/SendTypingNotificationRequest" } } ], "responses": { "200": { "description": "Request successful." }, "401": { "description": "Unauthorized.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "403": { "description": "Forbidden.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "429": { "description": "Too many requests.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true }, "503": { "description": "Service unavailable.", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" }, "x-ms-error-response": true } }, "x-ms-examples": { "Post typing event to a thread": { "$ref": "./examples/Messages_SendTypingNotification.json" } } } } }, "definitions": { "CommunicationUserIdentifierModel": { "$ref": "../../../Common/stable/2025-06-30/common.json#/definitions/CommunicationUserIdentifierModel" }, "CommunicationCloudEnvironment": { "$ref": "../../../Common/stable/2025-06-30/common.json#/definitions/CommunicationCloudEnvironmentModel" }, "MicrosoftTeamsUserIdentifierModel": { "$ref": "../../../Common/stable/2025-06-30/common.json#/definitions/MicrosoftTeamsUserIdentifierModel" }, "MicrosoftTeamsAppIdentifierModel": { "$ref": "../../../Common/stable/2025-06-30/common.json#/definitions/MicrosoftTeamsAppIdentifierModel" }, "CommunicationIdentifierModel": { "$ref": "../../../Common/stable/2025-06-30/common.json#/definitions/CommunicationIdentifierModel" }, "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": "#/definitions/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" } } }, "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": "#/definitions/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 } } }, "CommunicationError": { "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationError" }, "CommunicationErrorResponse": { "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationErrorResponse" }, "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" } } }, "ChatMessageType": { "description": "The chat message type.", "enum": [ "text", "html", "topicUpdated", "participantAdded", "participantRemoved" ], "type": "string", "x-ms-enum": { "name": "ChatMessageType", "modelAsString": true }, "example": "html" }, "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": "#/definitions/ChatMessageType" }, "metadata": { "description": "Message metadata.", "type": "object", "additionalProperties": { "type": "string" } } } }, "SendChatMessageResult": { "description": "Result of the send message operation.", "required": [ "id" ], "type": "object", "properties": { "id": { "description": "A server-generated message id.", "type": "string", "example": "123456789" } } }, "ChatParticipant": { "description": "A participant of the chat thread.", "required": [ "communicationIdentifier" ], "type": "object", "properties": { "communicationIdentifier": { "$ref": "#/definitions/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" } } } }, "ChatAttachmentType": { "description": "The type of attachment.", "enum": [ "image", "file" ], "type": "string", "x-ms-enum": { "name": "ChatAttachmentType", "modelAsString": true } }, "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": "#/definitions/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" } } }, "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": "
Come one guys, lets go for lunch together.