DevOps Config API
The DevOps Config API provides endpoints to manage your applications.
This API requires the DevOps Config application and is provided within the
sn_devops_config namespace.
For DELETE, PATCH, and POST operations, the calling user must have the sn_devops_config.admin role. For GET operations, the calling user must have the sn_devops_config.viewer or sn_devops_config.admin role.
Use the DevOps Config API for application life cycle management. For more information about managing applications with DevOps Config, see Configuring DevOps Config.
DevOps Config - DELETE /devops_config/application/{appid}
Deletes an application.
URL format
Versioned URL: /api/sn_devops_config/{api_version}/devops_config/application/{appid}
Default URL: /api/sn_devops_config/devops_config/application/{appid}
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 |
| appid | Sys_id of the application to delete. Data type: String Table: CDM Application [sn_cdm_application] |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| None |
Headers
The 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.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The 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.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad request. Invalid application id. |
| 403 | Forbidden. The user doesn't have permission to access the API. |
Response body parameters (JSON)
| Name | Description |
|---|---|
| error | Error information. This parameter is only returned if the request failed. Data type: Object |
| error.detail | Additional details about why the request failed. Data type: String |
| error.message | Error message containing the reason the request failed. Data type: String |
| result | Result object containing information about the request. Data type: Object |
| result.errors | Array of errors from the request. The array is empty for successful
requests. Data type: Array |
| result.success | Success message for the request. The array is empty for failed requests. Data type: Array |
| status | Status of the request. This parameter is only returned if the request failed. Possible value: failure Data type: String |
cURL request
This example deletes an application.
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request DELETE \
--header "Accept:application/json" \
--user 'username':'password'
Response body.
{
"result": {
"errors": [],
"success": [
"CDM Application Demo Application 1234 has been deleted successfully."
]
}
}
cURL request
This example shows an error response when a user doesn't have permission to access the API.
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request DELETE \
--header "Accept:application/json" \
--user 'username':'password'
Error response.
{
"error": {
"message": "User Not Authorized",
"detail": "Failed API level ACL Validation"
},
"status": "failure"
}
DevOps Config - GET /devops_config/application/{appid}
Retrieves an application.
URL format
Versioned URL: /api/sn_devops_config/{api_version}/devops_config/application/{appid}
Default URL: /api/sn_devops_config/devops_config/application/{appid}
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 |
| appid | Sys_id of the application to retrieve. Data type: String Table: CDM Application [sn_cdm_application] |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| None |
Headers
The 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.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The 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.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad request. Invalid application id. |
| 403 | Forbidden. The user doesn't have permission to access the API. |
Response body parameters (JSON)
| Name | Description |
|---|---|
| error | Error information. This parameter is only returned if the request failed. Data type: Object |
| error.detail | Additional details about why the request failed. Data type: String |
| error.message | Error message containing the reason the request failed. Data type: String |
| result | Result object containing information about the request. Data type: Object |
| result.data | Data for the application. Data type: Object |
| result.data.appDescription | Description of the application. Data type: String |
| result.data.appId | Sys_id of the application. Data type: String Table: CDM Application [sn_cdm_application] |
| result.data.appManagedByGroups | Comma-separated list of sys_ids of the groups that manage the application. Data type: String Table: Group [sys_user_group] |
| result.data.appManufacturerId | Sys_id of the manufacturer. Data type: String Table: Company [core_company] |
| result.data.appManufacturerName | Name of the manufacturer. Data type: String |
| result.data.appModelId | Sys_id of the application model. Data type: String Table: Application Model [cmdb_application_product_model] |
| result.data.appModelName | Name of the application model. Data type: String Table: Application Model [cmdb_application_product_model] |
| result.data.appModelOwnerId | Sys_id of the application model owner. Data type: String Table: User [sys_user] |
| result.data.appModelOwnerName | Name of the application model owner. Data type: String |
| result.data.appName | Name of the application. Data type: String |
| result.data.error | Error information. This parameter is only returned if the request
failed. Data type: String |
| result.data.sdlcType | Type of application. Possible values:
Data type: String |
| result.message | Information about the successful or unsuccessful outcome of the request. Data type: String |
| result.status | Status code for the request. Possible values:
Data type: Number |
| status | Status of the request. This parameter is only returned if the request failed. Possible value: failure Data type: String |
cURL request
This example retrieves an application.
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
Response body.
{
"result": {
"status": 200,
"message": "Success",
"data": {
"appName": "Demo Application 1234",
"appId": "38e17dc3473d111072566862736d43c7",
"appDescription": "Updated description of Demo Application created from REST API",
"sdlcType": "application",
"appModelId": "a4e13dc3473d111072566862736d4307",
"appModelName": "Demo Application 1234",
"appManufacturerId": "262702654725d950a34a3085d36d435e",
"appManufacturerName": "",
"appModelOwnerId": "6816f79cc0a8016401c5a33be04be441",
"appModelOwnerName": "System Administrator",
"appManagedByGroups": []
}
}
}
cURL request
This example shows an error response when a user provides an invalid application id.
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/18a17de3283d15107256686277777777" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
Error response.
{
"result": {
"status": 400,
"message": "No valid Application",
"data": {
"error": "No valid Application"
}
}
}
DevOps Config - PATCH /devops_config/application/{appid}
Updates an application.
URL format
Versioned URL: /api/sn_devops_config/{api_version}/devops_config/application/{appid}
Default URL: /api/sn_devops_config/devops_config/application/{appid}
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 |
| appid | Sys_id of the application to update. Data type: String Table: CDM Application [sn_cdm_application] |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| appDescription | Description of the application. Data type: String |
| appManagedByGroups | Comma-separated list of sys_ids of the groups that manage the application. The calling user must belong to these groups.Data type: String Table: Group [sys_user_group] |
| appManufacturerId | Sys_id of the manufacturer. Data type: String Table: Company [core_company] |
| appModelOwnerId | Sys_id of the application model owner. Data type: String Table: User [sys_user] |
Headers
The 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.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Only supports application/json. |
| Content-Type | Data format of the request body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The 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.
| Status code | Description |
|---|---|
| 200 | Application successfully updated. |
| 403 | Forbidden. The user doesn't have permission to access the API. |
| 404 | Application not updated. The message property in the result object contains additional information about the error. |
Response body parameters (JSON)
| Name | Description |
|---|---|
| error | Error information. This parameter is only returned if the request failed. Data type: Object |
| error.detail | Additional details about why the request failed. Data type: String |
| error.message | Error message containing the reason the request failed. Data type: String |
| result | Result object containing information about the application. Data type: Object |
| result.data | Sys_id of the application. Data type: String Table: CDM Application [sn_cdm_application] |
| result.message | Information about the successful or unsuccessful outcome of the request. Data type: String |
| status | Status of the request. This parameter is only returned if the request failed. Possible value: failure Data type: String |
cURL request
This example updates an existing application.
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request PATCH \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"appDescription\": \"Updated description of Demo Application created from REST API\",
\"appManufacturerId\": \"262702654725d950a34a3085d36d435e\",
\"appModelOwnerId\": \"6816f79cc0a8016401c5a33be04be441\"
}" \
--user 'username':'password'
Response body.
{
"result": {
"message": "Application with name Demo Application 1234 updated successfully.",
"data": "38e17dc3473d111072566862736d43c7"
}
}
DevOps Config - POST /devops_config/application
Creates an application.
URL format
Versioned URL: /api/sn_devops_config/{api_version}/devops_config/application
Default URL: /api/sn_devops_config/devops_config/application
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 |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| appDescription | Description of the application. Data type: String |
| appManagedByGroups | Comma-separated list of sys_ids of the groups that manage the application. The calling user must belong to these groups.Data type: String Table: Group [sys_user_group] |
| appManufacturerId | Sys_id of the manufacturer. Data type: String Table: Company [core_company] |
| appModelId | Sys_id of an existing application model to use to create the application. If this parameter is provided, don't provide the appName, appModelName, appServiceName, appServiceId, or technicalServiceId parameters. Data type: String Table:Application Model [cmdb_application_product_model] |
| appModelName | Name of an existing application model to use to create the application. If this parameter is provided, don't provide the appName, appModelId, appServiceName, appServiceId, or technicalServiceId parameters. Data type: String Table: Application Model [cmdb_application_product_model] |
| appModelOwnerId | Sys_id of the application model owner. Data type: String Table: User [sys_user] |
| appName | Name of the application. Don't use the same name as any existing application. If this parameter is provided, don't provide the appModelName, appModelId, appServiceName, appServiceId, or technicalServiceId parameters. Data type: String |
| appServiceId | Sys_id of an existing application service to use to create the application. Use this parameter only when the type is application. If this parameter is provided, don't provide the appName, appModelName, appModelId, appServiceName, or technicalServiceId parameters. Data type: String Table: Service Instance [cmdb_ci_service_auto] |
| appServiceName | Name of an existing application service to use to create the application. Use this parameter only when the type is application. If this parameter is provided, don't provide the appName, appModelName, appModelId, appServiceId, or technicalServiceId parameters. Data type: String Table: Service Instance [cmdb_ci_service_auto] |
| technicalServiceId | Sys_id of an existing dynamic CI group to use to create the application. Use this parameter only when the type is infrastructure. If this parameter is provided, don't provide the appName, appModelName, appModelId, appServiceName, or appServiceId parameters. Data type: String Table: Dynamic CI Group [cmdb_ci_query_based_service] |
| type | Required. The type of application to create. Valid values:
Data type: String |
Headers
The 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.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Only supports application/json. |
| Content-Type | Data format of the request body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The 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.
| Status code | Description |
|---|---|
| 201 | Application successfully created. |
| 403 | Forbidden. The user doesn't have permission to access the API. |
| 404 | Application not created. The message property in the result object contains additional information about the error. |
Response body parameters (JSON)
| Name | Description |
|---|---|
| error | Error information. This parameter is only returned if the request failed. Data type: Object |
| error.detail | Additional details about why the request failed. Data type: String |
| error.message | Error message containing the reason the request failed. Data type: String |
| result | Result object containing information about the application. Data type: Object |
| result.data | Sys_id of the application. Data type: String Table: CDM Application [sn_cdm_application] |
| result.message | Information about the successful or unsuccessful outcome of the request. Data type: String |
| status | Status of the request. This parameter is only returned if the request failed. Possible value: failure Data type: String |
cURL request
This example shows how to create a new application.
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"type\": \"application\",
\"appName\": \"Demo Application 1234\",
\"appDescription\": \"Description of Demo Application created from REST API\",
\"appManufacturerId\": \"262702654725d950a34a3085d36d435e\",
\"appModelOwnerId\": \"6816f79cc0a8016401c5a33be04be441\"
}" \
--user 'username':'password'
Response body.
{
"result": {
"message": "Application with name Demo Application 1234 created successfully.",
"data": "38e17dc3473d111072566862736d43c7"
}
}