Skip to content

Commit edccf8b

Browse files
PrathamRathiPratham Rathi
andauthored
Update apis (#14823)
* update api to v1 * change APIs to v1 --------- Co-authored-by: Pratham Rathi <prathamrathi@microsoft.com>
1 parent 73251f5 commit edccf8b

3 files changed

Lines changed: 25 additions & 22 deletions

File tree

application-workloads/identity-governance/byod-logic-app/README.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -201,23 +201,22 @@ After deploying the Logic App and assigning the required API permissions, you ne
201201

202202
3. **Link the Logic App** — When configuring the CDPR, select the **Resource Group** where you deployed the Logic App, then pick the Logic App by name from the dropdown. This binds the Logic App's HTTP trigger endpoint as the callback URL for the BYOD flow.
203203

204-
4. **Create an Access Package** — Still within the same catalog, create (or update) an **Access Package** and add the CDPR as a resource. Configure an **Access Review** policy on the package. When the Access Review runs, Entitlement Management will automatically call the Logic App with the appropriate trigger payload (`catalogId`, `resourceId`, and `data`) to start the BYOD data upload.
205-
206204
### Steps (Microsoft Graph API)
207205

208-
You can also attach the Logic App to a CDPR programmatically using the Microsoft Graph beta API. All requests below use the endpoint `https://graph.microsoft.com/beta` and require a bearer token with the `EntitlementManagement.ReadWrite.All` permission.
206+
You can also attach the Logic App to a CDPR programmatically using the Microsoft Graph API. All requests below use the endpoint `https://graph.microsoft.com/v1.0` and require a bearer token with the `EntitlementManagement.ReadWrite.All` permission.
209207

210208
#### 1. Create a catalog (skip if you already have one)
211209

212210
```http
213-
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs
211+
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/catalogs
214212
Content-Type: application/json
215213
Authorization: Bearer <token>
216214
217215
{
218216
"displayName": "My BYOD Catalog",
219217
"description": "Catalog for BYOD resources",
220-
"isExternallyVisible": false
218+
"state": "published",
219+
"isExternallyVisible": true
221220
}
222221
```
223222

@@ -228,13 +227,13 @@ Save the `id` from the response — this is your `catalogId`.
228227
This creates the Custom Data Provided Resource and configures the Logic App as the notification endpoint in a single request:
229228

230229
```http
231-
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
230+
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
232231
Content-Type: application/json
233232
Authorization: Bearer <token>
234233
235234
{
236-
"catalogId": "<catalogId>",
237-
"accessPackageResource": {
235+
"requestType": "adminAdd",
236+
"resource": {
238237
"@odata.type": "#microsoft.graph.customDataProvidedResource",
239238
"displayName": "BYOD Data Provider",
240239
"description": "Uploads external data via Logic App for Access Reviews",
@@ -248,7 +247,9 @@ Authorization: Bearer <token>
248247
"url": "<logic-app-trigger-url>"
249248
}
250249
},
251-
"requestType": "AdminAdd"
250+
"catalog": {
251+
"id": "<catalogId>"
252+
}
252253
}
253254
```
254255

@@ -266,13 +267,13 @@ Authorization: Bearer <token>
266267
If you already created a CDPR without a notification endpoint, you can update it:
267268

268269
```http
269-
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
270+
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
270271
Content-Type: application/json
271272
Authorization: Bearer <token>
272273
273274
{
274-
"catalogId": "<catalogId>",
275-
"accessPackageResource": {
275+
"requestType": "adminUpdate",
276+
"resource": {
276277
"@odata.type": "#microsoft.graph.customDataProvidedResource",
277278
"displayName": "<existing-cdpr-display-name>",
278279
"description": "<existing-cdpr-description>",
@@ -286,16 +287,18 @@ Authorization: Bearer <token>
286287
"url": "<logic-app-trigger-url>"
287288
}
288289
},
289-
"requestType": "AdminUpdate"
290+
"catalog": {
291+
"id": "<catalogId>"
292+
}
290293
}
291294
```
292295

293-
> **Note:** The `requestType` is `"AdminUpdate"` instead of `"AdminAdd"`. The `originId`, `displayName`, and `description` must match the existing CDPR.
296+
> **Note:** The `requestType` is `"adminUpdate"` instead of `"adminAdd"`. The `originId`, `displayName`, and `description` must match the existing CDPR.
294297
295298
#### 3. Verify the CDPR was created
296299

297300
```http
298-
GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/<catalogId>/accessPackageResources?$filter=originSystem eq 'CustomDataProvidedResource'
301+
GET https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/catalogs/<catalogId>/resources?$filter=originSystem eq 'CustomDataProvidedResource'
299302
Authorization: Bearer <token>
300303
```
301304

application-workloads/identity-governance/byod-logic-app/azuredeploy.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@
302302
},
303303
"type": "Http",
304304
"inputs": {
305-
"uri": "@{parameters('graphEndpoint')}/beta/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/accessPackageResources/@{triggerBody()?['resourceId']}/uploadSessions",
305+
"uri": "@{parameters('graphEndpoint')}/v1.0/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/resources/@{triggerBody()?['resourceId']}/uploadSessions",
306306
"method": "POST",
307307
"headers": {
308308
"Accept": "application/json",
@@ -434,7 +434,7 @@
434434
},
435435
"type": "Http",
436436
"inputs": {
437-
"uri": "@{parameters('graphEndpoint')}/beta/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/accessPackageResources/@{triggerBody()?['resourceId']}/uploadSessions/@{outputs('Compose_Session_Id')}/uploadFile",
437+
"uri": "@{parameters('graphEndpoint')}/v1.0/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/resources/@{triggerBody()?['resourceId']}/uploadSessions/@{outputs('Compose_Session_Id')}/uploadFile",
438438
"method": "POST",
439439
"headers": {
440440
"Content-Type": "multipart/form-data; boundary=testboundary"
@@ -486,7 +486,7 @@
486486
},
487487
"type": "Http",
488488
"inputs": {
489-
"uri": "@{parameters('graphEndpoint')}/beta/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/accessPackageResources/@{triggerBody()?['resourceId']}/uploadSessions/@{outputs('Compose_Session_Id')}",
489+
"uri": "@{parameters('graphEndpoint')}/v1.0/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/resources/@{triggerBody()?['resourceId']}/uploadSessions/@{outputs('Compose_Session_Id')}",
490490
"method": "PATCH",
491491
"headers": {
492492
"Accept": "application/json"
@@ -513,7 +513,7 @@
513513
},
514514
"type": "Http",
515515
"inputs": {
516-
"uri": "@{parameters('graphEndpoint')}/beta/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/accessPackageResources/@{triggerBody()?['resourceId']}/uploadSessions/@{outputs('Compose_Session_Id')}",
516+
"uri": "@{parameters('graphEndpoint')}/v1.0/identityGovernance/catalogs/@{triggerBody()?['catalogId']}/resources/@{triggerBody()?['resourceId']}/uploadSessions/@{outputs('Compose_Session_Id')}",
517517
"method": "PATCH",
518518
"headers": {
519519
"Accept": "application/json"

application-workloads/identity-governance/byod-logic-app/metadata.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
"description": "This template deploys a request-triggered Logic App for Microsoft Entra Entitlement Management with AADPOP authentication policies for secure webhook-based integration.",
66
"summary": "Deploy a request-triggered Logic App for Microsoft Entra Entitlement Management BYOD scenarios.",
77
"githubUsername": "prathamrathi",
8-
"dateUpdated": "2026-06-02",
8+
"dateUpdated": "2026-07-23",
99
"environments": [
1010
"AzureCloud"
1111
],
1212
"testResult": {
1313
"deployments": {
1414
"templateFileName": "azuredeploy.json",
15-
"correlationId": "c1aa69a5-4c58-488b-be2f-009e87a11853",
16-
"deploymentName": "Microsoft.Template-20260602155251"
15+
"correlationId": "45fb9d94-d822-40f9-a08c-389b260d147c",
16+
"deploymentName": "CustomDeployment-20260723113556"
1717
}
1818
}
1919
}

0 commit comments

Comments
 (0)