{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":507,"path":"api-reference/rest-apis/digital-product-release-api.md","title":"Digital Product Release API","bundle":null,"doc_type":null,"release":"australia","body":"\n# Digital Product Release API\n\nThe Digital Product Release API provides endpoints to manage releases and policy compliance.\n\nThis 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).\n\n**Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md)\n\n## Digital Product Release - GET /sn\\_dpr/digital\\_product\\_release/bundle/\\{sysId\\}\n\nRetrieves release bundle details.\n\nThis 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.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n-   sn\\_dpr\\_model.release\\_coordinator\n-   sn\\_dpr\\_model.release\\_user\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/bundle/{sysId}`\n\nDefault URL: `/api/sn_dpr/digital_product_release/bundle/{sysId}`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nsysId\n\n</td><td>\n\nSys\\_id of the release bundle.Table: Release Bundle \\[sn\\_dpr\\_model\\_release\\_bundle\\]\n\nData type: String\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nsendAggregation\n\n</td><td>\n\nFlag that indicates whether to include aggregated data for enhancements, policies, release states, and task counts in the response body.Data type: Boolean\n\nValid values:\n\n-   true: Return aggregates for enhancements, policies, release states, and task counts.\n-   false: Don't return aggregates.\n\nDefault: false\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Authorization|Basic or bearer token for authentication.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n\n### Response body parameters \\(JSON\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\naggregates\n\n</td><td>\n\nAggregated 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.\n\n```\n\"aggregates\": {\n   \"enhancementAggregate\": {Object},\n   \"policyAggregate\": {Object},\n   \"releaseAggregate\": {Object},\n   \"taskAggregate\": {Object}\n}\n```\n\nData type: Object\n\n</td></tr><tr><td>\n\naggregates.enhancementAggregate\n\n</td><td>\n\nLists the number of enhancements in each state.Data type: Object\n\n```\n\"enhancementAggregate\": {\n   \"Closed\": Number,\n   \"Open\": Number\n}\n```\n\n</td></tr><tr><td>\n\naggregates.policyAggregate\n\n</td><td>\n\nLists the number of policies in each execution status. Data type: Object\n\n```\n\"policyAggregate\": {\n   \"Executed\": Number,\n   \"Pending\": Number\n}\n```\n\n</td></tr><tr><td>\n\naggregates.releaseAggregate\n\n</td><td>\n\nLists 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\n\n```\n\"releaseAggregate\": {\n   \"Cancelled\": Number,\n   \"Completed\": Number,\n   \"Draft\": Number,\n   \"In Progress\": Number,\n   \"Pending\": Number,\n   \"Restarting\": Number,\n   \"Review\": Number \n}\n```\n\n</td></tr><tr><td>\n\naggregates.taskAggregate\n\n</td><td>\n\nLists the number of tasks that are approved and not approved.Data type: Object\n\n```\n\"taskAggregate\": {\n   \"approval\": Number,\n   \"nonApproval\": Number\n}\n```\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the release bundle.Data type: String\n\n</td></tr><tr><td>\n\nowner\n\n</td><td>\n\nOwner of the release bundle.Data type: String\n\n</td></tr><tr><td>\n\nreleases\n\n</td><td>\n\nData about the releases included in the bundle.```\n\"releases\": {\n   \"count\": Number,\n   \"list\": [Array]\n}\n```\n\nData type: Object\n\n</td></tr><tr><td>\n\nreleases.count\n\n</td><td>\n\nNumber of releases included in the bundle.Data type: Number\n\n</td></tr><tr><td>\n\nreleases.list\n\n</td><td>\n\nList of sys\\_ids of releases included in the bundle.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: Array\n\n</td></tr><tr><td>\n\nsysId\n\n</td><td>\n\nSys\\_id of the release bundle.Table: Release Bundle \\[sn\\_dpr\\_model\\_release\\_bundle\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example retrieves details about a specified release bundle, including aggregated data for enhancements, policies, release states, and task counts.\n\n```\ncurl -X GET \\ \"https://instance.service-now.com/api/sn_dpr/v1/digital_product_release/bundle/9d0d0b4c874b1110dba83d5ebf867de2?sendAggregation=true\" \\\n--header \"Accept: application/json\" \\ \n--header \"Authorization: Basic <base64encoded-credentials>\"\n```\n\nResponse body.\n\n```\n{\n   \"sysId\": \"9d0d0b4c874b1110dba83d5ebf867de2\",\n   \"name\": \"Release Bundle Q4\",\n   \"owner\": \"jane.doe\",\n   \"releases\": {\n      \"count\": 2,\n      \"list\": [\"rel1\", \"rel2\"]\n   },\n   \"aggregates\": {\n      \"releaseAggregate\": {\n         \"In Progress\": 1,\n         \"Completed\": 1\n      },\n      \"taskAggregate\": {\n         \"approval\": 3,\n         \"nonApproval\": 5\n      },\n      \"policyAggregate\": {\n         \"Executed\": 2,\n         \"Pending\": 1\n      },\n      \"enhancementAggregate\": {\n         \"Open\": 1,\n         \"Closed\": 1\n      }\n   }\n}\n```\n\n## Digital Product Release - GET /sn\\_dpr/digital\\_product\\_release/releases/\\{releaseId\\}/policies/status\n\nGets policy execution details by product for the current phase of a release.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n-   sn\\_dpr\\_model.release\\_coordinator\n-   sn\\_dpr\\_model.release\\_user\n\nBefore calling this endpoint, the release state must be **In Progress** and the current phase state must also be **In Progress**. You can view release information in the Digital Product Release Workspace in the **Releases** tab.\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/releases/{releaseId}/policies/status`\n\nDefault URL: `/api/sn_dpr/digital_product_release/releases/{releaseId}/policies/status`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nreleaseId\n\n</td><td>\n\nSys\\_id of the release.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nObject containing a compliance summary and product policy details.Data type: Object\n\n```\n\"result\": {\n   \"overallSummary\": {Object},\n   \"products\": [Array]\n}\n```\n\n</td></tr><tr><td>\n\nresult.overallSummary\n\n</td><td>\n\nPolicy compliance summary for the current release phase.Data type: Object\n\n```\n\"overallSummary\": {\n   \"compliant\": Boolean,\n   \"compliantCount\": Number,\n   \"currentPhase\": \"String\",\n   \"nonCompliantCount\": Number,\n   \"timestamp\": \"String\",\n   \"totalCount\": Number\n}\n```\n\n</td></tr><tr><td>\n\nresult.overallSummary.compliant\n\n</td><td>\n\nFlag that indicates whether all evaluated policies for the current release phase are compliant.Valid values:\n\n-   true: All evaluated policies are compliant.\n-   false: Not all evaluated policies are compliant.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.overallSummary.compliantCount\n\n</td><td>\n\nNumber of compliant policies.Data type: Number\n\n</td></tr><tr><td>\n\nresult.overallSummary.currentPhase\n\n</td><td>\n\nName of the current release phase.Data type: String\n\n</td></tr><tr><td>\n\nresult.overallSummary.nonCompliantCount\n\n</td><td>\n\nNumber of non-compliant policies.Data type: Number\n\n</td></tr><tr><td>\n\nresult.overallSummary.timestamp\n\n</td><td>\n\nDate and time that policy compliance was last evaluated.Data type: String\n\n</td></tr><tr><td>\n\nresult.overallSummary.totalCount\n\n</td><td>\n\nTotal number of policies evaluated.Data type: Number\n\n</td></tr><tr><td>\n\nresult.products\n\n</td><td>\n\nList of product-level compliance results. Each object in the array represents a product.\n\nData type: Array\n\n```\n\"products\": [\n   {\n      \"policyExecutionDetails\": [Array],\n      \"productId\": \"String\",\n      \"productName\": \"String\",\n      \"productVersion\": \"String\",\n      \"summary\": {Object}      \n   }\n]\n```\n\n</td></tr><tr><td>\n\nresult.products.policyExecutionDetails\n\n</td><td>\n\nList of executed policies with compliance results.Each object in the array represents a policy.\n\nData type: Array\n\n```\n\"policyExecutionDetails\": [\n   {\n      \"executionOutput\": \"Check sum OK; 0 violations. Execution log id: e23-9a.\",\n      \"lastRunAt\": \"2025-09-26T08:30:00Z\",\n      \"name\": \"Policy Name 1\",\n      \"policyId\": \"policyVersionSysId1\",\n      \"reason\": \"All checks passed\",\n      \"status\": \"compliant\"  \n   }\n]\n```\n\n</td></tr><tr><td>\n\nresult.products.policyExecutionDetails.executionOutput\n\n</td><td>\n\nOutput message produced by the policy execution.Data type: String\n\n</td></tr><tr><td>\n\nresult.products.policyExecutionDetails.lastRunAt\n\n</td><td>\n\nDate and time the policy was last evaluated for compliance.Data type: String\n\n</td></tr><tr><td>\n\nresult.products.policyExecutionDetails.name\n\n</td><td>\n\nDisplay name of the policy.Data type: String\n\n</td></tr><tr><td>\n\nresult.products.policyExecutionDetails.policyId\n\n</td><td>\n\nSys\\_id of the policy.Table: Policy \\[sn\\_pace\\_policy\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.products.policyExecutionDetails.reason\n\n</td><td>\n\nMessage explaining the reason the policy is compliant or non-compliant.Data type: String\n\n</td></tr><tr><td>\n\nresult.products.policyExecutionDetails.status\n\n</td><td>\n\nCompliance state for the policy.Valid values:\n\n-   compliant\n-   non\\_compliant\n-   not\\_run\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.products.productId\n\n</td><td>\n\nSys\\_id of the product.Table: Product Model \\[cmdb\\_model\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.products.productName\n\n</td><td>\n\nDisplay name of the product.Data type: String\n\n</td></tr><tr><td>\n\nresult.products.productVersion\n\n</td><td>\n\nVersion associated with the product for the current release.Data type: String\n\n</td></tr><tr><td>\n\nresult.products.summary\n\n</td><td>\n\nCompliance results for the product.Data type: Object\n\n```\n\"summary\": {\n   \"compliant\": Boolean,\n   \"compliantCount\": Number,\n   \"nonCompliantCount\": Number,\n   \"totalCount\": Number\n}\n```\n\n</td></tr><tr><td>\n\nresult.products.summary.compliant\n\n</td><td>\n\nFlag that indicates whether all policies for the product are compliant.Valid values:\n\n-   true: All policies are compliant.\n-   false: Not all policies are compliant.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.products.summary.compliantCount\n\n</td><td>\n\nNumber of compliant policies.Data type: Number\n\n</td></tr><tr><td>\n\nresult.products.summary.nonCompliantCount\n\n</td><td>\n\nNumber of non-compliant policies.Data type: Number\n\n</td></tr><tr><td>\n\nresult.products.summary.totalCount\n\n</td><td>\n\nTotal number of policies evaluated for the product.Data type: Number\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example gets policy execution details for the current phase of the specified release.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/releases/d4982eeb474b621027d48b41516d4385/policies/status\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n   \"result\": {\n      \"overallSummary\": {\n         \"compliant\": false,\n         \"compliantCount\": 3,\n         \"nonCompliantCount\": 2,\n         \"totalCount\": 5,\n         \"currentPhase\": \"Phase Name\",\n         \"timestamp\": \"2025-09-26T09:15:00Z\"\n      },\n      \"products\": [\n         {\n            \"productId\": \"f8fe5fd40a0a0b9100f91d64df145295\",\n            \"productName\": \"Payments Service\",\n            \"productVersion\": \"v2.4.1\",\n            \"summary\": {\n               \"compliant\": false,\n               \"compliantCount\": 1,\n               \"nonCompliantCount\": 1,\n               \"totalCount\": 2\n            },\n            \"policyExecutionDetails\": [\n               {\n                  \"name\": \"Policy Name 1\",\n                  \"policyId\": \"f6783cc843590210ab16fc4bbcb8f223\",\n                  \"status\": \"compliant\",\n                  \"lastRunAt\": \"2025-09-26T08:30:00Z\",\n                  \"executionOutput\": \"Check sum OK; 0 violations. Execution log id: e23-9a.\",\n                  \"reason\": \"All checks passed\"\n               },\n               {\n                  \"name\": \"Policy Name 2\",\n                  \"policyId\": \"152bb04c43590210ab16fc4bbcb8f2a7\",\n                  \"status\": \"non_compliant\",\n                  \"lastRunAt\": \"2025-09-26T08:32:00Z\",\n                  \"executionOutput\": \"Validation failed at step 3: required configuration missing.\",\n                  \"reason\": \"Missing required configuration 'payments.retry_limit'\"\n               }\n            ]\n         }\n      ]\n   }\n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/product\\_enhancement\n\nCreates an enhancement for a product or service.\n\nTo access this endpoint, the caller must have the sn\\_dpr\\_model.product\\_manager role.\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/product_enhancement`\n\nDefault URL: `/api/sn_dpr/digital_product_release/product_enhancement`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the enhancement.Data type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the enhancement.Data type: String\n\n</td></tr><tr><td>\n\npriority\n\n</td><td>\n\nPriority of the enhancement.Valid values:\n\n-   high\n-   medium\n-   low\n\nDefault: medium\n\nData type: String\n\n</td></tr><tr><td>\n\nproductFeatureSysId\n\n</td><td>\n\nSys\\_id of the product feature to associate with the enhancement.Table: Product Feature \\[sn\\_dpr\\_model\\_product\\_feature\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSysId\n\n</td><td>\n\nRequired. 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\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nreleaseSysId\n\n</td><td>\n\nSys\\_id of the release to add the enhancement.The release must be associated with the version provided in the **versionSysId** parameter.\n\nTable: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nversionSysId\n\n</td><td>\n\nSys\\_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.\n\nTable: Software Model \\[cmdb\\_software\\_product\\_model\\] or Service Offering Model \\[cmdb\\_service\\_offering\\_model\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. The enhancement was successfully created.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_fv1_gmm_fhc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"sysId\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.sysId\n\n</td><td>\n\nSys\\_id of the created enhancement.Table: Product Enhancement \\[sn\\_dpr\\_model\\_product\\_enhancement\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example creates a product enhancement.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/product_enhancement\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n   \\\"name\\\":\\\"Offline streaming\\\", \n   \\\"productSysId\\\":\\\"de8e9c0dfff8f2108289ffffffffff61\\\", \n   \\\"priority\\\":\\\"high\\\", \n   \\\"description\\\":\\\"Enhancement description\\\", \n   \\\"versionSysId\\\":\\\"da4b608dff7cf2108289ffffffffffc2\\\", \n   \\\"releaseSysId\\\":\\\"9a4b608dff7cf2108289ffffffffffc3\\\", \n   \\\"productFeatureSysId\\\":\\\"192d2905ff7436108289ffffffffff3f\\\" \n}\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n   \"result\": {\n      \"error\": false,\n      \"sysId\": \"76417985ff7436108289ffffffffff5f\"\n   }\n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/release\n\nCreates a release.\n\nA release can be created as an independent release, or as a primary release that includes child releases. This endpoint can also be used to move an existing release from the Draft state to In Progress.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nautoCreateIncludedVersions\n\n</td><td>\n\nList of child release versions to automatically create.Data type: Array\n\n```\n\"autoCreateIncludedVersions\": [\n   { \n      \"product\": \"String\", \n      \"version\": \"String\"\n   } \n]\n```\n\n</td></tr><tr><td>\n\nautoCreateIncludedVersions.product\n\n</td><td>\n\nSys\\_id of the product to use for the version.Table: Product Model \\[cmdb\\_model\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nautoCreateIncludedVersions.version\n\n</td><td>\n\nName of the version.Data type: String\n\n</td></tr><tr><td>\n\nautoCreateVersionName\n\n</td><td>\n\nName of the version to automatically create.Data type: String\n\n</td></tr><tr><td>\n\ndraftReleaseId\n\n</td><td>\n\nSys\\_id of the draft release.Use this parameter to move a release from the Draft state to In Progress.\n\nTable: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nincludedVersions\n\n</td><td>\n\nList of sys\\_ids of existing product versions to include in the release.Table: System Component Model \\[cmdb\\_sw\\_component\\_model\\]\n\nData type: Array\n\n</td></tr><tr><td>\n\nisDraftRelease\n\n</td><td>\n\nFlag that indicates whether to create the release in the Draft state.\n\n Valid values:\n\n-   true: The release is created with the state set to Draft.\n-   false: The release is created with the state set to In Progress.\n\n Default: False\n\n Data type: Boolean\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the release.Data type: String\n\n</td></tr><tr><td>\n\nproductId\n\n</td><td>\n\nRequired. Sys\\_id of the product.Table: Product Model \\[cmdb\\_model\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nproductVersion\n\n</td><td>\n\nSys\\_id of the product version.Table: System Component Model \\[cmdb\\_sw\\_component\\_model\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nreleaseCalendar\n\n</td><td>\n\nSys\\_id of the release calendar.Table: Release Calendar \\[sn\\_dpr\\_model\\_release\\_calendar\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nreleaseDate\n\n</td><td>\n\nRelease date in the format yyyy-MM-dd.Using this parameter creates a record in the Release Readiness Target \\[sn\\_dpr\\_model\\_release\\_target\\] table.\n\nData type: String\n\n</td></tr><tr><td>\n\nreleaseDescription\n\n</td><td>\n\nDescription of the release.Data type: String\n\n</td></tr><tr><td>\n\nreleaseOwner\n\n</td><td>\n\nRequired. Sys\\_id of the release owner.Table: User \\[sys\\_user\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nreleaseTarget\n\n</td><td>\n\nSys\\_id of the release readiness target.Table: Release Readiness Target \\[sn\\_dpr\\_model\\_release\\_target\\]\n\nData type: String\n\n</td></tr><tr><td>\n\ntemplateId\n\n</td><td>\n\nSys\\_id of the template to use for the release.Table: Release Template \\[sn\\_dpr\\_model\\_release\\_template\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidatesVersion\n\n</td><td>\n\nFlag that indicates whether the release validates a version.Valid values:\n\n-   true: The release validates a version.\n-   false: The release doesn't validate a version.\n\nDefault: False\n\nData type: Boolean\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. The release was successfully created.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_fv1_gmm_fhc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"message\": \"String\",\n   \"progressId\": \"String\",\n   \"releaseId\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nMessage containing details about the success or failure of the API request.Data type: String\n\n</td></tr><tr><td>\n\nresult.progressId\n\n</td><td>\n\nSys 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\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.releaseId\n\n</td><td>\n\nSys\\_id of the created primary release.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example creates a release with included versions.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/v1/digital_product_release/release\" \\ \n--request POST \\ \n--header \"Accept:application/json\" \\ \n--header \"Content-Type:application/json\" \\ \n--data \"{ \n  \\\"name\\\": \\\"Patch Q4\\\", \n  \\\"releaseTarget\\\": \\\"8071e5f8ff687a10509cffffffffffd9\\\", \n  \\\"releaseOwner\\\": \\\"6816f79cc0a8016401c5a33be04be441\\\", \n  \\\"releaseDescription\\\": \\\"Q4 release\\\", \n  \\\"productVersion\\\": \\\"\\\", \n  \\\"templateId\\\": \\\"c83134a4ff643a10509cffffffffffb5\\\", \n  \\\"releaseDate\\\": \\\"\\\", \n  \\\"releaseCalendar\\\": \\\"\\\", \n  \\\"includedVersions\\\": [ \n    \\\"39fd3f66ff503610509cffffffffff09\\\" \n  ], \n  \\\"productId\\\": \\\"c65c372bfb9d5610fdacfe7405efdcd7\\\", \n  \\\"autoCreateVersionName\\\": \\\"1.2\\\", \n  \\\"autoCreateIncludedVersions\\\": [ \n    { \n      \\\"product\\\": \\\"de66ea3833e966103e8361a9ed5c7b4e\\\", \n      \\\"version\\\": \\\"1.1\\\" \n    } \n  ] \n}\" \\ \n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n  \"result\": { \n    \"error\": false, \n    \"message\": \"\", \n    \"releaseId\": \"af90e98dff3c3210509cffffffffffc9\", \n    \"progressId\": \"f7902d01ffbc3210509cffffffffff7b\" \n  } \n}\n```\n\n### cURL request\n\nThis example moves an existing release from the Draft state to In Progress.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/v1/digital_product_release/release\" \\ \n--request POST \\ \n--header \"Accept:application/json\" \\ \n--header \"Content-Type:application/json\" \\ \n--data \"{ \n  \\\"name\\\": \\\"Q4 2025 Product Release\\\", \n  \\\"releaseTarget\\\": \\\"077e1ffb97bc4e107bc2341de053afe2\\\", \n  \\\"releaseOwner\\\": \\\"6816f79cc0a8016401c5a33be04be441\\\", \n  \\\"releaseDescription\\\": \\\"\\\", \n  \\\"productVersion\\\": \\\"0ff12581ffbc3210509cffffffffff15\\\", \n  \\\"templateId\\\": \\\"648c6ca8ffe03a10509cffffffffff11\\\", \n  \\\"releaseDate\\\": \\\"\\\", \n  \\\"releaseCalendar\\\": \\\"\\\", \n  \\\"includedVersions\\\": [], \n  \\\"productId\\\": \\\"\\\", \n  \\\"autoCreateVersionName\\\": \\\"\\\", \n  \\\"autoCreateIncludedVersions\\\": [], \n  \\\"draftReleaseId\\\": \\\"83f12581ffbc3210509cffffffffff16\\\" \n}\" \\ \n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{ \n  \"result\": { \n    \"error\": false, \n    \"message\": \"\", \n    \"releaseId\": \"83f12581ffbc3210509cffffffffff16\" \n  } \n}\n```\n\n### cURL request\n\nThis example creates an independent release.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/v1/digital_product_release/release\" \\ \n--request POST \\ \n--header \"Accept:application/json\" \\ \n--header \"Content-Type:application/json\" \\ \n--data \"{ \n  \\\"name\\\": \\\"Q2 2026 patch\\\", \n  \\\"productVersion\\\": null, \n  \\\"releaseTarget\\\": \\\"008b84a1ffe4ba10509cffffffffff2c\\\", \n  \\\"releaseDescription\\\": \\\"\\\", \n  \\\"releaseOwner\\\": \\\"6816f79cc0a8016401c5a33be04be441\\\", \n  \\\"productId\\\": \\\"012c6d20ff203210229bffffffffff25\\\", \n  \\\"autoCreateVersionName\\\": \\\"2.4\\\", \n  \\\"templateId\\\": \\\"648c6ca8ffe03a10509cffffffffff11\\\", \n  \\\"releaseDate\\\": \\\"\\\", \n  \\\"releaseCalendar\\\": \\\"\\\", \n  \\\"isDraftRelease\\\": false, \n  \\\"validatesVersion\\\": true \n}\" \\ \n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{ \n  \"result\": { \n    \"error\": false, \n    \"message\": \"\", \n    \"releaseId\": \"c6f52181ffbc3210509cffffffffffc0\" \n  } \n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/release/\\{releaseId\\}/key\\_date\n\nCreates a key date for a release.\n\nKey dates are used to track deadlines, milestones, and other important events during the release.\n\nBefore calling this endpoint, a [timeline-oriented release](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/dpr-working-timeline-release.md) must be created. A timeline-oriented release has fixed deadlines and follows a strict schedule, while a stage-oriented release is primarily focused on completing objectives and features rather than meeting due dates.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n-   sn\\_dpr\\_model.release\\_coordinator\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release/{releaseId}/key_date`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release/{releaseId}/key_date`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nreleaseId\n\n</td><td>\n\nSys\\_id of the release.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nassignedTo\n\n</td><td>\n\nSys\\_id of the user assigned to the key date.The user must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n-   sn\\_dpr\\_model.release\\_coordinator\n-   sn\\_dpr\\_model.release\\_user\n\nTable: User \\[sys\\_user\\]\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the key date.Data type: String\n\n</td></tr><tr><td>\n\nduedate\n\n</td><td>\n\nRequired. Due date that the event or objective must be completed by. The due date must be between the release planned start and end dates.\n\nFormat: yyyy-MM-dd\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the key date.Data type: String\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nRequired. State of the key date.Valid values:\n\n-   archived\n-   missed\n-   upcoming\n\nData type: String\n\n</td></tr><tr><td>\n\ntype\n\n</td><td>\n\nRequired. Type of key date.Valid values:\n\n-   deadline\n-   important\\_date\n-   key\\_event\n-   milestone\n\nData type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. The key date was successfully created.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_fv1_gmm_fhc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"keyDateSysId\": \"String\",\n   \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.keyDateSysId\n\n</td><td>\n\nSys\\_id of the created key date.Table: Release Key Date \\[sn\\_dpr\\_model\\_release\\_key\\_date\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nMessage containing details about the success or failure of the API request.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example creates a project launch date for a specified release.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release/eb7dd11d97b402107bc2341de053af34/key_date\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{ \n    \\\"name\\\": \\\"Project Launch\\\", \n    \\\"type\\\": \\\"milestone\\\", \n    \\\"dueDate\\\": \\\"2025-11-01\\\", \n    \\\"state\\\": \\\"upcoming\\\", \n    \\\"description\\\": \\\"Launching the new project phase.\\\", \n    \\\"assignedTo\\\": \\\"62826bf03710200044e0bfc8bcbe5df1\\\" \n}\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n   \"result\": {\n      \"error\": false,\n      \"message\": \"Release key date created successfully\",\n      \"keyDateSysId\": \"eb0b0905ff7036108289ffffffffff6d\"\n   }\n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/release/\\{releaseId\\}/policies/run\n\nExecutes mapped policies for the current phase of a release.\n\nTo access this endpoint, the caller must have the sn\\_dpr\\_model.product\\_manager role.\n\nBefore calling this endpoint, the release state must be **In Progress** and the current phase state must also be **In Progress**. You can view release information in the Digital Product Release Workspace in the **Releases** tab.\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release/{releaseId}/policies/run`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release/{releaseId}/policies/run`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nreleaseId\n\n</td><td>\n\nSys\\_id of the release.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. The release phase policies are scheduled to be run.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_fv1_gmm_fhc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"errorCode\": \"String\",\n   \"message\": \"String\",\n   \"policyExecutionScheduled\": Boolean\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.errorCode\n\n</td><td>\n\nHTTP status code for the request.Data type: String\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nMessage containing details about the success or failure of the API request.Data type: String\n\n</td></tr><tr><td>\n\nresult.policyExecutionScheduled\n\n</td><td>\n\nFlag that indicates whether the release phase policies are scheduled to be run.Valid values:\n\n-   true: Release phase policies are scheduled to be run.\n-   false: Release phase policies aren't scheduled to be run.\n\nData type: Boolean\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example executes the mapped policies for the current phase of the specified release.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release/d4982eeb474b621027d48b41516d4385/policies/run\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n   \"result\": {\n      \"error\": false,\n      \"errorCode\": \"\",\n      \"message\": \"Policy execution scheduled.\",\n      \"policyExecutionScheduled\": true\n   }\n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/release/\\{releaseId\\}/related\\_task\n\nAdds related tasks to a release.\n\nYou can view release information in the Digital Product Release Workspace in the Releases tab. Related tasks for a release are shown in the Release Scope section of a release record.\n\n**Important:** Before calling this endpoint, there must be existing task records that can be added as related tasks for the release. The records must be in tables that extend the Task \\[task\\] table, but not in the Task table itself. In the [**sn\\_dpr\\_model.release\\_related\\_task\\_types**](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/digital-product-release-properties.md) system property, list the tables that contain your task records.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release/{releaseId}/related_task`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release/{releaseId}/related_task`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nreleaseId\n\n</td><td>\n\nSys\\_id of the release.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ntaskIds\n\n</td><td>\n\nRequired. 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).\n\nData type: Array\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. The related tasks were successfully added to the release.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_fv1_gmm_fhc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nMessage containing details about the success or failure of the API request.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example adds two related tasks to a release.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release/eb7dd11d97b402107bc2341de053af34/related_task\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\\\"taskIds\\\": [\\\"36836028532023004247ddeeff7b12f1\\\", \\\"bc84b11dff5c32108289ffffffffff12\\\"]}\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n   \"result\": {\n      \"error\": false,\n      \"message\": \"Successfully created the mappings between the release and all the tasks.\"\n   }\n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/release\\_calendar\n\nCreates a release calendar.\n\nTo access this endpoint, the caller must have the sn\\_dpr\\_model.release\\_calendar\\_admin role.\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release_calendar`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release_calendar`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the release calendar.Data type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the release calendar.Data type: String\n\n</td></tr><tr><td>\n\nreleaseAdmin\n\n</td><td>\n\nRequired. Sys\\_id of the release calendar owner.Table: User \\[sys\\_user\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nschedules\n\n</td><td>\n\nComma-separated list of schedule sys\\_ids to use for the release calendar. For example, `\"sysId1,sysId2,sysId3\"`.Table: Schedule \\[cmn\\_schedule\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Authorization|Basic or bearer token for authentication.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. The release calendar was successfully created.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|401|Unauthorized. The user credentials are incorrect or have not been passed.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_fv1_gmm_fhc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"message\": \"String\",\n   \"releaseCalendarId\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nMessage containing details about the success or failure of the API request.Data type: String\n\n</td></tr><tr><td>\n\nresult.releaseCalendarId\n\n</td><td>\n\nSys\\_id of the created release calendar.Table: Release Calendar \\[sn\\_dpr\\_model\\_release\\_calendar\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example creates a release calendar.\n\n```\ncurl 'https://instance.service-now.com/api/sn_dpr/v1/digital_product_release/release_calendar' \\ \n--request POST \\\n--header 'Accept:application/json' \\\n--header 'Content-Type: application/json' \\ \n--header 'Authorization: Basic <base64encoded-credentials>' \\ \n--data '{ \n    \"name\": \"Q1 2025 Release Calendar123\", \n    \"releaseAdmin\": \"dc6770ae3b97a210532fb50f23e45a33\", \n    \"description\": \"Calendar for Q1 releases\" \n}'\n```\n\nResponse body.\n\n```\n{\n   \"result\": {\n      \"error\": false,\n      \"message\": \"\",\n      \"releaseCalendarId\": \"5f6702c13bbc3a50532fb50f23e45a2b\"\n   }\n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/release\\_id/\\{releaseId\\}/complete\\_phase\n\nCompletes the current phase of a release.\n\n**Note:** The current phase is only set to **Completed** if all policies for the phase are compliant.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n-   sn\\_dpr\\_model.release\\_coordinator\n\nBefore calling this endpoint, the release state must be **In Progress** and the current phase state must also be **In Progress**. You can view release information in the Digital Product Release Workspace in the **Releases** tab.\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release_id/{releaseId}/complete_phase`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release_id/{releaseId}/complete_phase`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nreleaseId\n\n</td><td>\n\nSys\\_id of the release.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. The release phase was successfully completed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. The elements included in this object depend on whether the request succeeded or failed.Data type: Object\n\nSuccess object.\n\n```\n\"result\": {\n   \"message\": \"String\",\n   \"phaseSysId\": \"String\",\n   \"status\": \"String\",\n}\n```\n\nError object.\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag 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`.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nMessage containing details about the success or failure of the API request.Data type: String\n\n</td></tr><tr><td>\n\nresult.phaseSysId\n\n</td><td>\n\nSys\\_id of the release phase.Table: Release Phase \\[sn\\_dpr\\_model\\_release\\_phase\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.status\n\n</td><td>\n\nStatus of the API request. This parameter is only returned if the request was successful so the only possible value is `success`.\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example completes the current phase of the specified release.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release_id/d4982eeb474b621027d48b41516d4385/complete_phase\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n  \"result\": {\n    \"status\": \"success\",\n    \"message\": \"Release phase is marked as complete\",\n    \"phaseSysId\": \"2498222f474b621027d48b41516d4342\"\n  }\n}\n```\n\n### cURL request\n\nThis example shows an error response when an invalid release sys\\_id is provided.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release_id/a/complete_phase\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nError response.\n\n```\n{\n  \"result\": {\n    \"error\": true,\n    \"message\": \"Release ID is invalid\"\n  }\n}\n```\n\n## Digital Product Release - POST /sn\\_dpr/digital\\_product\\_release/release\\_target\n\nCreates a release readiness target or a set of recurring release readiness targets.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release_target`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release_target`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the readiness target.Data type: String\n\n</td></tr><tr><td>\n\nendDate\n\n</td><td>\n\nEnd date for a recurring readiness target. Required if **isRecurring** is `true`.Data type: String\n\n</td></tr><tr><td>\n\nisRecurring\n\n</td><td>\n\nRequired. Flag that indicates whether the readiness target is recurring.Valid values:\n\n-   true: The target is recurring.\n-   false: The target is a single date.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the release readiness target.Data type: String\n\n</td></tr><tr><td>\n\nreleaseAdmin\n\n</td><td>\n\nRequired. Sys\\_id of the readiness target owner.Table: User \\[sys\\_user\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nreleaseCalendar\n\n</td><td>\n\nRequired. Sys\\_id of the release calendar for the readiness target.Table: Release Calendar \\[sn\\_dpr\\_model\\_release\\_calendar\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nrepeats\n\n</td><td>\n\nSets the schedule for a recurring readiness target. Required if **isRecurring** is `true`.Data type: Object\n\n```\n\"repeats\": {\n   \"daysOfWeek\": Number,\n   \"every\": Number,\n   \"type\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrepeats.daysOfWeek\n\n</td><td>\n\nNumber of working days in a week.Data type: Number\n\n</td></tr><tr><td>\n\nrepeats.every\n\n</td><td>\n\nNumber 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.\n\n```\n\"repeats\": {\n   \"every\": 2,\n   \"type\": \"weekly\"\n}\n```\n\nData type: Number\n\n</td></tr><tr><td>\n\nrepeats.type\n\n</td><td>\n\nType of interval between each date. Used with **repeats.every** to define the frequency the target recurs.Valid values:\n\n-   weekly\n-   monthly\n\nData type: String\n\n</td></tr><tr><td>\n\nscheduleSysId\n\n</td><td>\n\nSys\\_id of the schedule to use for the release target.Table: Schedule \\[cmn\\_schedule\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nstartDate\n\n</td><td>\n\nRequired. Date for the readiness target, or the first date of a recurring readiness target.Data type: String\n\n</td></tr><tr><td>\n\ntargetsWithOverlappingScheduleDetails\n\n</td><td>\n\nList of dates for a recurring readiness target.Data type: Array\n\n```\n\"targetsWithOverlappingScheduleDetails\": [ \n   { \n      \"active\": Boolean, \n      \"date\": \"String\" \n   }\n]\n```\n\n</td></tr><tr><td>\n\ntargetsWithOverlappingScheduleDetails.active\n\n</td><td>\n\nFlag that indicates whether the readiness target recurrence is active.Valid values:\n\n-   true: Active.\n-   false: Inactive.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\ntargetsWithOverlappingScheduleDetails.date\n\n</td><td>\n\nDate for the readiness target recurrence.Data type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|201|Created. Release target\\(s\\) successfully created.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_ndx_qsy_j3c\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"count\": Number,\n   \"error\": Boolean,\n   \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.count\n\n</td><td>\n\nNumber of release targets created by the API request.Data type: Number\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nError message. This parameter is empty for successful requests.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example creates a set of four release readiness targets, with a target recurring every week on Friday.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release_target\" \\ \n--request POST \\ \n--header \"Accept:application/json\" \\ \n--header \"Content-Type:application/json\" \\ \n--data \"{ \n  \\\"name\\\": \\\"Weekly Friday patch\\\", \n  \\\"releaseAdmin\\\": \\\"6816f79cc0a8016401c5a33be04be441\\\", \n  \\\"isRecurring\\\": true, \n  \\\"description\\\": \\\"\\\", \n  \\\"startDate\\\": \\\"2025-10-24\\\", \n  \\\"releaseCalendar\\\": \\\"d3d1f3b4ff60ba10509cffffffffffa8\\\", \n  \\\"endDate\\\": \\\"2025-11-19\\\", \n  \\\"repeats\\\": { \n    \\\"type\\\": \\\"weekly\\\", \n    \\\"every\\\": 1, \n    \\\"daysOfWeek\\\": 5 \n  }, \n  \\\"scheduleSysId\\\": \\\"b862d589ff3c3210509cffffffffff97\\\", \n  \\\"targetsWithOverlappingScheduleDetails\\\": [ \n    { \n      \\\"active\\\": true, \n      \\\"date\\\": \\\"2025-10-24\\\" \n    }, \n    { \n      \\\"active\\\": true, \n      \\\"date\\\": \\\"2025-10-31\\\" \n    }, \n    { \n      \\\"active\\\": true, \n      \\\"date\\\": \\\"2025-11-07\\\" \n    }, \n    { \n      \\\"active\\\": true, \n      \\\"date\\\": \\\"2025-11-14\\\" \n    } \n  ] \n}\" \\ \n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n  \"result\": {\n    \"error\": false,\n    \"message\": \"\",\n    \"count\": 4\n  }\n}\n```\n\n### cURL request\n\nThis example creates a release readiness target for a specified date.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release_target\" \\ \n--request POST \\ \n--header \"Accept:application/json\" \\ \n--header \"Content-Type:application/json\" \\ \n--data \"{ \n  \\\"name\\\": \\\"Fourth Thursday patch\\\", \n  \\\"releaseAdmin\\\": \\\"6816f79cc0a8016401c5a33be04be441\\\", \n  \\\"isRecurring\\\": false, \n  \\\"description\\\": \\\"Last Thursday of October\\\", \n  \\\"startDate\\\": \\\"2025-10-30\\\", \n  \\\"releaseCalendar\\\": \\\"d3d1f3b4ff60ba10509cffffffffffa8\\\" \n}\" \\ \n--user 'username':'password' \n```\n\nResponse body.\n\n```\n{\n  \"result\": {\n    \"error\": false,\n    \"message\": \"\",\n    \"count\": 1\n  }\n}\n```\n\n## Digital Product Release - PUT /sn\\_dpr/digital\\_product\\_release/release/\\{sysId\\}/retarget\n\nChanges the readiness target for a release.\n\nThe new readiness target can be an existing readiness target that is already defined, or an out-of-band date \\(a one-time readiness target not tied to the standard release calendar\\). To set an out-of-band date, the [**sn\\_dpr.out\\_of\\_band\\_release\\_allowed**](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/digital-product-release-properties.md) system property must be set to `true`.\n\nThe release phase duration is adjusted to reflect the new readiness target.\n\nBefore calling this endpoint, the release state must be **In Progress** or **Pending**.\n\nTo access this endpoint, the caller must have one of the following roles.\n\n-   sn\\_dpr\\_model.product\\_manager\n-   sn\\_dpr\\_model.release\\_admin\n\n### URL format\n\nVersioned URL: `/api/sn_dpr/{api_version}/digital_product_release/release/{sysId}/retarget`\n\nDefault URL: `/api/sn_dpr/digital_product_release/release/{sysId}/retarget`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr><tr><td>\n\nsysId\n\n</td><td>\n\nSys\\_id of the release.Table: Release \\[sn\\_dpr\\_model\\_release\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\noutOfBand\n\n</td><td>\n\nFlag 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.\n\nValid values:\n\n-   true: The readiness target is out-of-band.\n-   false: The readiness target is already defined and tied to the standard release calendar.\n\nDefault: False\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nreleaseCalendar\n\n</td><td>\n\nSys\\_id of the release calendar to use for the readiness target. Required if using **outOfBand**.Table: Release Calendar \\[sn\\_dpr\\_model\\_release\\_calendar\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nreleaseDate\n\n</td><td>\n\nDate for the readiness target. Required if using **outOfBand**.Data type: String\n\n</td></tr><tr><td>\n\nreleaseTarget \n\n</td><td>\n\nSys\\_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.\n\nTable: Release Readiness Target \\[sn\\_dpr\\_model\\_release\\_target\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON\\)\n\n<table id=\"table_ndx_qsy_j3c\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nDetails about the API request. Data type: Object\n\n```\n\"result\": {\n   \"error\": Boolean,\n   \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.error\n\n</td><td>\n\nFlag that indicates whether there is an error with the API request.Possible values:\n\n-   true: Error.\n-   false: No error.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.message\n\n</td><td>\n\nError message. This parameter is empty for successful requests.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example updates the release readiness target using an existing readiness target.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release/9b2e7ec9476c8e105b8e0dcfe16d43d4/retarget\" \\\n--request PUT \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n   \\\"releaseTarget\\\": \\\"3f6668e95427fd10f877ac7ac399daa6\\\"\n}\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n  \"result\": {\n    \"error\": false,\n    \"message\": \"\"\n  }\n}\n```\n\n### cURL request\n\nThis example updates the release readiness target using an out-of-band readiness target.\n\n```\ncurl \"https://instance.service-now.com/api/sn_dpr/digital_product_release/release/9b2e7ec9476c8e105b8e0dcfe16d43d4/retarget\" \\\n--request PUT \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data \"{\n   \\\"outOfBand\\\": true,\n   \\\"releaseCalendar\\\": \\\"fcb2eaa09f4302105c534d837a0a1c2b\\\",\n   \\\"releaseDate\\\": \\\"2026-10-23\\\"\n}\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n  \"result\": {\n    \"error\": false,\n    \"message\": \"\"\n  }\n}\n```\n\n"}}