Policy Waiver Request REST API
This API can be used to create, retrieve, update and delete policy waivers requests.
Methods Supported:
GET
POST
PUT
GET Existing Waiver Requests
GET api/v2/policyWaiverRequests/{ownerType: application|organization|repository|repository_manager|repository_container}/{ownerId}/{policyWaiverRequestId}
Use this method to retrieve the existing waiver requests by specifying the policyWaiverRequestID.
Input Parameter | Required | Description |
---|---|---|
ownerType | Yes | The scope of the policy waiver request. Possible values are application, organization, repository, repository_manager or repository_ container. |
ownerId | Yes | The identifier for the ownerType provided above. |
policyWaiverRequestId | Yes | The identifier for the waiver request for which you want to retrieve the details. |
Example:
curl -u admin:admin123 -X GET http://localhost:8070/api/v2/policyWaiverRequests/application/68cc2742858f4bf7888bc34f9e95ad3d/3058258b647e45c8ad25b6b150297cca
Response:
The response contains the waiver request details for the specified policywaiverRequestId.
{ "policyName": "Security-High", "scopeOwnerType": "application", "scopeOwnerName": "Pub Test", "noteToReviewer": "Optional notes giving more details to the reviewer.", "componentIdentifier": { "coordinates": { "version": "1.0.0", "name": "croupier" }, "format": "pub" }, "scopeOwnerId": "68cc2742858f4bf7888bc34f9e95ad3d", "status": "REQUESTED", "policyId": "42cd0281505a4271a3cd46836e267665", "requesterName": "Admin BuiltIn", "policyWaiverRequestId": "3058258b647e45c8ad25b6b150297cca", "policyWaiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "vulnerabilityId": "CVE-2022-23540", "associatedPackageUrl": "pkg:pub/croupier@1.0.0", "constraintFactsJson": "[{\"constraintId\":\"7f1d44a9e880487ab6a818be8c5962a4\",\"constraintName\":\"High risk CVSS score\",\"operatorName\":\"AND\",\"conditionFacts\":[{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":0,\"summary\":\"Security Vulnerability Severity >= 7\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":0,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"},{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":1,\"summary\":\"Security Vulnerability Severity < 9\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":1,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"}]}]", "constraintFacts": [ { "conditionFacts": [ { "triggerJson": "{\"conditionIndex\":0,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)", "summary": "Security Vulnerability Severity >= 7", "conditionIndex": 0, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } },{ "triggerJson": "{\"conditionIndex\":1,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)", "summary": "Security Vulnerability Severity < 9", "conditionIndex": 1, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } }], "operatorName": "AND", "constraintId": "7f1d44a9e880487ab6a818be8c5962a4", "constraintName": "High risk CVSS score" }], "comment": "Optional comments explaining why the policy violation is waived.", "displayName": { "parts": [ { "value": "croupier", "field": "Name" },{ "value": " : " },{ "value": "1.0.0", "field": "Version" }], "name": "croupier" }, "hash": "794b85b341e1fa0a149a", "matcherStrategy": "EXACT_COMPONENT", "policyViolationId": "a0d65d48322c4056b1bd3d79ba7e696b", "reasonText": "Acknowledged violation", "expiryTime": "2025-12-26T00:00:00.000+0000", "requesterId": "admin", "requestTime": "2025-05-30T15:00:51.438+0000", "expireWhenRemediationAvailable": false }
POST for New Policy Waiver Request
POST api/v2/policyWaiverRequests/{ownerType: application|organization|repository|repository_manager|repository_container}/{ownerId}/policyViolation/{policyViolationId}
Use this method to create a new waiver request for a policy violation at the application, organization, or repository level.
Input Parameters | Required | Description |
---|---|---|
ownerType | Yes | The scope of the policy waiver request. Possible values are application, organization, repository, repository_manager or repository_ container. |
ownerId | Yes | The identifier for the ownerType provided above. |
policyViolationId | Yes | The policyViolationId for the policy violation on which you want to create a policy waiver request. Use the Policy Violation REST API or Report REST API to obtain the policyViolationId. |
The details for the policy waiver request can be included in the JSON payload as below
Payload Example:
{ "matcherStrategy": "ALL_COMPONENTS", "expiryTime": "2025-12-26T00:00:00.000+0000", "expireWhenRemediationAvailable": false, "waiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "comment": "Optional comments explaining why the policy violation is waived.", "noteToReviewer": "Optional notes giving more details to the reviewer." }
Property | Default Value | Description |
---|---|---|
matcherStrategy | Enumeration field. Possible values: EXACT_COMPONENT, ALL_COMPONENTS, ALL_VERSIONS | |
expiryTime | null | Optional, datetime to indicate expiry time of the waiver. |
expireWhenRemediationAvailable | false | Indicates if the policy waiver (if the policy waiver request is approved) should expire when a remediation is available. |
waiverReasonId | null | The id associated with the waiver reason. Use the Waiver Reason REST API for available waiver reasons and the corresponding ids. |
comment | null | Optional, describes the waiver request. |
noteToReviewer | null | Optional, additional details for the reviewer to justify the waiver request. |
Example:
curl -u admin:admin123 -X POST -H "Content-Type: application/json" -d '{"matcherStrategy": "ALL_COMPONENTS", "expiryTime": "2025-12-26T00:00:00.000+0000", "expireWhenRemediationAvailable": false, "waiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "comment": "Optional comments explaining why the policy violation is waived.", "noteToReviewer": "Optional notes giving more details to the reviewer."}' http://localhost:8070/api/v2/policyWaiverRequests/application/68cc2742858f4bf7888bc34f9e95ad3d/policyViolation/a0d65d48322c4056b1bd3d79ba7e696b
Response:
{ "policyName": "Security-High", "scopeOwnerType": "application", "scopeOwnerName": "Test App", "noteToReviewer": "Optional notes giving more details to the reviewer.", "componentIdentifier": null, "scopeOwnerId": "68cc2742858f4bf7888bc34f9e95ad3d", "status": "REQUESTED", "policyId": "42cd0281505a4271a3cd46836e267665", "requesterName": "Admin BuiltIn", "policyWaiverRequestId": "3058258b647e45c8ad25b6b150297cca", "policyWaiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "vulnerabilityId": "CVE-2022-23540", "associatedPackageUrl": null, "constraintFactsJson": "[{\"constraintId\":\"7f1d44a9e880487ab6a818be8c5962a4\",\"constraintName\":\"High risk CVSS score\",\"operatorName\":\"AND\",\"conditionFacts\":[{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":0,\"summary\":\"Security Vulnerability Severity >= 7\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":0,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"},{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":1,\"summary\":\"Security Vulnerability Severity < 9\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":1,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"}]}]", "constraintFacts": [ { "conditionFacts": [ { "triggerJson": "{\"conditionIndex\":0,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)", "summary": "Security Vulnerability Severity >= 7", "conditionIndex": 0, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } },{ "triggerJson": "{\"conditionIndex\":1,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)", "summary": "Security Vulnerability Severity < 9", "conditionIndex": 1, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } }], "operatorName": "AND", "constraintId": "7f1d44a9e880487ab6a818be8c5962a4", "constraintName": "High risk CVSS score" }], "comment": "Optional comments explaining why the policy violation is waived.", "displayName": null, "hash": null, "matcherStrategy": "ALL_COMPONENTS", "policyViolationId": "a0d65d48322c4056b1bd3d79ba7e696b", "reasonText": "Acknowledged violation", "expiryTime": "2025-12-26T00:00:00.000+0000", "requesterId": "admin", "requestTime": "2025-05-30T15:00:51.438+0000", "expireWhenRemediationAvailable": false }
POST to Review (Approve or Reject) a Policy Waiver Request
POST api/v2/policyWaiverRequests/{ownerType: application|organization|repository|repository_manager|repository_container}/{ownerId}/review/{policyWaiverRequestId}
Use this method to approve or reject a request for a policy violation waiver.
Input Parameters | Required | Description |
---|---|---|
ownerType | Yes | The scope of the policy waiver request. Possible values are application, organization, repository, repository_manager or repository_ container. |
ownerId | Yes | The identifier for the ownerType provided above. |
policyWaiverRequestId | Yes | The id of the policy waiver request to be approved or rejected. |
The details for the policy waiver request that is being approved or rejected, can be included in the JSON payload as below:
Payload :
Property | Default Value | Description |
---|---|---|
status | Possible values are APPROVED or REJECTED | |
rejectionReason | null | Reason for rejection when status is REJECTED |
matcherStrategy | Enumeration field. Possible values are EXACT_COMPONENT, ALL_COMPONENTS, ALL_VERSIONS in case status is APPROVED | |
expiryTime | null | Optional, datetime to indicate expiry time of the waiver. |
expireWhenRemediationAvailable | false | Indicates if the policy waiver (if the policy waiver request is approved) should expire when a remediation is available. |
waiverReasonId | null | The id associated with the waiver reason. Use the Waiver Reason REST API for available waiver reasons and the corresponding ids. |
comment | null | Optional, describes the waiver request. |
Example:
curl -u admin:admin123 -X POST -H "Content-Type: application/json" -d '{"status": "APPROVED", "matcherStrategy": "EXACT_COMPONENT", "expiryTime": "2025-12-26T00:00:00.000+0000", "expireWhenRemediationAvailable": false, "waiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "comment": "Optional comments explaining why the policy violation is waived."}' http://localhost:8070/api/v2/policyWaiverRequests/application/68cc2742858f4bf7888bc34f9e95ad3d/review/3058258b647e45c8ad25b6b150297cca
Response:
Note that the status field is APPROVED for this waiver request.
{ "policyName": "Security-High", "scopeOwnerType": "application", "scopeOwnerName": "Test App", "noteToReviewer": "Optional notes giving more details to the reviewer.", "componentIdentifier": { "coordinates": { "version": "1.0.0", "name": "croupier" }, "format": "pub" }, "scopeOwnerId": "68cc2742858f4bf7888bc34f9e95ad3d", "status": "APPROVED", "policyId": "42cd0281505a4271a3cd46836e267665", "requesterName": "Admin BuiltIn", "policyWaiverRequestId": "3058258b647e45c8ad25b6b150297cca", "policyWaiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "vulnerabilityId": "CVE-2022-23540", "reviewerName": "Admin BuiltIn", "associatedPackageUrl": "pkg:pub/croupier@1.0.0", "constraintFactsJson": "[{\"constraintId\":\"7f1d44a9e880487ab6a818be8c5962a4\",\"constraintName\":\"High risk CVSS score\",\"operatorName\":\"AND\",\"conditionFacts\":[{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":0,\"summary\":\"Security Vulnerability Severity >= 7\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":0,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"},{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":1,\"summary\":\"Security Vulnerability Severity < 9\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":1,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"}]}]", "reviewerId": "admin", "constraintFacts": [ { "conditionFacts": [ { "triggerJson": "{\"conditionIndex\":0,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)", "summary": "Security Vulnerability Severity >= 7", "conditionIndex": 0, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } },{ "triggerJson": "{\"conditionIndex\":1,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)", "summary": "Security Vulnerability Severity < 9", "conditionIndex": 1, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } }], "operatorName": "AND", "constraintId": "7f1d44a9e880487ab6a818be8c5962a4", "constraintName": "High risk CVSS score" }], "comment": "Optional comments explaining why the policy violation is waived.", "displayName": { "parts": [ { "value": "croupier", "field": "Name" },{ "value": " : " },{ "value": "1.0.0", "field": "Version" }], "name": "croupier" }, "hash": "794b85b341e1fa0a149a", "matcherStrategy": "EXACT_COMPONENT", "policyViolationId": "a0d65d48322c4056b1bd3d79ba7e696b", "reasonText": "Acknowledged violation", "expiryTime": "2025-12-26T00:00:00.000+0000", "requesterId": "admin", "requestTime": "2025-05-30T15:00:51.438+0000", "expireWhenRemediationAvailable": false }
PUT to Update a Waiver Request
PUT api/v2/policyWaiverRequests/{ownerType: application|organization|repository|repository_manager|repository_container}/{ownerId}/{policyWaiverRequestId}
Use this method to update an existing waiver request, by specifying the waiver request Id.
Input Parameters | Required | Description |
---|---|---|
ownerType | Yes | The scope of the policy waiver request. Possible values are application, organization, repository, repository_manager, repository_container. |
ownerId | Yes | The id for the ownerType provided above. |
policyWaiverRequestId | Yes | The id of the policy waiver request to be updated. |
The details to be updated for the policy waiver request can be included in the JSON payload.
See description for the JSON payload.
Payload Example:
{ "matcherStrategy": "EXACT_COMPONENT", "expiryTime": "2025-12-26T00:00:00.000+0000", "expireWhenRemediationAvailable": false, "waiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "comment": "Optional comments explaining why the policy violation is waived.", "noteToReviewer": "Optional notes giving more details to the reviewer." }
Example:
curl -u admin:admin123 -X PUT -H "Content-Type: application/json" -d '{"matcherStrategy": "EXACT_COMPONENT", "expiryTime": "2025-12-26T00:00:00.000+0000", "expireWhenRemediationAvailable": false, "waiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "comment": "Optional comments explaining why the policy violation is waived.", "noteToReviewer": "Optional notes giving more details to the reviewer."}' http://localhost:8070/api/v2/policyWaiverRequests/application/68cc2742858f4bf7888bc34f9e95ad3d/3058258b647e45c8ad25b6b150297cca
Response:
{ "policyName": "Security-High", "scopeOwnerType": "application", "scopeOwnerName": "Test App", "noteToReviewer": "Optional notes giving more details to the reviewer.", "componentIdentifier": { "coordinates": { "version": "1.0.0", "name": "croupier" }, "format": "pub" }, "scopeOwnerId": "68cc2742858f4bf7888bc34f9e95ad3d", "status": "REQUESTED", "policyId": "42cd0281505a4271a3cd46836e267665", "requesterName": "Admin BuiltIn", "policyWaiverRequestId": "3058258b647e45c8ad25b6b150297cca", "policyWaiverReasonId": "9b704ef5bc064fc29d7fe08a251ee9a6", "vulnerabilityId": "CVE-2022-23540", "associatedPackageUrl": "pkg:pub/croupier@1.0.0", "constraintFactsJson": "[{\"constraintId\":\"7f1d44a9e880487ab6a818be8c5962a4\",\"constraintName\":\"High risk CVSS score\",\"operatorName\":\"AND\",\"conditionFacts\":[{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":0,\"summary\":\"Security Vulnerability Severity >= 7\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":0,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"},{\"conditionTypeId\":\"SecurityVulnerabilitySeverity\",\"conditionIndex\":1,\"summary\":\"Security Vulnerability Severity < 9\",\"reason\":\"Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)\",\"reference\":{\"value\":\"CVE-2022-23540\",\"type\":\"SECURITY_VULNERABILITY_REFID\"},\"triggerJson\":\"{\\\"conditionIndex\\\":1,\\\"trigger\\\":{\\\"refId\\\":\\\"CVE-2022-23540\\\",\\\"severity\\\":7.6}}\"}]}]", "constraintFacts": [ { "conditionFacts": [ { "triggerJson": "{\"conditionIndex\":0,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity >= 7 (severity = 7.6)", "summary": "Security Vulnerability Severity >= 7", "conditionIndex": 0, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } },{ "triggerJson": "{\"conditionIndex\":1,\"trigger\":{\"refId\":\"CVE-2022-23540\",\"severity\":7.6}}", "reason": "Found security vulnerability CVE-2022-23540 with severity < 9 (severity = 7.6)", "summary": "Security Vulnerability Severity < 9", "conditionIndex": 1, "conditionTypeId": "SecurityVulnerabilitySeverity", "reference": { "value": "CVE-2022-23540", "type": "SECURITY_VULNERABILITY_REFID" } }], "operatorName": "AND", "constraintId": "7f1d44a9e880487ab6a818be8c5962a4", "constraintName": "High risk CVSS score" }], "comment": "Optional comments explaining why the policy violation is waived.", "displayName": { "parts": [ { "value": "croupier", "field": "Name" },{ "value": " : " },{ "value": "1.0.0", "field": "Version" }], "name": "croupier" }, "hash": "794b85b341e1fa0a149a", "matcherStrategy": "EXACT_COMPONENT", "policyViolationId": "a0d65d48322c4056b1bd3d79ba7e696b", "reasonText": "Acknowledged violation", "expiryTime": "2025-12-26T00:00:00.000+0000", "requesterId": "admin", "requestTime": "2025-05-30T15:00:51.438+0000", "expireWhenRemediationAvailable": false }