call: playPrompt

Namespace: microsoft.graph


APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported.

Play a prompt in the call.

For more information about how to handle operations, see commsOperation


The playPrompt action is supported only for calls that are initiated with serviceHostedMediaConfig.


One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Not Supported.
Delegated (personal Microsoft account) Not Supported.
Application None.

HTTP request

POST /app/calls/{id}/playPrompt
POST /communications/calls/{id}/playPrompt

Note: The /app path is deprecated. Going forward, use the /communications path.

Request headers

Name Description
Authorization Bearer {token}. Required.

Request body

In the request body, provide a JSON object with the following parameters.

Parameter Type Description
prompts MediaPrompt collection The prompts to be played. The maximum supported mediaPrompt collection size is 20.
loop Boolean The loop value. True indicates to loop infinitely. The default value is false.
clientContext String Unique client context string. Can have a maximum of 256 characters.


If successful, this method returns a 200 OK response code and a playPromptOperation object in the response body.


The following example shows how to call this API.


The following example shows the request.

Content-Type: application/json
Content-Length: 166

  "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
  "prompts": [
      "@odata.type": "#microsoft.graph.mediaPrompt",
      "mediaInfo": {
        "@odata.type": "#microsoft.graph.mediaInfo",
        "uri": "",
        "resourceId": "1D6DE2D4-CD51-4309-8DAA-70768651088E"
  "loop": false

The following is an example of the response.

Note: The response object shown here might be shortened for readability. All the properties will be returned from an actual call.

HTTP/1.1 200 OK

  "@odata.type": "#microsoft.graph.playPromptOperation",
  "id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
  "status": "running",
  "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c"

Notification - operation completed

Note: If infinite looping occurs, this notification is not sent.

Content-Type: application/json
  "@odata.type": "#microsoft.graph.commsNotifications",
  "value": [
      "@odata.type": "#microsoft.graph.commsNotification",
      "changeType": "deleted",
      "resourceUrl": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
      "resourceData": {
        "@odata.type": "#microsoft.graph.playPromptOperation",
        "": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
        "@odata.etag": "W/\"54451\"",
        "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
        "status": "completed"