microsoft.graph.unifiedRoleAssignment
AuthenticationAuthorizationIdentityOAuthOpenID ConnectSSOIdentity Federation
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for an entity. Read-only. |
| appScopeId | stringnull | Identifier of the app specific scope when the assignment scope is app specific. The scope of an assignment determines the set of resources for which the principal has been granted access. App scopes a |
| condition | stringnull | |
| directoryScopeId | stringnull | Identifier of the directory object representing the scope of the assignment. The scope of an assignment determines the set of resources for which the principal has been granted access. Directory scope |
| principalId | stringnull | Identifier of the principal to which the assignment is granted. Supported principals are users, role-assignable groups, and service principals. Supports $filter (eq, in). |
| principalOrganizationId | stringnull | |
| roleDefinitionId | stringnull | Identifier of the unifiedRoleDefinition the assignment is for. Read-only. Supports $filter (eq, in). |
| appScope | object | |
| directoryScope | object | |
| principal | object | |
| roleDefinition | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-unified-role-assignment-schema.json",
"title": "microsoft.graph.unifiedRoleAssignment",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/azure-ad-rolemanagement-rbacapplication-api-openapi.yml#/components/schemas/microsoft.graph.unifiedRoleAssignment",
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "unifiedRoleAssignment",
"type": "object",
"properties": {
"appScopeId": {
"type": [
"string",
"null"
],
"description": "Identifier of the app specific scope when the assignment scope is app specific. The scope of an assignment determines the set of resources for which the principal has been granted access. App scopes are scopes that are defined and understood by a resource application only. For the entitlement management provider, use this property to specify a catalog. For example, /AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997. Supports $filter (eq, in). For example, /roleManagement/entitlementManagement/roleAssignments?$filter=appScopeId eq '/AccessPackageCatalog/{catalog id}'."
},
"condition": {
"type": [
"string",
"null"
]
},
"directoryScopeId": {
"type": [
"string",
"null"
],
"description": "Identifier of the directory object representing the scope of the assignment. The scope of an assignment determines the set of resources for which the principal has been granted access. Directory scopes are shared scopes stored in the directory that are understood by multiple applications, unlike app scopes that are defined and understood by a resource application only. Supports $filter (eq, in)."
},
"principalId": {
"type": [
"string",
"null"
],
"description": "Identifier of the principal to which the assignment is granted. Supported principals are users, role-assignable groups, and service principals. Supports $filter (eq, in)."
},
"principalOrganizationId": {
"type": [
"string",
"null"
]
},
"roleDefinitionId": {
"type": [
"string",
"null"
],
"description": "Identifier of the unifiedRoleDefinition the assignment is for. Read-only. Supports $filter (eq, in)."
},
"appScope": {
"$ref": "#/$defs/microsoft.graph.appScope"
},
"directoryScope": {
"$ref": "#/$defs/microsoft.graph.directoryObject"
},
"principal": {
"$ref": "#/$defs/microsoft.graph.directoryObject"
},
"roleDefinition": {
"$ref": "#/$defs/microsoft.graph.unifiedRoleDefinition"
}
},
"additionalProperties": {
"type": "object"
}
}
],
"$defs": {
"microsoft.graph.appScope": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "appScope",
"type": "object",
"properties": {
"displayName": {
"type": [
"string",
"null"
],
"description": "Provides the display name of the app-specific resource represented by the app scope. Read-only."
},
"type": {
"type": [
"string",
"null"
],
"description": "Describes the type of app-specific resource represented by the app scope. Read-only."
}
},
"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.unifiedRoleDefinition": {
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "unifiedRoleDefinition",
"type": "object",
"properties": {
"description": {
"type": [
"string",
"null"
],
"description": "The description for the unifiedRoleDefinition. Read-only when isBuiltIn is true."
},
"displayName": {
"type": [
"string",
"null"
],
"description": "The display name for the unifiedRoleDefinition. Read-only when isBuiltIn is true. Required. Supports $filter (eq, in)."
},
"isBuiltIn": {
"type": [
"boolean",
"null"
],
"description": "Flag indicating whether the role definition is part of the default set included in Microsoft Entra or a custom definition. Read-only. Supports $filter (eq, in)."
},
"isEnabled": {
"type": [
"boolean",
"null"
],
"description": "Flag indicating whether the role is enabled for assignment. If false the role is not available for assignment. Read-only when isBuiltIn is true."
},
"resourceScopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of the scopes or permissions the role definition applies to. Currently only / is supported. Read-only when isBuiltIn is true. DO NOT USE. This will be deprecated soon. Attach scope to role assignment."
},
"rolePermissions": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.unifiedRolePermission"
},
"description": "List of permissions included in the role. Read-only when isBuiltIn is true. Required."
},
"templateId": {
"type": [
"string",
"null"
],
"description": "Custom template identifier that can be set when isBuiltIn is false but is read-only when isBuiltIn is true. This identifier is typically used if one needs an identifier to be the same across different directories."
},
"version": {
"type": [
"string",
"null"
],
"description": "Indicates version of the role definition. Read-only when isBuiltIn is true."
},
"inheritsPermissionsFrom": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.unifiedRoleDefinition"
},
"description": "Read-only collection of role definitions that the given role definition inherits from. Only Microsoft Entra built-in roles (isBuiltIn is true) support this attribute. Supports $expand.",
"x-ms-navigationProperty": true
}
},
"additionalProperties": {
"type": "object"
}
}
]
},
"microsoft.graph.unifiedRolePermission": {
"title": "unifiedRolePermission",
"type": "object",
"properties": {
"allowedResourceActions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Set of tasks that can be performed on a resource. Required."
},
"condition": {
"type": [
"string",
"null"
],
"description": "Optional constraints that must be met for the permission to be effective. Not supported for custom roles."
},
"excludedResourceActions": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Set of tasks that may not be performed on a resource. Not yet supported."
}
},
"additionalProperties": {
"type": "object"
}
}
}
}
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-unified-role-assignment"
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.