Microsoft Graph · Schema
microsoft.graph.call
Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for an entity. Read-only. |
| @odata.type | string | |
| callbackUri | string | The callback URL on which callbacks are delivered. Must be an HTTPS URL. |
| callChainId | stringnull | A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in a P2P call. This identifier must be copied over from Microsoft.Graph.Call.CallChai |
| callOptions | object | Contains the optional features for the call. |
| callRoutes | array | The routing information on how the call was retargeted. Read-only. |
| chatInfo | object | The chat information. Required information for joining a meeting. |
| direction | object | The direction of the call. The possible values are incoming or outgoing. Read-only. |
| incomingContext | object | Call context associated with an incoming call. |
| mediaConfig | object | The media configuration. Required. |
| mediaState | object | Read-only. The call media state. |
| meetingInfo | object | The meeting information. Required information for meeting scenarios. |
| myParticipantId | stringnull | |
| requestedModalities | array | The list of requested modalities. The possible values are: unknown, audio, video, videoBasedScreenSharing, data. |
| resultInfo | object | The result information. For example, the result can hold termination reason. Read-only. |
| source | object | The originator of the call. |
| state | object | The call state. The possible values are: incoming, establishing, ringing, established, hold, transferring, transferAccepted, redirecting, terminating, terminated. Read-only. |
| subject | stringnull | The subject of the conversation. |
| targets | array | The targets of the call. Required information for creating peer to peer call. |
| tenantId | stringnull | |
| toneInfo | object | |
| transcription | object | The transcription information for the call. Read-only. |
| audioRoutingGroups | array | |
| contentSharingSessions | array | |
| operations | array | |
| participants | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-call-schema.json",
"title": "microsoft.graph.call",
"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.call",
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "call",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"callbackUri": {
"type": "string",
"description": "The callback URL on which callbacks are delivered. Must be an HTTPS URL."
},
"callChainId": {
"type": [
"string",
"null"
],
"description": "A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in a P2P call. This identifier must be copied over from Microsoft.Graph.Call.CallChainId."
},
"callOptions": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.callOptions"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Contains the optional features for the call."
},
"callRoutes": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.callRoute"
},
"description": "The routing information on how the call was retargeted. Read-only."
},
"chatInfo": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.chatInfo"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The chat information. Required information for joining a meeting."
},
"direction": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.callDirection"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The direction of the call. The possible values are incoming or outgoing. Read-only."
},
"incomingContext": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.incomingContext"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Call context associated with an incoming call."
},
"mediaConfig": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.mediaConfig"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The media configuration. Required."
},
"mediaState": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.callMediaState"
},
{
"type": [
"object",
"null"
]
}
],
"description": "Read-only. The call media state."
},
"meetingInfo": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.meetingInfo"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The meeting information. Required information for meeting scenarios."
},
"myParticipantId": {
"type": [
"string",
"null"
]
},
"requestedModalities": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.modality"
},
{
"type": [
"object",
"null"
]
}
]
},
"description": "The list of requested modalities. The possible values are: unknown, audio, video, videoBasedScreenSharing, data."
},
"resultInfo": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.resultInfo"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The result information. For example, the result can hold termination reason. Read-only."
},
"source": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.participantInfo"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The originator of the call."
},
"state": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.callState"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The call state. The possible values are: incoming, establishing, ringing, established, hold, transferring, transferAccepted, redirecting, terminating, terminated. Read-only."
},
"subject": {
"type": [
"string",
"null"
],
"description": "The subject of the conversation."
},
"targets": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.invitationParticipantInfo"
},
"description": "The targets of the call. Required information for creating peer to peer call."
},
"tenantId": {
"type": [
"string",
"null"
]
},
"toneInfo": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.toneInfo"
},
{
"type": [
"object",
"null"
]
}
]
},
"transcription": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.callTranscriptionInfo"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The transcription information for the call. Read-only."
},
"audioRoutingGroups": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.audioRoutingGroup"
},
"x-ms-navigationProperty": true
},
"contentSharingSessions": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.contentSharingSession"
},
"x-ms-navigationProperty": true
},
"operations": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.commsOperation"
},
"x-ms-navigationProperty": true
},
"participants": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.participant"
},
"x-ms-navigationProperty": true
},
"@odata.type": {
"type": "string"
}
}
}
],
"x-ms-discriminator-value": "#microsoft.graph.call",
"$defs": {
"microsoft.graph.audioRoutingGroup": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "audioRoutingGroup",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"receivers": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "List of receiving participant ids."
},
"routingMode": {
"$ref": "#/$defs/microsoft.graph.routingMode"
},
"sources": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "List of source participant ids."
},
"@odata.type": {
"type": "string"
}
}
}
],
"x-ms-discriminator-value": "#microsoft.graph.audioRoutingGroup"
},
"microsoft.graph.callDirection": {
"title": "callDirection",
"enum": [
"incoming",
"outgoing"
],
"type": "string"
},
"microsoft.graph.callMediaState": {
"title": "callMediaState",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"audio": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.mediaState"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The audio media state. The possible values are: active, inactive, unknownFutureValue."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.callOptions": {
"title": "callOptions",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"hideBotAfterEscalation": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether to hide the app after the call is escalated."
},
"isContentSharingNotificationEnabled": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether content sharing notifications should be enabled for the call."
},
"isDeltaRosterEnabled": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether delta roster is enabled for the call."
},
"isInteractiveRosterEnabled": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether delta roster filtering by participant interactivity is enabled."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.callRoute": {
"title": "callRoute",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"final": {
"$ref": "#/$defs/microsoft.graph.identitySet"
},
"original": {
"$ref": "#/$defs/microsoft.graph.identitySet"
},
"routingType": {
"$ref": "#/$defs/microsoft.graph.routingType"
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.callState": {
"title": "callState",
"enum": [
"incoming",
"establishing",
"established",
"hold",
"transferring",
"transferAccepted",
"redirecting",
"terminating",
"terminated",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.callTranscriptionInfo": {
"title": "callTranscriptionInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"lastModifiedDateTime": {
"pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
"type": [
"string",
"null"
],
"description": "The state modified time in UTC.",
"format": "date-time"
},
"state": {
"$ref": "#/$defs/microsoft.graph.callTranscriptionState"
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.callTranscriptionState": {
"title": "callTranscriptionState",
"enum": [
"notStarted",
"active",
"inactive",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.chatInfo": {
"title": "chatInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"messageId": {
"type": [
"string",
"null"
],
"description": "The unique identifier of a message in a Microsoft Teams channel."
},
"replyChainMessageId": {
"type": [
"string",
"null"
],
"description": "The ID of the reply message."
},
"threadId": {
"type": [
"string",
"null"
],
"description": "The unique identifier for a thread in Microsoft Teams."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.commsOperation": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "commsOperation",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"clientContext": {
"type": [
"string",
"null"
],
"description": "Unique Client Context string. Max limit is 256 chars."
},
"resultInfo": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.resultInfo"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The result information. Read-only."
},
"status": {
"$ref": "#/$defs/microsoft.graph.operationStatus"
},
"@odata.type": {
"type": "string"
}
}
}
]
},
"microsoft.graph.contentSharingSession": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "contentSharingSession",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"@odata.type": {
"type": "string"
}
}
}
],
"x-ms-discriminator-value": "#microsoft.graph.contentSharingSession"
},
"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.incomingContext": {
"title": "incomingContext",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"observedParticipantId": {
"type": [
"string",
"null"
],
"description": "The ID of the participant that is under observation. Read-only."
},
"onBehalfOf": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identitySet"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The identity that the call is happening on behalf of."
},
"sourceParticipantId": {
"type": [
"string",
"null"
],
"description": "The ID of the participant that triggered the incoming call. Read-only."
},
"transferor": {
"anyOf": [
{
"$ref": "#/$defs/microsoft.graph.identitySet"
},
{
"type": [
"object",
"null"
]
}
],
"description": "The identity that transferred the call."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.invitationParticipantInfo": {
"title": "invitationParticipantInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"hidden": {
"type": [
"boolean",
"null"
],
"description": "Optional. Whether to hide the participant from the roster."
},
"identity": {
"$ref": "#/$defs/microsoft.graph.identitySet"
},
"participantId": {
"type": [
"string",
"null"
],
"description": "Optional. The ID of the target participant."
},
"removeFromDefaultAudioRoutingGroup": {
"type": [
"boolean",
"null"
],
"description": "Optional. Whether to remove them from the main mixer."
},
"replacesCallId": {
"type": [
"string",
"null"
],
"description": "Optional. The call which the target identity is currently a part of. For peer-to-peer case, the call will be dropped once the participant is added successfully."
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.mediaConfig": {
"title": "mediaConfig",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.mediaDirection": {
"title": "mediaDirection",
"enum": [
"inactive",
"sendOnly",
"receiveOnly",
"sendReceive"
],
"type": "string"
},
"microsoft.graph.mediaState": {
"title": "mediaState",
"enum": [
"active",
"inactive",
"unknownFutureValue"
],
"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.meetingInfo": {
"title": "meetingInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"@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.operationStatus": {
"title": "operationStatus",
"enum": [
"NotStarted",
"Running",
"Completed",
"Failed"
],
"type": "string"
},
"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"
},
"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"
}
}
},
"microsoft.graph.resultInfo": {
"title": "resultInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"code": {
"maximum": 2147483647,
"minimum": -2147483648,
"type": "number",
"description": "The result code.",
"format": "int32"
},
"message": {
"type": [
"string",
"null"
],
"description": "The message."
},
"subcode": {
"maximum": 2147483647,
"minimum": -2147483648,
"type": "number",
"description": "The result subcode.",
"format": "int32"
},
"@odata.type": {
"type": "string"
}
}
},
"microsoft.graph.routingMode": {
"title": "routingMode",
"enum": [
"oneToOne",
"multicast",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.routingType": {
"title": "routingType",
"enum": [
"forwarded",
"lookup",
"selfFork",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.tone": {
"title": "tone",
"enum": [
"tone0",
"tone1",
"tone2",
"tone3",
"tone4",
"tone5",
"tone6",
"tone7",
"tone8",
"tone9",
"star",
"pound",
"a",
"b",
"c",
"d",
"flash"
],
"type": "string"
},
"microsoft.graph.toneInfo": {
"title": "toneInfo",
"required": [
"@odata.type"
],
"type": "object",
"properties": {
"sequenceId": {
"type": "number",
"description": "An incremental identifier used for ordering DTMF events.",
"format": "int64"
},
"tone": {
"$ref": "#/$defs/microsoft.graph.tone"
},
"@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-call"
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.