Microsoft Graph · Schema
microsoft.graph.participant
Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for an entity. Read-only. |
| @odata.type | string | |
| info | object | |
| isInLobby | boolean | true if the participant is in lobby. |
| isMuted | boolean | true if the participant is muted (client or server muted). |
| mediaStreams | array | The list of media streams. |
| metadata | stringnull | A blob of data provided by the participant in the roster. |
| recordingInfo | object | Information about whether the participant has recording capability. |
| removedState | object | Indicates the reason why the participant was removed from the roster. |
| restrictedExperience | object | Indicates the reason or reasons media content from this participant is restricted. |
| rosterSequenceNumber | numbernull | Indicates the roster sequence number in which the participant was last updated. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-participant-schema.json",
"title": "microsoft.graph.participant",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/microsoft-graph-communications-call-api-openapi.yml#/components/schemas/microsoft.graph.participant",
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "participant",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"info": {
"$ref": "#/$defs/microsoft.graph.participantInfo"
},
"isInLobby": {
"type": "boolean",
"description": "true if the participant is in lobby."
},
"isMuted": {
"type": "boolean",
"description": "true if the participant is muted (client or server muted)."
},
"mediaStreams": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.mediaStream"
},
"description": "The list of media streams."
},
"metadata": {
"type": [
"string",
"null"
],
"description": "A blob of data provided by the participant in the roster."
},
"recordingInfo": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.recordingInfo"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Information about whether the participant has recording capability."
},
"removedState": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.removedState"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Indicates the reason why the participant was removed from the roster."
},
"restrictedExperience": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.onlineMeetingRestricted"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Indicates the reason or reasons media content from this participant is restricted."
},
"rosterSequenceNumber": {
"type": [
"number",
"null"
],
"description": "Indicates the roster sequence number in which the participant was last updated.",
"format": "int64"
},
"@odata.type": {
"type": "string"
}
}
}
],
"x-ms-discriminator-value": "#microsoft.graph.participant",
"$defs": {
"microsoft.graph.endpointType": {
"title": "endpointType",
"enum": [
"default",
"voicemail",
"skypeForBusiness",
"skypeForBusinessVoipPhone",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.entity": {
"title": "entity",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for an entity. Read-only."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.identity": {
"title": "identity",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"displayName": {
"type": [
"string",
"null"
],
"description": "The display name of the identity.For drive items, the display name might not always be available or up to date. For example, if a user changes their display name the API might show the new value in a future response, but the items associated with the user don't show up as changed when using delta."
},
"id": {
"type": [
"string",
"null"
],
"description": "Unique identifier for the identity or actor. For example, in the access reviews decisions API, this property might record the id of the principal, that is, the group, user, or application that's subject to review."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.identitySet": {
"title": "identitySet",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"application": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identity"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Optional. The application associated with this action."
},
"device": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identity"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Optional. The device associated with this action."
},
"user": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identity"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Optional. The user associated with this action."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.mediaDirection": {
"title": "mediaDirection",
"enum": [
"inactive",
"sendOnly",
"receiveOnly",
"sendReceive"
],
"type": "string"
},
"microsoft.graph.mediaStream": {
"title": "mediaStream",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"direction": {
"$ref": "#/$defs/microsoft.graph.mediaDirection"
},
"label": {
"type": [
"string",
"null"
],
"description": "The media stream label."
},
"mediaType": {
"$ref": "#/$defs/microsoft.graph.modality"
},
"serverMuted": {
"type": "boolean",
"description": "If the media is muted by the server."
},
"sourceId": {
"type": "string",
"description": "The source ID."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.modality": {
"title": "modality",
"enum": [
"audio",
"video",
"videoBasedScreenSharing",
"data",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.onlineMeetingContentSharingDisabledReason": {
"title": "onlineMeetingContentSharingDisabledReason",
"enum": [
"watermarkProtection",
"unknownFutureValue"
],
"type": "string",
"x-ms-enum-flags": {
"isFlags": true
}
},
"microsoft.graph.onlineMeetingRestricted": {
"title": "onlineMeetingRestricted",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"contentSharingDisabled": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.onlineMeetingContentSharingDisabledReason"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Specifies the reason shared content from this participant is disabled. The possible values are: watermarkProtection, unknownFutureValue."
},
"videoDisabled": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.onlineMeetingVideoDisabledReason"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Specifies the reason video from this participant is disabled. The possible values are: watermarkProtection, unknownFutureValue."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.onlineMeetingVideoDisabledReason": {
"title": "onlineMeetingVideoDisabledReason",
"enum": [
"watermarkProtection",
"unknownFutureValue"
],
"type": "string",
"x-ms-enum-flags": {
"isFlags": true
}
},
"microsoft.graph.participantInfo": {
"title": "participantInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"countryCode": {
"type": [
"string",
"null"
],
"description": "The ISO 3166-1 Alpha-2 country code of the participant's best estimated physical location at the start of the call. Read-only."
},
"endpointType": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.endpointType"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The type of endpoint the participant is using. The possible values are: default, skypeForBusiness, or skypeForBusinessVoipPhone. Read-only."
},
"identity": {
"$ref": "#/$defs/microsoft.graph.identitySet"
},
"languageId": {
"type": [
"string",
"null"
],
"description": "The language culture string. Read-only."
},
"participantId": {
"type": [
"string",
"null"
],
"description": "The participant ID of the participant. Read-only."
},
"region": {
"type": [
"string",
"null"
],
"description": "The home region of the participant. This can be a country, a continent, or a larger geographic region. This doesn't change based on the participant's current physical location. Read-only."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.recordingInfo": {
"title": "recordingInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"initiator": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identitySet"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The identities of the recording initiator."
},
"recordingStatus": {
"$ref": "#/$defs/microsoft.graph.recordingStatus"
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.recordingStatus": {
"title": "recordingStatus",
"enum": [
"unknown",
"notRecording",
"recording",
"failed",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.removedState": {
"title": "removedState",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"reason": {
"type": [
"string",
"null"
],
"description": "The removal reason for the participant resource."
},
"@odata.type": {
"type": "string"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-graph-microsoft-graph-participant"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API 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.