{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-cross-tenant-access-policy-schema.json",
  "title": "microsoft.graph.crossTenantAccessPolicy",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-ad-policies-crosstenantaccesspolicy-api-openapi.yml#/components/schemas/microsoft.graph.crossTenantAccessPolicy",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.policyBase"
    },
    {
      "title": "crossTenantAccessPolicy",
      "type": "object",
      "properties": {
        "allowedCloudEndpoints": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Used to specify which Microsoft clouds an organization would like to collaborate with. By default, this value is empty. Supported values for this field are: microsoftonline.com, microsoftonline.us, and partner.microsoftonline.cn."
        },
        "default": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyConfigurationDefault"
        },
        "partners": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyConfigurationPartner"
          },
          "description": "Defines partner-specific configurations for external Microsoft Entra organizations.",
          "x-ms-navigationProperty": true
        },
        "templates": {
          "$ref": "#/$defs/microsoft.graph.policyTemplate"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.b2bIdentityProvidersType": {
      "title": "b2bIdentityProvidersType",
      "enum": [
        "azureActiveDirectory",
        "externalFederation",
        "socialIdentityProviders",
        "emailOneTimePasscode",
        "microsoftAccount",
        "defaultConfiguredIdp",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.crossTenantAccessPolicyAppServiceConnectSetting": {
      "title": "crossTenantAccessPolicyAppServiceConnectSetting",
      "type": "object",
      "properties": {
        "applications": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetConfiguration"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyB2BSetting": {
      "title": "crossTenantAccessPolicyB2BSetting",
      "type": "object",
      "properties": {
        "applications": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetConfiguration"
        },
        "usersAndGroups": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetConfiguration"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyConfigurationDefault": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "crossTenantAccessPolicyConfigurationDefault",
          "type": "object",
          "properties": {
            "appServiceConnectInbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyAppServiceConnectSetting"
            },
            "automaticUserConsentSettings": {
              "$ref": "#/$defs/microsoft.graph.inboundOutboundPolicyConfiguration"
            },
            "b2bCollaborationInbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "b2bCollaborationOutbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "b2bDirectConnectInbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "b2bDirectConnectOutbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "inboundTrust": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyInboundTrust"
            },
            "invitationRedemptionIdentityProviderConfiguration": {
              "$ref": "#/$defs/microsoft.graph.defaultInvitationRedemptionIdentityProviderConfiguration"
            },
            "isServiceDefault": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "If true, the default configuration is set to the system default configuration. If false, the default settings are customized."
            },
            "m365CollaborationInbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyM365CollaborationInboundSetting"
            },
            "m365CollaborationOutbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyM365CollaborationOutboundSetting"
            },
            "tenantRestrictions": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTenantRestrictions"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.crossTenantAccessPolicyConfigurationPartner": {
      "title": "crossTenantAccessPolicyConfigurationPartner",
      "type": "object",
      "properties": {
        "appServiceConnectInbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyAppServiceConnectSetting"
        },
        "automaticUserConsentSettings": {
          "$ref": "#/$defs/microsoft.graph.inboundOutboundPolicyConfiguration"
        },
        "b2bCollaborationInbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
        },
        "b2bCollaborationOutbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
        },
        "b2bDirectConnectInbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
        },
        "b2bDirectConnectOutbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
        },
        "inboundTrust": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyInboundTrust"
        },
        "isInMultiTenantOrganization": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Identifies whether a tenant is a member of a multitenant organization."
        },
        "isServiceProvider": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Identifies whether the partner-specific configuration is a Cloud Service Provider for your organization."
        },
        "m365CollaborationInbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyM365CollaborationInboundSetting"
        },
        "m365CollaborationOutbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyM365CollaborationOutboundSetting"
        },
        "tenantId": {
          "type": "string",
          "description": "The tenant identifier for the partner Microsoft Entra organization. Read-only. Key."
        },
        "tenantRestrictions": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTenantRestrictions"
        },
        "identitySynchronization": {
          "$ref": "#/$defs/microsoft.graph.crossTenantIdentitySyncPolicyPartner"
        },
        "serviceProviderConstraints": {
          "$ref": "#/$defs/microsoft.graph.serviceProviderConstraints"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyInboundTrust": {
      "title": "crossTenantAccessPolicyInboundTrust",
      "type": "object",
      "properties": {
        "isCompliantDeviceAccepted": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Specifies whether compliant devices from external Microsoft Entra organizations are trusted."
        },
        "isHybridAzureADJoinedDeviceAccepted": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Specifies whether Microsoft Entra hybrid joined devices from external Microsoft Entra organizations are trusted."
        },
        "isMfaAccepted": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Specifies whether MFA from external Microsoft Entra organizations is trusted."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyM365CollaborationInboundSetting": {
      "title": "crossTenantAccessPolicyM365CollaborationInboundSetting",
      "type": "object",
      "properties": {
        "users": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetConfiguration"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyM365CollaborationOutboundSetting": {
      "title": "crossTenantAccessPolicyM365CollaborationOutboundSetting",
      "type": "object",
      "properties": {
        "usersAndGroups": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetConfiguration"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyTarget": {
      "title": "crossTenantAccessPolicyTarget",
      "type": "object",
      "properties": {
        "target": {
          "type": [
            "string",
            "null"
          ],
          "description": "Defines the target for cross-tenant access policy settings and can have one of the following values:  The unique identifier of the user, group, or application  AllUsers  AllApplications - Refers to any Microsoft cloud application.  Office365 - Includes the applications mentioned as part of the Office 365 suite."
        },
        "targetType": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetType"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyTargetConfiguration": {
      "title": "crossTenantAccessPolicyTargetConfiguration",
      "type": "object",
      "properties": {
        "accessType": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetConfigurationAccessType"
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTarget"
          },
          "description": "Specifies whether to target users, groups, or applications with this rule."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantAccessPolicyTargetConfigurationAccessType": {
      "title": "crossTenantAccessPolicyTargetConfigurationAccessType",
      "enum": [
        "allowed",
        "blocked",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.crossTenantAccessPolicyTargetType": {
      "title": "crossTenantAccessPolicyTargetType",
      "enum": [
        "user",
        "group",
        "application",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.crossTenantAccessPolicyTenantRestrictions": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
        },
        {
          "title": "crossTenantAccessPolicyTenantRestrictions",
          "type": "object",
          "properties": {
            "devices": {
              "$ref": "#/$defs/microsoft.graph.devicesFilter"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.crossTenantIdentitySyncPolicyPartner": {
      "title": "crossTenantIdentitySyncPolicyPartner",
      "type": "object",
      "properties": {
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Display name for the cross-tenant user synchronization policy. Use the name of the partner Microsoft Entra tenant to easily identify the policy. Optional."
        },
        "tenantId": {
          "type": "string",
          "description": "Tenant identifier for the partner Microsoft Entra organization. Read-only."
        },
        "userSyncInbound": {
          "$ref": "#/$defs/microsoft.graph.crossTenantUserSyncInbound"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.crossTenantUserSyncInbound": {
      "title": "crossTenantUserSyncInbound",
      "type": "object",
      "properties": {
        "isSyncAllowed": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Defines whether user objects should be synchronized from the partner tenant. false causes any current user synchronization from the source tenant to the target tenant to stop. This property has no impact on existing users who have already been synchronized."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.defaultInvitationRedemptionIdentityProviderConfiguration": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.invitationRedemptionIdentityProviderConfiguration"
        },
        {
          "title": "defaultInvitationRedemptionIdentityProviderConfiguration",
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.devicesFilter": {
      "title": "devicesFilter",
      "type": "object",
      "properties": {
        "mode": {
          "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyTargetConfigurationAccessType"
        },
        "rule": {
          "type": [
            "string",
            "null"
          ],
          "description": "Defines the rule to filter the devices. For example, device.deviceAttribute2 -eq 'PrivilegedAccessWorkstation'."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "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.inboundOutboundPolicyConfiguration": {
      "title": "inboundOutboundPolicyConfiguration",
      "type": "object",
      "properties": {
        "inboundAllowed": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Defines whether external users coming inbound are allowed."
        },
        "outboundAllowed": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Defines whether internal users are allowed to go outbound."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.invitationRedemptionIdentityProviderConfiguration": {
      "title": "invitationRedemptionIdentityProviderConfiguration",
      "type": "object",
      "properties": {
        "fallbackIdentityProvider": {
          "$ref": "#/$defs/microsoft.graph.b2bIdentityProvidersType"
        },
        "primaryIdentityProviderPrecedenceOrder": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.b2bIdentityProvidersType"
          },
          "description": "Collection of identity providers in priority order of preference to be used for guest invitation redemption. The possible values are: azureActiveDirectory, externalFederation, or socialIdentityProviders."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.multiTenantOrganizationIdentitySyncPolicyTemplate": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "multiTenantOrganizationIdentitySyncPolicyTemplate",
          "type": "object",
          "properties": {
            "templateApplicationLevel": {
              "$ref": "#/$defs/microsoft.graph.templateApplicationLevel"
            },
            "userSyncInbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantUserSyncInbound"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.multiTenantOrganizationPartnerConfigurationTemplate": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "multiTenantOrganizationPartnerConfigurationTemplate",
          "type": "object",
          "properties": {
            "automaticUserConsentSettings": {
              "$ref": "#/$defs/microsoft.graph.inboundOutboundPolicyConfiguration"
            },
            "b2bCollaborationInbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "b2bCollaborationOutbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "b2bDirectConnectInbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "b2bDirectConnectOutbound": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyB2BSetting"
            },
            "inboundTrust": {
              "$ref": "#/$defs/microsoft.graph.crossTenantAccessPolicyInboundTrust"
            },
            "templateApplicationLevel": {
              "$ref": "#/$defs/microsoft.graph.templateApplicationLevel"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.policyBase": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.directoryObject"
        },
        {
          "title": "policyBase",
          "type": "object",
          "properties": {
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "Description for this policy. Required."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "Display name for this policy. Required."
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.policyTemplate": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "policyTemplate",
          "type": "object",
          "properties": {
            "multiTenantOrganizationIdentitySynchronization": {
              "$ref": "#/$defs/microsoft.graph.multiTenantOrganizationIdentitySyncPolicyTemplate"
            },
            "multiTenantOrganizationPartnerConfiguration": {
              "$ref": "#/$defs/microsoft.graph.multiTenantOrganizationPartnerConfigurationTemplate"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.serviceProviderConstraints": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "serviceProviderConstraints",
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.templateApplicationLevel": {
      "title": "templateApplicationLevel",
      "enum": [
        "none",
        "newPartners",
        "existingPartners",
        "unknownFutureValue"
      ],
      "type": "string",
      "x-ms-enum-flags": {
        "isFlags": true
      }
    }
  }
}