Edit

accessPackage: getApplicablePolicyRequirements

Namespace: microsoft.graph

Important

APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

In Microsoft Entra entitlement management, this action retrieves accessPackageAssignmentRequestRequirements objects for an accessPackage that the currently signed-in user can use to create an accessPackageAssignmentRequest. Each requirement object corresponds to an access package assignment policy that the currently signed-in user is allowed to request an assignment for.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

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. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) EntitlementMgmt-SubjectAccess.ReadWrite EntitlementManagement.Read.All, EntitlementManagement.ReadWrite.All
Delegated (personal Microsoft account) Not supported. Not supported.
Application Not supported. Not supported.

HTTP request

POST /identityGovernance/entitlementManagement/accessPackages/{id}/getApplicablePolicyRequirements

Function parameters

None.

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.

Request body

Don't supply a request body for this method.

Response

If successful, this method returns a 200 OK response code and an accessPackageAssignmentRequestRequirements collection in the response body, one object for each policy for which the user is an allowedRequestor. If there's a policy with no requirements, the accessPackageAssignmentRequestRequirements has false and null values. If there are no policies where the user is an allowedRequestor, an empty collection is returned instead.

Examples

Example 1: Retrieve a list of access package requirements

Request

The following example shows a request.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages/fb449cf8-3a59-4d86-bdfd-a1b7299681de/getApplicablePolicyRequirements

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "value": [
        {
            "policyId": "d6322c23-04d6-eb11-b22b-c8d9d21f4e9a",
            "policyDisplayName": "Initial Policy",
            "policyDescription": "Initial Policy",
            "isApprovalRequired": false,
            "isApprovalRequiredForExtension": false,
            "isRequestorJustificationRequired": false,
            "questions": [
                {
                    "@odata.type": "#microsoft.graph.textInputQuestion",
                    "id": "0fd349e2-a3a7-4712-af08-660f29c12b90",
                    "isRequired": true,
                    "isAnswerEditable": null,
                    "sequence": 0,
                    "isSingleLineQuestion": true,
                    "text": {
                        "defaultText": "What is your display name",
                        "localizedTexts": []
                    }
                }
            ],
            "existingAnswers": [],
            "schedule": []
        }
    ]
}

Example 2: Get policy requirements for verifiable credential status requirements

Request

The following example shows a request.

POST /identityGovernance/entitlementManagement/accessPackages(‘b15419bb-5ffc-ea11-b207-c8d9d21f4e9a’)/getApplicablePolicyRequirements

Response

The following example shows the response if it is the first time credentials are requested and the requestor didn't scanned the QR code or clicked the URL.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
        {
            "policyId": "a93f6641-bcba-ec11-9d14-001a7dda7113",
            "policyDisplayName": "VC Policy 1",
            "policyDescription": "VC Policy Description 1",
            "isApprovalRequiredForAdd": false,
            "isApprovalRequiredForUpdate": false,
            "isApprovalRequired": false,
            "isApprovalRequiredForExtension": false,
            "isCustomAssignmentScheduleAllowed": true,
            "allowCustomAssignmentSchedule": true,
            "isRequestorJustificationRequired": false,
            "schedule": {
                "startDateTime": null,
                "duration": "P365D",
                "stopDateTime": null,
                "expiration": {
                "endDateTime": null,
                "duration": "P365D",
                "type": "afterDuration"
                },
                "recurrence": null
            },
            "questions": [],
            "existingAnswers": [],
            "verifiableCredentialRequirementStatus": {
                "@odata.type": "#microsoft.graph.verifiableCredentialRequired",
                "expiryDateTime": "2022-05-10T23:32:47.8232759Z",
                "url": "openid://vc/?request_uri=https://beta.did.msidentity.com/v1.0/87654321-0000-0000-0000-000000000000/verifiablecredentials/request/e4ef27ca-eb8c-4b63-823b-3b95140eac11",
            }
        }
    ]
}

If the requestor has scanned the QR code or clicked the URL, the verifiableCredentialRequirementStatus property is in the following format.

"verifiableCredentialRequirementStatus": {
    "@odata.type": "#microsoft.graph.verifiableCredentialRetrieved",
    "expiryDateTime": "2022-05-10T23:32:47.8232759Z"
}

If the requestor presented valid credential, the verifiableCredentialRequirementStatus property is in the following format.

"verifiableCredentialRequirementStatus": {
    "@odata.type": "#microsoft.graph.verifiableCredentialVerified"
}