DevOps Config API

concept australia Updated Sep 10, 2026 13 min read devops-config-api.md
Raw file servicenow.com

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.

Parent Topic:REST API reference

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}

Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.

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

Text
"error": {     "detail": "String",   "message": "String"}

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

JavaScript
"result": {   "errors": [Array],   "success": [Array] }

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.

Shell
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.

JSON
{   "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.

Shell
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.

JSON
{   "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}

Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.

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

Text
"error": {     "detail": "String",   "message": "String"}

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

JavaScript
"result": {   "data": {Object},  "message": "String",  "status": Number}

result.data

Data for the application.Data type: Object

JavaScript
"data": {   "appDescription": "String",   "appId": "String",  "appManagedByGroups": [Array],  "appManufacturerId": "String",   "appManufacturerName": "String",   "appModelId": "String",   "appModelName": "String",   "appModelOwnerId": "String",   "appModelOwnerName": "String",   "appName": "String",   "sdlcType": "String"}

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:

  • application
  • infrastructure

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:

  • 200
  • 400
  • 403

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.

Shell
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.

JSON
{   "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.

Shell
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.

JSON
{   "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}

Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.

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.``` "appManagedByGroups": "sys_id, sys_id"

Text
Data type: String
Table: Group \[sys\_user\_group\]
</td></tr><tr><td>
appManufacturerId
</td><td id="app-mfct">
Sys\_id of the manufacturer.Data type: String
Table: Company \[core\_company\]
</td></tr><tr><td>
appModelOwnerId
</td><td id="app-owner-id">
Sys\_id of the application model owner.Data type: String
Table: User \[sys\_user\]
</td></tr></tbody></table>### 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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).
|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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).
|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\)
<table id="table_z3v_z5d_gvb"><thead><tr><th>
Name
</th><th>
Description
</th></tr></thead><tbody><tr><td>
error
</td><td>
Error information. This parameter is only returned if the request failed.Data type: Object

"error": {
"detail": "String", "message": "String" }

Text
</td></tr><tr><td>
error.detail
</td><td>
Additional details about why the request failed.Data type: String
</td></tr><tr><td>
error.message
</td><td>
Error message containing the reason the request failed.Data type: String
</td></tr><tr><td>
result
</td><td>
Result object containing information about the application.Data type: Object

"result": { "data": "String", "message": "String" }

Text
</td></tr><tr><td>
result.data
</td><td>
Sys\_id of the application.Data type: String
Table: CDM Application \[sn\_cdm\_application\]
</td></tr><tr><td>
result.message
</td><td>
Information about the successful or unsuccessful outcome of the request.Data type: String
</td></tr><tr><td>
status
</td><td>
Status of the request. This parameter is only returned if the request failed.Possible value: failure
Data type: String
</td></tr></tbody></table>### 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'

Text
Response body.

{ "result": { "message": "Application with name Demo Application 1234 updated successfully.", "data": "38e17dc3473d111072566862736d43c7" } }

Text
## 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`
**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).
### Supported request parameters
<table class="rest_api_path_parameters"><thead><tr><th>
Name
</th><th>
Description
</th></tr></thead><tbody><tr><td>
api\_version
</td><td id="version-entry-RESTAPI">
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
</td></tr></tbody></table>|Name|Description||----|-----------||None| |
<table class="rest_api_request_body"><thead><tr><th>
Name
</th><th>
Description
</th></tr></thead><tbody><tr><td>
appDescription
</td><td id="app-descr">
Description of the application.Data type: String
</td></tr><tr><td>
appManagedByGroups
</td><td>
Comma-separated list of sys\_ids of the groups that manage the application. The calling user must belong to these groups.```"appManagedByGroups": "sys_id, sys_id"

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:

  • application
  • infrastructure

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

Text
"error": {     "detail": "String",   "message": "String"}

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

Text
"result": {    "data": "String",   "message": "String"}

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.

Shell
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.

JSON
{   "result": {     "message": "Application with name Demo Application 1234 created successfully.",     "data": "38e17dc3473d111072566862736d43c7"   } }
Search documentation
Search document titles and file paths on the australia branch