call: updateRecordingStatus

Namespace: microsoft.graph

Update the application's recording status associated with a call. This requires the use of the Teams policy-based recording solution.

Additional Restriction: You may NOT use the Media Access API to record or otherwise persist media content from calls or meetings that your application accesses, or data derived from that media content ("record" or "recording"), without first calling the updateRecordingStatus API to indicate that recording has begun, and receiving a success reply from that API. If your application begins recording any meeting, it must end the recording prior to calling the updateRecordingStatus API to indicate that the recording has ended.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet


Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Not supported. Not supported.
Delegated (personal Microsoft account) Not supported. Not supported.
Application Calls.AccessMedia.All Calls.JoinGroupCall.All

HTTP request

POST /communications/calls/{id}/updateRecordingStatus

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
Content-type application/json. Required.

Request body

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

Parameter Type Description
clientContext String Unique client context string. Max limit is 256 chars.
status String The recording status. Possible values are: notRecording, recording, or failed.


This method returns a 200 OK response code and a Location header with a URI to the updateRecordingStatusOperation object created for this request.


The following example shows how to call this API.


The following example shows the request.

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

  "clientContext": "clientContext-value",
  "status": "notRecording | recording | failed"


Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK

  "@odata.type": "#microsoft.graph.updateRecordingStatusOperation",
  "clientContext": "clientContext-value",
  "id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
  "resultInfo": null,
  "status": "completed"