|
| 1 | +--- |
| 2 | +title: "Create m365CapabilityBase for default policy" |
| 3 | +description: "Create a new Microsoft 365 cross-tenant capability for the default cross-tenant access policy." |
| 4 | +author: "lasharma" |
| 5 | +ms.date: 04/23/2026 |
| 6 | +ms.localizationpriority: medium |
| 7 | +ms.subservice: "entra-sign-in" |
| 8 | +doc_type: apiPageType |
| 9 | +--- |
| 10 | + |
| 11 | +# Create m365CapabilityBase for default policy |
| 12 | + |
| 13 | +Namespace: microsoft.graph |
| 14 | + |
| 15 | +[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)] |
| 16 | + |
| 17 | +Create a new Microsoft 365 cross-tenant capability for the [default cross-tenant access policy](../resources/crosstenantaccesspolicyconfigurationdefault.md). The **@odata.type** property in the request body is required to specify which type of capability to create. |
| 18 | + |
| 19 | +## Permissions |
| 20 | + |
| 21 | +Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions [only if your app requires it](/graph/permissions-overview#best-practices-for-using-microsoft-graph-permissions). For details about delegated and application permissions, see [Permission types](/graph/permissions-overview#permission-types). To learn more about these permissions, see the [permissions reference](/graph/permissions-reference). |
| 22 | + |
| 23 | +<!-- { |
| 24 | + "blockType": "permissions", |
| 25 | + "name": "crosstenantaccesspolicyconfigurationdefault-post-m365capabilities-permissions" |
| 26 | +} |
| 27 | +--> |
| 28 | +[!INCLUDE [permissions-table](../includes/permissions/crosstenantaccesspolicyconfigurationdefault-post-m365capabilities-permissions.md)] |
| 29 | + |
| 30 | +## HTTP request |
| 31 | + |
| 32 | +<!-- { |
| 33 | + "blockType": "ignored" |
| 34 | +} |
| 35 | +--> |
| 36 | +``` http |
| 37 | +POST /policies/crossTenantAccessPolicy/default/m365Capabilities |
| 38 | +``` |
| 39 | + |
| 40 | +## Request headers |
| 41 | + |
| 42 | +|Name|Description| |
| 43 | +|:---|:---| |
| 44 | +|Authorization|Bearer {token}. Required. Learn more about [authentication and authorization](/graph/auth/auth-concepts).| |
| 45 | +|Content-Type|application/json. Required.| |
| 46 | + |
| 47 | +## Request body |
| 48 | + |
| 49 | +In the request body, supply a JSON representation of a derived type of [m365CapabilityBase](../resources/m365capabilitybase.md). The **@odata.type** property is required to specify the capability type. |
| 50 | + |
| 51 | +You can specify the following properties when you create an **m365CapabilityBase** capability. |
| 52 | + |
| 53 | +|Property|Type|Description| |
| 54 | +|:---|:---|:---| |
| 55 | +|@odata.type|String|The type of capability to create. Required. Example values: `#microsoft.graph.crossTenantOpenProfileCard`, `#microsoft.graph.crossTenantMigration`.| |
| 56 | +|inboundAccess|[m365CapabilityInboundAccess](../resources/m365capabilityinboundaccess.md)|The inbound access settings for the capability. Required.| |
| 57 | + |
| 58 | +## Response |
| 59 | + |
| 60 | +If successful, this method returns a `201 Created` response code and the created capability object in the response body. |
| 61 | + |
| 62 | +## Examples |
| 63 | + |
| 64 | +### Example 1: Create a cross-tenant open profile card capability |
| 65 | +The following example shows how to create a [cross-tenant open profile card](../resources/crosstenantopenprofilecard.md) capability. |
| 66 | +#### Request |
| 67 | + |
| 68 | +The following example shows a request. |
| 69 | +<!-- { |
| 70 | + "blockType": "request", |
| 71 | + "name": "create_crosstenantopenprofilecard" |
| 72 | +} |
| 73 | +--> |
| 74 | +``` http |
| 75 | +POST https://graph.microsoft.com/beta/policies/crossTenantAccessPolicy/default/m365Capabilities |
| 76 | +Content-Type: application/json |
| 77 | +
|
| 78 | +{ |
| 79 | + "@odata.type": "#microsoft.graph.crossTenantOpenProfileCard", |
| 80 | + "inboundAccess": { |
| 81 | + "isAllowed": true, |
| 82 | + "resourceScopes": { |
| 83 | + "included": [ |
| 84 | + { |
| 85 | + "resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74", |
| 86 | + "resourceType": "group" |
| 87 | + } |
| 88 | + ], |
| 89 | + "excluded": [ |
| 90 | + { |
| 91 | + "resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e00", |
| 92 | + "resourceType": "group" |
| 93 | + } |
| 94 | + ] |
| 95 | + } |
| 96 | + } |
| 97 | +} |
| 98 | +``` |
| 99 | + |
| 100 | +#### Response |
| 101 | + |
| 102 | +The following example shows the response. |
| 103 | +>**Note:** The response object shown here might be shortened for readability. |
| 104 | +<!-- { |
| 105 | + "blockType": "response", |
| 106 | + "truncated": true, |
| 107 | + "@odata.type": "microsoft.graph.crossTenantOpenProfileCard" |
| 108 | +} |
| 109 | +--> |
| 110 | +``` http |
| 111 | +HTTP/1.1 201 Created |
| 112 | +Content-Type: application/json |
| 113 | +
|
| 114 | +{ |
| 115 | + "@odata.type": "#microsoft.graph.crossTenantOpenProfileCard", |
| 116 | + "name": "crossTenantOpenProfileCard", |
| 117 | + "lastModifiedDateTime": "2026-01-15T10:04:11.4531504Z", |
| 118 | + "inboundAccess": { |
| 119 | + "isAllowed": true, |
| 120 | + "resourceScopes": { |
| 121 | + "included": [ |
| 122 | + { |
| 123 | + "resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74", |
| 124 | + "resourceType": "group" |
| 125 | + } |
| 126 | + ], |
| 127 | + "excluded": [ |
| 128 | + { |
| 129 | + "resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e00", |
| 130 | + "resourceType": "group" |
| 131 | + } |
| 132 | + ] |
| 133 | + } |
| 134 | + } |
| 135 | +} |
| 136 | +``` |
| 137 | + |
| 138 | +### Example 2: Create a cross-tenant migration capability |
| 139 | +The following example shows how to create a [cross-tenant migration](../resources/crosstenantmigration.md) capability. |
| 140 | +#### Request |
| 141 | + |
| 142 | +The following example shows a request. |
| 143 | +<!-- { |
| 144 | + "blockType": "request", |
| 145 | + "name": "create_crosstenantmigration" |
| 146 | +} |
| 147 | +--> |
| 148 | +``` http |
| 149 | +POST https://graph.microsoft.com/beta/policies/crossTenantAccessPolicy/default/m365Capabilities |
| 150 | +Content-Type: application/json |
| 151 | +
|
| 152 | +{ |
| 153 | + "@odata.type": "#microsoft.graph.crossTenantMigration", |
| 154 | + "inboundAccess": { |
| 155 | + "isAllowed": true, |
| 156 | + "resourceScopes": { |
| 157 | + "included": [ |
| 158 | + { |
| 159 | + "resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74", |
| 160 | + "resourceType": "group" |
| 161 | + } |
| 162 | + ], |
| 163 | + "excluded": [] |
| 164 | + } |
| 165 | + } |
| 166 | +} |
| 167 | +``` |
| 168 | + |
| 169 | +#### Response |
| 170 | + |
| 171 | +The following example shows the response. |
| 172 | +>**Note:** The response object shown here might be shortened for readability. |
| 173 | +<!-- { |
| 174 | + "blockType": "response", |
| 175 | + "truncated": true, |
| 176 | + "@odata.type": "microsoft.graph.crossTenantMigration" |
| 177 | +} |
| 178 | +--> |
| 179 | +``` http |
| 180 | +HTTP/1.1 201 Created |
| 181 | +Content-Type: application/json |
| 182 | +
|
| 183 | +{ |
| 184 | + "@odata.type": "#microsoft.graph.crossTenantMigration", |
| 185 | + "name": "crossTenantMigration", |
| 186 | + "lastModifiedDateTime": "2026-01-15T10:08:08.8321956Z", |
| 187 | + "inboundAccess": { |
| 188 | + "isAllowed": true, |
| 189 | + "resourceScopes": { |
| 190 | + "included": [ |
| 191 | + { |
| 192 | + "resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74", |
| 193 | + "resourceType": "group" |
| 194 | + } |
| 195 | + ], |
| 196 | + "excluded": [] |
| 197 | + } |
| 198 | + } |
| 199 | +} |
| 200 | +``` |
0 commit comments