--- title: SG Services API description: The SG Services API provides endpoints to create and manage application services and the upstream relationships between them.Converts a manual or empty type application service to a calculated application service. During conversion, the application service record moves into the \[cmdb\_ci\_service\_calculated\] table with the newly assigned class.Deletes an application service.Finds the details of a given application service and its upstream relationships.Populates an application service with a service population method.Creates an application service, tags and constructs upstream relationships such as business applications, business service offerings, and other application services.Constructs upstream relations such as business applications, business service offerings, and other application services.Deletes an application service upstream relationship.Changes the application service lifecycle state to activate, deactivate, or retire.Updates an existing application service provided and creates tags for the given application service. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/sg\_services-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 32 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # SG Services API The SG Services API provides endpoints to create and manage application services and the upstream relationships between them. ## Request apps on the Store Visit the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the [ServiceNow Store release notes](https://www.servicenow.com/docs/r/store-release-notes/sn-store-release-notes.html). This API can only be used when the CMDB Application API and CLI \(sn\_service\_graph\) plugin is activated. This API is used within the `sn_service_graph` namespace. Using this API does not require details regarding source tables or relationship types. To script critical operations which support automation across the enterprise, you can leverage APIs or run command line operations that the CMDB Application CLI and API store app provide instead of using the user interface. The CMDB Application CLI and API store app provides a robust framework which consolidates all the APIs that are related to application services and the command lines that let you access the interface to those APIs. CMDB Application CLI and API commands enable the following tasks: - Registering and creating an application service and establishing upstream relationships - Getting details of a given application service and its upstream relationships - Connecting higher level constructs such as business applications and business service offerings - Populating an application service with a given population type - Changing the state of an application service For the command line solution, see [CMDB Application CLI and API available commands](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/application-development/cmdb-cli-commands.md). **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md) ## SG Services – POST /sg\_services/app\_service/convert Converts a manual or empty type application service to a calculated application service. During conversion, the application service record moves into the \[cmdb\_ci\_service\_calculated\] table with the newly assigned class. The following properties for identifying a CI take precedence as follows: 1. sys\_id – If sys\_id, the system only uses the sys\_id and ignores any additional values. 2. number – If provided without the sys\_id, the system only uses the number and ignores any additional values. 3. <IRE field name> – The system only uses these values if the sys\_id or number are not provided. ### URL format Versioned URL: `/api/sn_service_graph/{api_version}/sg_services/app_service/convert` Default URL: `/api/sn_service_graph/sg_services/app_service/convert` **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
| 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 |
|---|---|
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| levels | Number of levels to include in the conversion.Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| Name | Description |
|---|---|
| status | Indicates success or failure.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| Name | Description |
|---|---|
| status | Indicates success or failure.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| <IRE fields> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| Name | Description |
|---|---|
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| operational\_status | Operational status of the application service. For example, active.Data type: String |
| relationships | List of objects defining the application service's upstream relationships.Data type: Array ``` "relationships": [ { "name": "String", "number": "String", "sys_id": "String", "class_name": "String", "relationship": "String" } ] ``` |
| relationships.class\_name | Name of the class that contains the application service.Data type: String |
| relationships.name | Name of the relationship.Data type: String |
| relationships.number | Unique number of the relationship.Data type: String |
| relationships.relationship | The relationship rule.Data type: String |
| relationships.sys\_id | Sys\_id of the relationship.Data type: String |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| population\_method | Required. Identifies the population method and its accompanying property to identify the content for population.Only one accompanying object is valid per type. Data type: Object |
| population\_method.group\_id | Group ID of the CMDB group configured with the cmdb\_group population type.Data type: "String" ``` "population_method": { "group_id": "String", "type": "cmdb_group" } ``` Associated population type: cmdb\_group |
| population\_method.levels | Number of levels to use in building the service. If the level value is not provided, the system checks the sys\_property for the value. If svc.manual.convert.levels.default\_value is not populated, a default value of 3 is used.Data type: Number ``` "population_method": { "levels": Number, "type": "dynamic_service" } ``` Associated population type: dynamic\_service Default: 3 if no level value is set for the sys\_property |
| population\_method.service\_candidate | Unique identifier of the service candidate. Data type: String ``` "population_method": { "service_candidate": "String", "type": "tag_based_service_family" } ``` Associated population type: tag\_based\_service\_family |
| population\_method.service\_relations | List of objects containing hierarchy data for the CIs within the application service. All CIs form pairs with a parent and child CI. The top-level CI, referred to as the entry point of an application service, does not have a parent CI.Data type: Array ``` "population_method": { "service_relations":[ { "child": "String", "parent": "String" } ], "type": "service_hierarchy" } ``` Associated population type: service\_hierarchy |
| population\_method.service\_relations.child | Name of a child CI related to the CI.Data type: String |
| population\_method.service\_relations.parent | Name of a parent CI related to the CI.Data type: String |
| population\_method.tags | List of objects containing tags to associate with the CI. This information is located in the Key Values \[cmdb\_key\_value\] table.Data type: Array ``` "population_method": { "tags": [ { "tag": "String", "value": "String" } ], "type": "tag_list" } ``` Associated population type: tag\_list |
| population\_method.tags.tag | Tag name.Data type: String |
| population\_method.tags.value | Tag value.Data type: String |
| population\_method.type | Required. Population type to add to the application service.Data type: Object Valid values: - cmdb\_group - service\_hierarchy - dynamic\_service - tag\_list - tag\_based\_service\_family |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| Name | Description |
|---|---|
| status | Indicates success or failure.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| relationships | Upstream relationships categorized by type.Data type: Object ``` "relationships": { "business_app": [Array], "business_service_offering": [Array], "parent_app_service": [Array], "technical_service_offering": [Array] } ``` Maximum number of relationships is 25. |
| relationships.business\_app | List of objects representing Business Application relationship types. These values can be defined using one of the following items as key-value pairs. - <IRE field name> - number - sys\_id Data type: Array |
| relationships.business\_service\_offering | List of objects representing Business Service Offering relationship types. These values can be defined using the following items as key-value pairs. - <IRE field name> - number - sys\_id Data type: Array |
| relationships.parent\_app\_service | List of objects representing Application Service relationship types. These values can be defined using the following items as key-value pairs. - <IRE field name> - number - sys\_id Data type: Array |
| relationships.technical\_service\_offering | List of objects representing technology management offering \(formerly technical service offering\)relationship types. These values can be defined using the following items as key-value pairs. - <IRE field name> - number - sys\_id Data type: Array |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| tags | List of objects containing tag definitions as key-value pairs.``` "tags": [ { "key": "String", "value": "String" }] ``` Data type: Array |
| tags.key | Tag category name.Data type: String |
| tags.value | Tag value.Data type: String |
| cHeader | Description |
|---|---|
| app\_service | Application service details.Data type: Object ``` "app_service": { "name": "String", "number": "String", "sys_id": "String" } ``` |
| app\_service.name | Name of the application service.Data type: String |
| app\_service.number | Unique number that identifies the application service. Data type: String |
| app\_service.sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| message | Message describing the status.Possible values: - Service already exists - Service registered successfully Data type: String |
| status | Status indicating whether the service has been registered.Possible values: - Insert: The application service was successfully created. - No action: The application service already exists. No action taken. Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| child |
Information identifying the child application service with which to create a relationship.A dynamic CI group can be added as a child but cannot be parent.
Data type: Object
```
"child": {
" |
| child.<service\_app\_identifier> | Details identifying the child application service with which to create a relationship.Only one option is required. Each option is listed by processing precedence: - sys\_id: Sys\_id of the child application service. - number: Unique number that identifies the child application service. - <IRE field name>: IRE fields identifying the application service. For example, name or version. Data type: String |
| parent |
Details identifying the parent application service with which to create a relationship.Data type: Object
```
"parent": {
" |
| parent.<service\_app\_identifier> | Information identifying the application service.Only one option is required. Each option is listed by processing precedence: - sys\_id: Sys\_id the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\]. - number: Unique number that identifies the application service. - <IRE field name>: One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| parent.class\_name | Name of the class that contains the application service.The parent class name should be from one of the following tables: - cmdb\_ci\_business\_app - cmdb\_ci\_service\_auto - cmdb\_ci\_service\_by\_tags - cmdb\_ci\_service\_calculated - cmdb\_ci\_service\_discovered - service\_offering Default: cmdb\_ci\_service\_auto Data type: String |
| Name | Description |
|---|---|
| status | Indicates success or failure.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| child |
Information describing the child relationship to be deleted from the service application.Data type: Object
```
"child": {
" |
| child.<IRE field name> | One or more IRE fields identifying the child application service. For example, name or version.Data type: String |
| child.number | Unique number that identifies the child application service.Data type: String |
| child.sys\_id | Sys\_id of the child application service listed in the Service Instance \[cmdb\_ci\_service\_auto\].Data type: String |
| parent |
Details identifying the parent application service from which to remove a relationship.Data type: Object
```
"parent": {
" |
| parent.<IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| parent.number | Unique number that identifies the application service. Data type: String |
| parent.sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| parent.class\_name | Name of the class that contains the application service.The parent class name should be from one of the following tables: - cmdb\_ci\_service\_auto - cmdb\_ci\_service\_discovered - cmdb\_ci\_service\_by\_tags - cmdb\_ci\_service\_calculated - service\_offering - cmdb\_ci\_business\_app Default: cmdb\_ci\_service\_auto Data type: String |
| Name | Description |
|---|---|
| status | Indicates success or failure.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| state | Required. Lifecycle state of the application service. Valid values: - ACTIVATE – Life cycle is operational and in use. - life\_cycle\_stage=Operational - life\_cycle\_stage\_status=In Use - operational\_status=Operational - DEACTIVATE – Life cycle is not operational and is in the design stage. - life\_cycle\_stage=Design - life\_cycle\_stage\_status=Build - operational\_status=Non-Operational - RETIRE – End of life. - life\_cycle\_stage=End Of Life - life\_cycle\_stage\_status=Retired - operational\_status=Retired Data type: String Stored in: Service Instance \[cmdb\_ci\_service\_auto\] |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| Name | Description |
|---|---|
| status | Indicates success or failure.Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| <fields or tags to update> | Use key-value pairs to identify each field or tag to be updated.Only basic information can be updated, no upstream relationships can be updated. Data type: String |
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. You can send the sys\_id, number or IRE to identify an application service; however, none of these fields can be updated when used as an identifier. To update the IRE fields, input should include the sys\_id or number as an identifier. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| Name | Description |
|---|---|
| <IRE field name> | One or more IRE fields identifying the application service. For example, name or version. Data type: String |
| number | Unique number that identifies the application service. Data type: String |
| sys\_id | Sys\_id of the application service listed in the Service Instance \[cmdb\_ci\_service\_auto\] table. Data type: String |
| <updated fields> | If the update is successful, each modified field sent in the payload is listed in the response body. |