--- title: Digital Product Release API description: The Digital Product Release API provides endpoints to manage releases and policy compliance.Retrieves release bundle details.Gets policy execution details by product for the current phase of a release.Creates an enhancement for a product or service.Creates a release.Creates a key date for a release.Executes mapped policies for the current phase of a release.Adds related tasks to a release.Creates a release calendar.Completes the current phase of a release.Creates a release readiness target or a set of recurring release readiness targets.Changes the readiness target for a release. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/digital-product-release-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 35 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # Digital Product Release API The Digital Product Release API provides endpoints to manage releases and policy compliance. This API requires the Digital Product Release \(sn\_dpr\) application, which is available on the ServiceNow Store. For more information, see [Digital Product Release](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/dpr-landing-page.md). **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md) ## Digital Product Release - GET /sn\_dpr/digital\_product\_release/bundle/\{sysId\} Retrieves release bundle details. This endpoint can be extended to customize the fields and aggregated data returned in the response body. The default functionality of this endpoint is defined by the getReleaseBundleDetails\(\) method in the ReleaseBundleSNC script include. To customize the functionality, override the getReleaseBundleDetails\(\) method in the ReleaseBundle script include, which extends ReleaseBundleSNC. By default, aggregated data for enhancements, policies, release states, and task counts can be included in the response body. To access this endpoint, the caller must have one of the following roles. - sn\_dpr\_model.product\_manager - sn\_dpr\_model.release\_admin - sn\_dpr\_model.release\_coordinator - sn\_dpr\_model.release\_user ### URL format Versioned URL: `/api/sn_dpr/{api_version}/digital_product_release/bundle/{sysId}` Default URL: `/api/sn_dpr/digital_product_release/bundle/{sysId}` ### Supported request parameters
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| sysId | Sys\_id of the release bundle.Table: Release Bundle \[sn\_dpr\_model\_release\_bundle\] Data type: String |
| Name | Description |
|---|---|
| sendAggregation | Flag that indicates whether to include aggregated data for enhancements, policies, release states, and task counts in the response body.Data type: Boolean Valid values: - true: Return aggregates for enhancements, policies, release states, and task counts. - false: Don't return aggregates. Default: false |
| Name | Description |
|---|---|
| aggregates | Aggregated data for enhancements, policies, release states, and task counts. This parameter is only included in the response body if the **sendAggregation** query parameter is set to `true` in the request. ``` "aggregates": { "enhancementAggregate": {Object}, "policyAggregate": {Object}, "releaseAggregate": {Object}, "taskAggregate": {Object} } ``` Data type: Object |
| aggregates.enhancementAggregate | Lists the number of enhancements in each state.Data type: Object ``` "enhancementAggregate": { "Closed": Number, "Open": Number } ``` |
| aggregates.policyAggregate | Lists the number of policies in each execution status. Data type: Object ``` "policyAggregate": { "Executed": Number, "Pending": Number } ``` |
| aggregates.releaseAggregate | Lists the number of releases in each state. States are only included in this object if at least one release is in that state.Data type: Object ``` "releaseAggregate": { "Cancelled": Number, "Completed": Number, "Draft": Number, "In Progress": Number, "Pending": Number, "Restarting": Number, "Review": Number } ``` |
| aggregates.taskAggregate | Lists the number of tasks that are approved and not approved.Data type: Object ``` "taskAggregate": { "approval": Number, "nonApproval": Number } ``` |
| name | Name of the release bundle.Data type: String |
| owner | Owner of the release bundle.Data type: String |
| releases | Data about the releases included in the bundle.``` "releases": { "count": Number, "list": [Array] } ``` Data type: Object |
| releases.count | Number of releases included in the bundle.Data type: Number |
| releases.list | List of sys\_ids of releases included in the bundle.Table: Release \[sn\_dpr\_model\_release\] Data type: Array |
| sysId | Sys\_id of the release bundle.Table: Release Bundle \[sn\_dpr\_model\_release\_bundle\] Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| releaseId | Sys\_id of the release.Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| Name | Description |
|---|---|
| result | Object containing a compliance summary and product policy details.Data type: Object ``` "result": { "overallSummary": {Object}, "products": [Array] } ``` |
| result.overallSummary | Policy compliance summary for the current release phase.Data type: Object ``` "overallSummary": { "compliant": Boolean, "compliantCount": Number, "currentPhase": "String", "nonCompliantCount": Number, "timestamp": "String", "totalCount": Number } ``` |
| result.overallSummary.compliant | Flag that indicates whether all evaluated policies for the current release phase are compliant.Valid values: - true: All evaluated policies are compliant. - false: Not all evaluated policies are compliant. Data type: Boolean |
| result.overallSummary.compliantCount | Number of compliant policies.Data type: Number |
| result.overallSummary.currentPhase | Name of the current release phase.Data type: String |
| result.overallSummary.nonCompliantCount | Number of non-compliant policies.Data type: Number |
| result.overallSummary.timestamp | Date and time that policy compliance was last evaluated.Data type: String |
| result.overallSummary.totalCount | Total number of policies evaluated.Data type: Number |
| result.products | List of product-level compliance results. Each object in the array represents a product. Data type: Array ``` "products": [ { "policyExecutionDetails": [Array], "productId": "String", "productName": "String", "productVersion": "String", "summary": {Object} } ] ``` |
| result.products.policyExecutionDetails | List of executed policies with compliance results.Each object in the array represents a policy. Data type: Array ``` "policyExecutionDetails": [ { "executionOutput": "Check sum OK; 0 violations. Execution log id: e23-9a.", "lastRunAt": "2025-09-26T08:30:00Z", "name": "Policy Name 1", "policyId": "policyVersionSysId1", "reason": "All checks passed", "status": "compliant" } ] ``` |
| result.products.policyExecutionDetails.executionOutput | Output message produced by the policy execution.Data type: String |
| result.products.policyExecutionDetails.lastRunAt | Date and time the policy was last evaluated for compliance.Data type: String |
| result.products.policyExecutionDetails.name | Display name of the policy.Data type: String |
| result.products.policyExecutionDetails.policyId | Sys\_id of the policy.Table: Policy \[sn\_pace\_policy\] Data type: String |
| result.products.policyExecutionDetails.reason | Message explaining the reason the policy is compliant or non-compliant.Data type: String |
| result.products.policyExecutionDetails.status | Compliance state for the policy.Valid values: - compliant - non\_compliant - not\_run Data type: String |
| result.products.productId | Sys\_id of the product.Table: Product Model \[cmdb\_model\] Data type: String |
| result.products.productName | Display name of the product.Data type: String |
| result.products.productVersion | Version associated with the product for the current release.Data type: String |
| result.products.summary | Compliance results for the product.Data type: Object ``` "summary": { "compliant": Boolean, "compliantCount": Number, "nonCompliantCount": Number, "totalCount": Number } ``` |
| result.products.summary.compliant | Flag that indicates whether all policies for the product are compliant.Valid values: - true: All policies are compliant. - false: Not all policies are compliant. Data type: Boolean |
| result.products.summary.compliantCount | Number of compliant policies.Data type: Number |
| result.products.summary.nonCompliantCount | Number of non-compliant policies.Data type: Number |
| result.products.summary.totalCount | Total number of policies evaluated for the product.Data type: Number |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| description | Description of the enhancement.Data type: String |
| name | Required. Name of the enhancement.Data type: String |
| priority | Priority of the enhancement.Valid values: - high - medium - low Default: medium Data type: String |
| productFeatureSysId | Sys\_id of the product feature to associate with the enhancement.Table: Product Feature \[sn\_dpr\_model\_product\_feature\] Data type: String |
| productSysId | Required. Sys\_id of the product or service to associate with the enhancement.Table: Application Model \[cmdb\_application\_product\_model\] or Service Model \[cmdb\_service\_product\_model\] Data type: String |
| releaseSysId | Sys\_id of the release to add the enhancement.The release must be associated with the version provided in the **versionSysId** parameter. Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| versionSysId | Sys\_id of the product version or service version to associate with the enhancement.The version must be for the same product or service provided in the **productSysId** parameter. Table: Software Model \[cmdb\_software\_product\_model\] or Service Offering Model \[cmdb\_service\_offering\_model\] Data type: String |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "error": Boolean, "sysId": "String" } ``` |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.sysId | Sys\_id of the created enhancement.Table: Product Enhancement \[sn\_dpr\_model\_product\_enhancement\] Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| autoCreateIncludedVersions | List of child release versions to automatically create.Data type: Array ``` "autoCreateIncludedVersions": [ { "product": "String", "version": "String" } ] ``` |
| autoCreateIncludedVersions.product | Sys\_id of the product to use for the version.Table: Product Model \[cmdb\_model\] Data type: String |
| autoCreateIncludedVersions.version | Name of the version.Data type: String |
| autoCreateVersionName | Name of the version to automatically create.Data type: String |
| draftReleaseId | Sys\_id of the draft release.Use this parameter to move a release from the Draft state to In Progress. Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| includedVersions | List of sys\_ids of existing product versions to include in the release.Table: System Component Model \[cmdb\_sw\_component\_model\] Data type: Array |
| isDraftRelease | Flag that indicates whether to create the release in the Draft state. Valid values: - true: The release is created with the state set to Draft. - false: The release is created with the state set to In Progress. Default: False Data type: Boolean |
| name | Required. Name of the release.Data type: String |
| productId | Required. Sys\_id of the product.Table: Product Model \[cmdb\_model\] Data type: String |
| productVersion | Sys\_id of the product version.Table: System Component Model \[cmdb\_sw\_component\_model\] Data type: String |
| releaseCalendar | Sys\_id of the release calendar.Table: Release Calendar \[sn\_dpr\_model\_release\_calendar\] Data type: String |
| releaseDate | Release date in the format yyyy-MM-dd.Using this parameter creates a record in the Release Readiness Target \[sn\_dpr\_model\_release\_target\] table. Data type: String |
| releaseDescription | Description of the release.Data type: String |
| releaseOwner | Required. Sys\_id of the release owner.Table: User \[sys\_user\] Data type: String |
| releaseTarget | Sys\_id of the release readiness target.Table: Release Readiness Target \[sn\_dpr\_model\_release\_target\] Data type: String |
| templateId | Sys\_id of the template to use for the release.Table: Release Template \[sn\_dpr\_model\_release\_template\] Data type: String |
| validatesVersion | Flag that indicates whether the release validates a version.Valid values: - true: The release validates a version. - false: The release doesn't validate a version. Default: False Data type: Boolean |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "error": Boolean, "message": "String", "progressId": "String", "releaseId": "String" } ``` |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.message | Message containing details about the success or failure of the API request.Data type: String |
| result.progressId | Sys id of the tracker for the creation progress of the child release versions listed in the **autoCreateIncludedVersions** request parameter.Table: Progress Worker \[sys\_progress\_worker\] Data type: String |
| result.releaseId | Sys\_id of the created primary release.Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| releaseId | Sys\_id of the release.Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| Name | Description |
|---|---|
| assignedTo | Sys\_id of the user assigned to the key date.The user must have one of the following roles. - sn\_dpr\_model.product\_manager - sn\_dpr\_model.release\_admin - sn\_dpr\_model.release\_coordinator - sn\_dpr\_model.release\_user Table: User \[sys\_user\] Data type: String |
| description | Description of the key date.Data type: String |
| duedate | Required. Due date that the event or objective must be completed by. The due date must be between the release planned start and end dates. Format: yyyy-MM-dd Data type: String |
| name | Required. Name of the key date.Data type: String |
| state | Required. State of the key date.Valid values: - archived - missed - upcoming Data type: String |
| type | Required. Type of key date.Valid values: - deadline - important\_date - key\_event - milestone Data type: String |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "error": Boolean, "keyDateSysId": "String", "message": "String" } ``` |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.keyDateSysId | Sys\_id of the created key date.Table: Release Key Date \[sn\_dpr\_model\_release\_key\_date\] Data type: String |
| result.message | Message containing details about the success or failure of the API request.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| releaseId | Sys\_id of the release.Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "error": Boolean, "errorCode": "String", "message": "String", "policyExecutionScheduled": Boolean } ``` |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.errorCode | HTTP status code for the request.Data type: String |
| result.message | Message containing details about the success or failure of the API request.Data type: String |
| result.policyExecutionScheduled | Flag that indicates whether the release phase policies are scheduled to be run.Valid values: - true: Release phase policies are scheduled to be run. - false: Release phase policies aren't scheduled to be run. Data type: Boolean |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| releaseId | Sys\_id of the release.Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| Name | Description |
|---|---|
| taskIds | Required. List of task sys\_ids to add as related tasks for the release. The task records must be from tables listed in the **sn\_dpr\_model.release\_related\_task\_types** system property. For more information, see [Digital Product Release properties](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/digital-product-release-properties.md). Data type: Array |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "error": Boolean, "message": "String" } ``` |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.message | Message containing details about the success or failure of the API request.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| description | Description of the release calendar.Data type: String |
| name | Required. Name of the release calendar.Data type: String |
| releaseAdmin | Required. Sys\_id of the release calendar owner.Table: User \[sys\_user\] Data type: String |
| schedules | Comma-separated list of schedule sys\_ids to use for the release calendar. For example, `"sysId1,sysId2,sysId3"`.Table: Schedule \[cmn\_schedule\] Data type: String |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "error": Boolean, "message": "String", "releaseCalendarId": "String" } ``` |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.message | Message containing details about the success or failure of the API request.Data type: String |
| result.releaseCalendarId | Sys\_id of the created release calendar.Table: Release Calendar \[sn\_dpr\_model\_release\_calendar\] Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| releaseId | Sys\_id of the release.Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| Name | Description |
|---|---|
| result | Details about the API request. The elements included in this object depend on whether the request succeeded or failed.Data type: Object Success object. ``` "result": { "message": "String", "phaseSysId": "String", "status": "String", } ``` Error object. ``` "result": { "error": Boolean, "message": "String" } ``` |
| result.error | Flag that indicates whether there is an error with the API request.This parameter is only returned if the request failed so the only possible value is `true`. Data type: Boolean |
| result.message | Message containing details about the success or failure of the API request.Data type: String |
| result.phaseSysId | Sys\_id of the release phase.Table: Release Phase \[sn\_dpr\_model\_release\_phase\] Data type: String |
| result.status | Status of the API request. This parameter is only returned if the request was successful so the only possible value is `success`. Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| description | Description of the readiness target.Data type: String |
| endDate | End date for a recurring readiness target. Required if **isRecurring** is `true`.Data type: String |
| isRecurring | Required. Flag that indicates whether the readiness target is recurring.Valid values: - true: The target is recurring. - false: The target is a single date. Data type: Boolean |
| name | Required. Name of the release readiness target.Data type: String |
| releaseAdmin | Required. Sys\_id of the readiness target owner.Table: User \[sys\_user\] Data type: String |
| releaseCalendar | Required. Sys\_id of the release calendar for the readiness target.Table: Release Calendar \[sn\_dpr\_model\_release\_calendar\] Data type: String |
| repeats | Sets the schedule for a recurring readiness target. Required if **isRecurring** is `true`.Data type: Object ``` "repeats": { "daysOfWeek": Number, "every": Number, "type": "String" } ``` |
| repeats.daysOfWeek | Number of working days in a week.Data type: Number |
| repeats.every | Number of intervals between each date. Used with **repeats.type** to define the frequency the target recurs.In this example, the target recurs every two weeks. ``` "repeats": { "every": 2, "type": "weekly" } ``` Data type: Number |
| repeats.type | Type of interval between each date. Used with **repeats.every** to define the frequency the target recurs.Valid values: - weekly - monthly Data type: String |
| scheduleSysId | Sys\_id of the schedule to use for the release target.Table: Schedule \[cmn\_schedule\] Data type: String |
| startDate | Required. Date for the readiness target, or the first date of a recurring readiness target.Data type: String |
| targetsWithOverlappingScheduleDetails | List of dates for a recurring readiness target.Data type: Array ``` "targetsWithOverlappingScheduleDetails": [ { "active": Boolean, "date": "String" } ] ``` |
| targetsWithOverlappingScheduleDetails.active | Flag that indicates whether the readiness target recurrence is active.Valid values: - true: Active. - false: Inactive. Data type: Boolean |
| targetsWithOverlappingScheduleDetails.date | Date for the readiness target recurrence.Data type: String |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "count": Number, "error": Boolean, "message": "String" } ``` |
| result.count | Number of release targets created by the API request.Data type: Number |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.message | Error message. This parameter is empty for successful requests.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| sysId | Sys\_id of the release.Table: Release \[sn\_dpr\_model\_release\] Data type: String |
| Name | Description |
|---|---|
| outOfBand | Flag that indicates whether the readiness target is an out-of-band date \(a one-time readiness target not tied to the standard release calendar\).This parameter is required if **releaseTarget ** is not used. Valid values: - true: The readiness target is out-of-band. - false: The readiness target is already defined and tied to the standard release calendar. Default: False Data type: Boolean |
| releaseCalendar | Sys\_id of the release calendar to use for the readiness target. Required if using **outOfBand**.Table: Release Calendar \[sn\_dpr\_model\_release\_calendar\] Data type: String |
| releaseDate | Date for the readiness target. Required if using **outOfBand**.Data type: String |
| releaseTarget | Sys\_id of the release readiness target.Use this parameter to select an existing readiness target. Either this parameter or **outOfBand** is required to set the new target. Table: Release Readiness Target \[sn\_dpr\_model\_release\_target\] Data type: String |
| Name | Description |
|---|---|
| result | Details about the API request. Data type: Object ``` "result": { "error": Boolean, "message": "String" } ``` |
| result.error | Flag that indicates whether there is an error with the API request.Possible values: - true: Error. - false: No error. Data type: Boolean |
| result.message | Error message. This parameter is empty for successful requests.Data type: String |