microsoft.graph.multiTenantOrganization
AuthenticationAuthorizationIdentityOAuthOpenID ConnectSSOIdentity Federation
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for an entity. Read-only. |
| createdDateTime | stringnull | Date when multitenant organization was created. Read-only. |
| description | stringnull | Description of the multitenant organization. |
| displayName | stringnull | Display name of the multitenant organization. |
| state | object | |
| joinRequest | object | |
| tenants | array | Defines tenants added to a multitenant organization. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-multi-tenant-organization-schema.json",
"title": "microsoft.graph.multiTenantOrganization",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/azure-ad-tenantrelationships-multitenantorganization-api-openapi.yml#/components/schemas/microsoft.graph.multiTenantOrganization",
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "multiTenantOrganization",
"type": "object",
"properties": {
"createdDateTime": {
"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": "Date when multitenant organization was created. Read-only.",
"format": "date-time"
},
"description": {
"type": [
"string",
"null"
],
"description": "Description of the multitenant organization."
},
"displayName": {
"type": [
"string",
"null"
],
"description": "Display name of the multitenant organization."
},
"state": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationState"
},
"joinRequest": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationJoinRequestRecord"
},
"tenants": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMember"
},
"description": "Defines tenants added to a multitenant organization.",
"x-ms-navigationProperty": true
}
},
"additionalProperties": {
"type": "object"
}
}
],
"$defs": {
"microsoft.graph.directoryObject": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "directoryObject",
"type": "object",
"properties": {
"deletedDateTime": {
"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": "Date and time when this object was deleted. Always null when the object hasn't been deleted.",
"format": "date-time"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.entity": {
"title": "entity",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for an entity. Read-only."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.multiTenantOrganizationJoinRequestRecord": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "multiTenantOrganizationJoinRequestRecord",
"type": "object",
"properties": {
"addedByTenantId": {
"type": [
"string",
"null"
],
"description": "Tenant ID of the Microsoft Entra tenant that added a tenant to the multitenant organization. To reset a failed join request, set addedByTenantId to 00000000-0000-0000-0000-000000000000. Required."
},
"memberState": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberState"
},
"role": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberRole"
},
"transitionDetails": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationJoinRequestTransitionDetails"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.multiTenantOrganizationJoinRequestTransitionDetails": {
"title": "multiTenantOrganizationJoinRequestTransitionDetails",
"type": "object",
"properties": {
"desiredMemberState": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberState"
},
"details": {
"type": [
"string",
"null"
],
"description": "Details that explain the processing status if any. Read-only."
},
"status": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberProcessingStatus"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.multiTenantOrganizationMember": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.directoryObject"
},
{
"title": "multiTenantOrganizationMember",
"type": "object",
"properties": {
"addedByTenantId": {
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
],
"description": "Tenant ID of the tenant that added the tenant to the multitenant organization. Read-only.",
"format": "uuid"
},
"addedDateTime": {
"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": "Date and time when the tenant was added to the multitenant organization. Read-only.",
"format": "date-time"
},
"displayName": {
"type": [
"string",
"null"
],
"description": "Display name of the tenant added to the multitenant organization."
},
"joinedDateTime": {
"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": "Date and time when the tenant joined the multitenant organization. Read-only.",
"format": "date-time"
},
"role": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberRole"
},
"state": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberState"
},
"tenantId": {
"type": "string",
"description": "Tenant ID of the Microsoft Entra tenant added to the multitenant organization. Set at the time tenant is added.Supports $filter. Key."
},
"transitionDetails": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberTransitionDetails"
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.multiTenantOrganizationMemberProcessingStatus": {
"title": "multiTenantOrganizationMemberProcessingStatus",
"enum": [
"notStarted",
"running",
"succeeded",
"failed",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.multiTenantOrganizationMemberRole": {
"title": "multiTenantOrganizationMemberRole",
"enum": [
"owner",
"member",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.multiTenantOrganizationMemberState": {
"title": "multiTenantOrganizationMemberState",
"enum": [
"pending",
"active",
"removed",
"unknownFutureValue"
],
"type": "string"
},
"microsoft.graph.multiTenantOrganizationMemberTransitionDetails": {
"title": "multiTenantOrganizationMemberTransitionDetails",
"type": "object",
"properties": {
"desiredRole": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberRole"
},
"desiredState": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberState"
},
"details": {
"type": [
"string",
"null"
],
"description": "Details that explain the processing status if any. Read-only."
},
"status": {
"$ref": "#/$defs/microsoft.graph.multiTenantOrganizationMemberProcessingStatus"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.multiTenantOrganizationState": {
"title": "multiTenantOrganizationState",
"enum": [
"active",
"inactive",
"unknownFutureValue"
],
"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/azure-ad-microsoft-graph-multi-tenant-organization"
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.