---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# SG Services API

# SG Services API {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 27 minutes to read

The SG Services API provides endpoints to create and manage
application services and the upstream relationships between them.

## Request apps on the Store {#sg_services-api__section_eck_nxy_pqb}

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/bundle/store-release-notes/page/release-notes/store/sn-store-release-notes.html).{#sg_services-api__inline-send-to-store}
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
{#sg_services-api__ul_q4w_dgj_3qb}

For the command line solution, see [CMDB Application CLI and API available
commands](https://www.servicenow.com/docs/access?context=cmdb-cli-commands&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US).

## SG Services -- POST --
/sg_services/app_service/convert {#ariaid-title2}

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.
{#sg_svcs-POST-convert__ol_qk4_msd_3qb}

### 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

### Supported request parameters

{#sg_svcs-POST-convert__entry__2}{#sg_svcs-POST-convert__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 1. Path parameters]

{#sg_svcs-POST-convert__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 2. Query parameters]

{#sg_svcs-POST-convert__entry__10}{#sg_svcs-POST-convert__sg_svcs-reqParm-ire-ph}{#sg_svcs-POST-convert__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-convert__sg_svcs-reqParm-sysid-ph}

| 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 Application Service \[cmdb_ci_service_auto\] table. Data type: String |
[Table 3. Request body parameters (JSON)]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-convert__entry__20}{#sg_svcs-POST-convert__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 4. Request headers]

{#sg_svcs-POST-convert__entry__24}

| Header | Description |
|-|-|
| None |   |
[Table 5. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-convert__entry__28}{#sg_svcs-POST-convert__entry-200-status-code}{#sg_svcs-POST-convert__entry-400-status-code}{#sg_svcs-POST-convert__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 6. Status codes]

### Response body parameters (JSON) {#sg_svcs-POST-convert__section_hyx_jnx_gqb}

{#sg_svcs-POST-convert__table_iyx_jnx_gqb__entry__2}

| Name | Description |
|-|-|
| status | Indicates success or failure. Data type: String |
[ ]

{#sg_svcs-POST-convert__table_iyx_jnx_gqb}  

### cURL request

The following example shows how to convert an application service type.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/convert" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
     \"name\": \"Test Register\",
     \"environment\": \"Test\",
     \"version\": \"1.0\",
     \"levels\" : 8
    }" \
    --user 'username':'password'

Results indicating a successful conversion to a calculated application service.

    {
      "result": {
      "status": "success"
      }
    }

## SG Services -- POST --
/sg_services/app_service/delete {#ariaid-title3}

Deletes an application service.
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.
{#sg_svcs-POST-delete__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/delete

Default URL:
/api/sn_service_graph/sg_services/app_service/delete

### Supported request parameters

{#sg_svcs-POST-delete__entry__2}{#sg_svcs-POST-delete__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 7. Path parameters]

{#sg_svcs-POST-delete__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 8. Query parameters]

{#sg_svcs-POST-delete__table_e5t_gwt_gqb__entry__2}{#sg_svcs-POST-delete__sg_svcs-reqParm-ire-ph}{#sg_svcs-POST-delete__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-delete__sg_svcs-reqParm-sysid-ph}

| 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 Application Service \[cmdb_ci_service_auto\] table. Data type: String |
[Table 9. Request body parameters (JSON)]

{#sg_svcs-POST-delete__table_e5t_gwt_gqb}

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-delete__entry__18}{#sg_svcs-POST-delete__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 10. Request headers]

{#sg_svcs-POST-delete__entry__22}

| Header | Description |
|-|-|
| None |   |
[Table 11. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-delete__entry__26}{#sg_svcs-POST-delete__entry-200-status-code}{#sg_svcs-POST-delete__entry-400-status-code}{#sg_svcs-POST-delete__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 12. Status codes]

### Response body parameters (JSON)

{#sg_svcs-POST-delete__table_pvd_l5t_gqb__entry__2}

| Name | Description |
|-|-|
| status | Indicates success or failure. Data type: String |
[ ]

{#sg_svcs-POST-delete__table_pvd_l5t_gqb}  

### cURL request

The following example shows how to delete an application service.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/delete" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"name\": \"Test Register\",
       \"environment\": \"Test\",
       \"version\": \"1.0\"
    }" \
    --user 'username':'password'

Results indicating a successful removal of an application service.

    {
      "result": {
      "status": "success"
      }
    }

## SG Services -- POST --
/sg_services/app_service/find {#ariaid-title4}

Finds the details of a given application service and its upstream relationships.
Users with the app_service_user role can use this API, but results are restricted to
application services in Operational status. The app_service_admin role provides unlimited
viewing of application services.  
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.
{#sg_svcs-POST-find__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/find

Default URL:
/api/sn_service_graph/sg_services/app_service/find

### Supported request parameters

{#sg_svcs-POST-find__entry__2}{#sg_svcs-POST-find__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 13. Path parameters]

{#sg_svcs-POST-find__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 14. Query parameters]

{#sg_svcs-POST-find__entry__10}{#sg_svcs-POST-find__sg_svcs-reqParm-ire-ph}{#sg_svcs-POST-find__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-find__sg_svcs-reqParm-sysid-ph}

| 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 Application Service \[cmdb_ci_service_auto\] table. Data type: String |
[Table 15. Request body parameters (JSON)]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-find__entry__18}{#sg_svcs-POST-find__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 16. Request headers]

{#sg_svcs-POST-find__entry__22}

| Header | Description |
|-|-|
| None |   |
[Table 17. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-find__entry__26}{#sg_svcs-POST-find__entry-200-status-code}{#sg_svcs-POST-find__entry-400-status-code}{#sg_svcs-POST-find__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 18. Status codes]

### Response body parameters (JSON) {#sg_svcs-POST-find__section_hyx_jnx_gqb}

{#sg_svcs-POST-find__table_iyx_jnx_gqb__entry__2}{#sg_svcs-POST-find__d3004e239}

| 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 Application Service \[cmdb_ci_service_auto\] table. Data type: String |
[ ]

{#sg_svcs-POST-find__table_iyx_jnx_gqb}  

### cURL request

The following example shows how to find details of an application service.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/find" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"name\": \"Test App Service1\"
     }" \
    --user 'username':'password'

The response body includes the application service and relationship information.

    {
      "result": {
        "aliases": null,
        "asset": null,
        "asset_tag": null,
        "assigned": "",
        "assigned_to": null,
        "assignment_group": null,
        "attestation_score": null,
        "attested": "0",
        "attested_by": null,
        "attested_date": "",
        "attributes": null,
        "bucket": null,
        "business_contact": null,
        "business_need": null,
        "business_relation_manager": null,
        "business_unit": null,
        "busines_criticality": "4 - not critical",
        "can_print": "0",
        "category": null,
        "change_control": null,
        "checked_in": "",
        "checked_out": "",
        "checkout": null,
        "comments": null,
        "company": null,
        "compatibility_dependencies": null,
        "consumer_type": "internal",
        "correlation_id": null,
        "cost": null,
        "cost_cc": "USD",
        "cost_center": null,
        "delivery_date": "",
        "delivery_manager": null,
        "department": null,
        "discovery_source": "Manual Entry",
        "dns_domain": null,
        "due": "",
        "due_in": null,
        "duplicate_of": null,
        "end_date": "",
        "environment": null,
        "fault_count": "0",
        "first_discovered": "2021-07-19 20:09:48",
        "fqdn": null,
        "gl_account": null,
        "hide_from_dashboard": "0",
        "install_date": "",
        "install_status": "1",
        "invoice_number": null,
        "ip_address": null,
        "justification": null,
        "last_discovered": "2021-07-19 20:09:48",
        "last_review_date": "",
        "layer": null,
        "lease_id": null,
        "life_cycle_stage": null,
        "life_cycle_stage_status": null,
        "location": null,
        "mac_address": null,
        "maintenance_schedule": null,
        "managed_by": null,
        "managed_by_group": null,
        "manufacturer": null,
        "model_id": null,
        "model_number": null,
        "monitor": "0",
        "monitoring_requirements": null,
        "name": "Test App Service1",
        "number": "SNSVC0001014",
        "operational_status": "2",
        "order_date": "",
        "owned_by": null,
        "parent": null,
        "portfolio_status": "pipeline",
        "po_number": null,
        "prerequisites": null,
        "price_model": "per_unit",
        "price_unit": null,
        "published_ref": null,
        "purchase_date": "",
        "schedule": null,
        "serial_number": null,
        "service_classification": "Application Service",
        "service_level_requirement": null,
        "service_owner_delegate": null,
        "service_status": "requirements",
        "severity": null,
        "short_description": null,
        "skip_sync": "0",
        "sla": null,
        "spm_service_portfolio": null,
        "spm_taxonomy_node": null,
        "stakeholders": null,
        "start_date": "",
        "state": null,
        "subcategory": null,
        "supported_by": null,
        "support_group": null,
        "sys_class_name": "cmdb_ci_service_auto",
        "sys_class_path": "/!!/!7/!(",
        "sys_created_by": "admin",
        "sys_created_on": "2021-07-19 20:09:48",
        "sys_domain": "global",
        "sys_domain_path": "/",
        "sys_id": "a2f0618040697410f87713b656474255",
        "sys_mod_count": "0",
        "sys_updated_by": "admin",
        "sys_updated_on": "2021-07-19 20:09:48",
        "unit_description": null,
        "unverified": "0",
        "used_for": "Production",
        "user_group": null,
        "vendor": null,
        "version": null,
        "view_service": "61e1cb757f23220002d31ccebefa9120",
        "warranty_expiration": "",
        "relationships": [
          {
            "name": "Test Biz App1",
            "sys_id": "0250a94040697410f87713b656474250",
            "number": "APM0001001",
            "class_name": "cmdb_ci_business_app",
            "relationship": "Consumes::Consumed by"
          },
          {
            "name": "Tech Service Offering1",
            "sys_id": "98d0ed4040697410f87713b6564742ef",
            "number": "BSN0001005",
            "class_name": "service_offering",
            "relationship": "Contains::Contained by"
          }
        ]
      }
    }

## SG Services -- POST --
/sg_services/app_service/populate {#ariaid-title5}

Populates an application service with a service population method.
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.
{#sg_svcs-POST-populate__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/populate

Default URL:
/api/sn_service_graph/sg_services/app_service/populate

### Supported request parameters

{#sg_svcs-POST-populate__entry__2}{#sg_svcs-POST-populate__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 19. Path parameters]

{#sg_svcs-POST-populate__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 20. Query parameters]

{#sg_svcs-POST-populate__entry__10}{#sg_svcs-POST-populate__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-populate__sg_svcs-reqParm-sysid-ph}

| 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 {#sg_svcs-POST-populate__ul_f2v_4by_gqb} |
| sys_id | Sys_id of the application service listed in the Application Service \[cmdb_ci_service_auto\] table. Data type: String |
[Table 21. Request body parameters (JSON)]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-populate__entry__40}{#sg_svcs-POST-populate__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 22. Request headers]

{#sg_svcs-POST-populate__entry__44}

| Header | Description |
|-|-|
| None |   |
[Table 23. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-populate__entry__48}{#sg_svcs-POST-populate__entry-200-status-code}{#sg_svcs-POST-populate__entry-400-status-code}{#sg_svcs-POST-populate__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 24. Status codes]

### Response body parameters (JSON) {#sg_svcs-POST-populate__section_hyx_jnx_gqb}

{#sg_svcs-POST-populate__table_iyx_jnx_gqb__entry__2}

| Name | Description |
|-|-|
| status | Indicates success or failure. Data type: String |
[ ]

{#sg_svcs-POST-populate__table_iyx_jnx_gqb}  

### cURL request

The following example shows how to populate an application service with a dynamic_service
type.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/populate" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"name\": \"Test Register\",
      \"environment\": \"Test\",
      \"version\": \"1.0\",

     \"population_method\": {
       \"type\": \"dynamic_service\",
       \"levels\" : 8
      }
    }" \
    --user 'username':'password'

Results indicating a successful population of an application service.

    {
      "result": {
      "status": "success"
      }
    }

## SG Services -- POST -- /sg_services/app_service/register {#ariaid-title6}

Creates an application service, tags and constructs upstream relationships such as business applications, business service offerings, and other application services.
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.
{#sg_svcs-POST-register__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/register

Default URL:
/api/sn_service_graph/sg_services/app_service/register

### Supported request parameters

{#sg_svcs-POST-register__entry__2}{#sg_svcs-POST-register__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 25. Path parameters]

{#sg_svcs-POST-register__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 26. Query parameters]

{#sg_svcs-POST-register__entry__10}{#sg_svcs-POST-register__sg_svcs-reqParm-ire-ph}{#sg_svcs-POST-register__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-register__sg_svcs-reqParm-sysid-ph}

| 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 {#sg_svcs-POST-register__ul_gh2_52y_gqb} 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 {#sg_svcs-POST-register__ul_hh2_52y_gqb} 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 {#sg_svcs-POST-register__ul_jh2_52y_gqb} Data type: Array |
| relationships.technical_service_offering | List of objects representing Technical Service Offering relationship types. These values can be defined using the following items as key-value pairs. * \<IRE field name\> * number * sys_id {#sg_svcs-POST-register__ul_ih2_52y_gqb} Data type: Array |
| sys_id | Sys_id of the application service listed in the Application Service \[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 |
[Table 27. Request body parameters (JSON)]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-register__entry__34}{#sg_svcs-POST-register__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 28. Request headers]

{#sg_svcs-POST-register__entry__38}

| cHeader | Description |
|-|-|
| none |   |
[Table 29. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-register__entry__42}{#sg_svcs-POST-register__entry-200-status-code}{#sg_svcs-POST-register__entry-400-status-code}{#sg_svcs-POST-register__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 30. Status codes]

### Response body parameters (JSON)

{#sg_svcs-POST-register__entry__52}

| 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 Application Service \[cmdb_ci_service_auto\] table. Data type: String |
| message | Message describing the status. Possible values: * Service already exists * Service registered successfully {#sg_svcs-POST-register__ul_jwp_x41_hqb} 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. {#sg_svcs-POST-register__ul_kwp_x41_hqb} Data type: String |
[ ]

### cURL request

The following example shows how to register an application service.

    curl "instance.service-now.com/api/sn_service_graph/sg_services/app_service/register" \--request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"name\": \"Test Register\",
      \"environment\": \"Test\",
      \"version\": \"1.0\",
      \"number\": \" SNSVC0001014\",
      \"relationships\": {
        \"business_application\": [
          {
            \"sys_id\": \"0250a94040697410f87713b656474250\"
          },
          {
            \"number\": \"APM0001002\"
          },
          {
            \"name\": \"Test Biz App1\"
          }
        ],
        \"business_service_offering\": [
          {
            \"sys_id\": \"ed32e98040697410f87713b656474259\"
          }
        ],
        \"technical_service_offering\": [
          {
            \"sys_id\": \"80e12d8040697410f87713b65647421c\"
          },
          {
            \"number\": \"BSN0001005\"
          },
          {
            \"name\": \"Tech Service Offering2\"
          }
        ],
        \"parent_app_service\": [
          {
            \"sys_id\": \"a2f0618040697410f87713b656474255\"
          }
        ]
      },
      \"tags\": [
        {
          \"key\": \"key1\",
          \"value\": \"value1\"
        },
        {
          \"key\": \"key2\",
          \"value\": \"value2\"
        }
      ]
    }" \
    --user 'username':'password'

The response body includes ID and status information.

    {
      "result": {
        "app_service": {
          "sys_id": "5780cb604061f410f87713b656474271",
          "name": "Test Register",
          "number": " SNSVC0001014"
        },
        "message": "Service registered successfully",
        "status": "INSERT"
      }
    }

## SG Services -- POST -- /sg_services/app_service/relationship/create {#ariaid-title7}

Constructs upstream relations such as business applications, business service offerings, and other application services.
This API creates a relationship, taking input with a single parent and a corresponding
child object.  
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.
{#sg_svcs-POST-rel-create__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/relationship/create

Default URL:
/api/sn_service_graph/sg_services/app_service/relationship/create

### Supported request parameters

{#sg_svcs-POST-rel-create__entry__2}{#sg_svcs-POST-rel-create__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 31. Path parameters]

{#sg_svcs-POST-rel-create__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 32. Query parameters]

{#sg_svcs-POST-rel-create__entry__10}

| Name | Description |
|-|-|
| child | Information identifying the child application service with which to create a relationship. The child is located in the Application Service \[cmdb_ci_service_auto\] table. A dynamic CI group can be added as a child but cannot be parent. Data type: Object "child": { "<service_app_identifier>": "String" } |
| 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. {#sg_svcs-POST-rel-create__ul_hfz_zjd_3qb} Data type: String |
| parent | Details identifying the parent application service with which to create a relationship. Data type: Object "parent": { "<service_app_identifier>": "String", "class_name": "String" } |
| 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 Application Service \[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. {#sg_svcs-POST-rel-create__ul_jfk_mjd_3qb} 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 {#sg_svcs-POST-rel-create__ul_xlk_nc1_hqb} Default: cmdb_ci_service_auto Data type: String |
[Table 33. Request body parameters (JSON)]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-rel-create__entry__22}{#sg_svcs-POST-rel-create__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 34. Request headers]

{#sg_svcs-POST-rel-create__entry__26}

| Header | Description |
|-|-|
| None |   |
[Table 35. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-rel-create__entry__30}{#sg_svcs-POST-rel-create__entry-200-status-code}{#sg_svcs-POST-rel-create__entry-400-status-code}{#sg_svcs-POST-rel-create__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 36. Status codes]

### Response body parameters (JSON) {#sg_svcs-POST-rel-create__section_hyx_jnx_gqb}

{#sg_svcs-POST-rel-create__table_iyx_jnx_gqb__entry__2}

| Name | Description |
|-|-|
| status | Indicates success or failure. Data type: String |
[ ]

{#sg_svcs-POST-rel-create__table_iyx_jnx_gqb}  

### cURL request

The following example shows how create a relationship from an application service.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/relationship/create" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"child\": {
       \"name\": \"wdfsdf\",
       \"environment\": \"Test\",
       \"version\": \"1.0\"
       },
      \"parent\": {
       \"sys_id\": \"abcdefg\",
       \"name\": \"business App1\",
       \"class_name\": \"service_offering\"
      }
    }" \
    --user 'username':'password'

Results indicating a successful creation of an application service relationship.

    {
      "result": {
      "status": "success"
      }
    }

## SG Services -- POST -- /sg_services/app_service/relationship/delete {#ariaid-title8}

Deletes an application service upstream relationship.
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.
{#sg_svcs-POST-rel-delete__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/relationship/delete

Default URL:
/api/sn_service_graph/sg_services/app_service/relationship/delete

### Supported request parameters

{#sg_svcs-POST-rel-delete__entry__2}{#sg_svcs-POST-rel-delete__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 37. Path parameters]

{#sg_svcs-POST-rel-delete__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 38. Query parameters]

{#sg_svcs-POST-rel-delete__entry__10}{#sg_svcs-POST-rel-delete__sg_svcs-reqParm-ire-ph}{#sg_svcs-POST-rel-delete__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-rel-delete__sg_svcs-reqParm-sysid-ph}

| Name | Description |
|-|-|
| child | Information describing the child relationship to be deleted from the service application. Data type: Object "child": { "<IRE field name>": "String", "number": "String", "sys_id": "String" } |
| 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 Application Service \[cmdb_ci_service_auto\]. Data type: String |
| parent | Details identifying the parent application service from which to remove a relationship. Data type: Object "parent": { "<IRE field name>": "String", "number": "String", "sys_id": "String", "class_name": "String" } |
| 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 Application Service \[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 {#sg_svcs-POST-rel-delete__ul_ktf_45d_3qb} Default: cmdb_ci_service_auto Data type: String |
[Table 39. Request body parameters (JSON)]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-rel-delete__entry__30}{#sg_svcs-POST-rel-delete__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 40. Request headers]

{#sg_svcs-POST-rel-delete__entry__34}

| Header | Description |
|-|-|
| None |   |
[Table 41. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-rel-delete__entry__38}{#sg_svcs-POST-rel-delete__entry-200-status-code}{#sg_svcs-POST-rel-delete__entry-400-status-code}{#sg_svcs-POST-rel-delete__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 42. Status codes]

### Response body parameters (JSON)

{#sg_svcs-POST-rel-delete__entry__48}

| Name | Description |
|-|-|
| status | Indicates success or failure. Data type: String |
[ ]

### cURL request

The following example shows how to remove a relationship from an application service.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/relationship/delete" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"child\": {
      \"name\": \"Test Register\",
      \"environment\": \"Test\",
      \"version\": \"1.0\"

      },
      \"parent\": {
       \"sys_id\": \"abcdefg\",
       \"name\": \"business App1\",
       \"class_name\": \"service_offering\"
         }
     }" \
    --user 'username':'password'

Results indicating a successful removal of an application service relationship.

    {
      "result": {
      "status": "success"
      }
    }

## SG Services -- POST -- /sg_services/app_service/state {#ariaid-title9}

Changes the application service lifecycle state to activate, deactivate, or retire.
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.
{#sg_svcs-POST-state__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/state

Default URL:
/api/sn_service_graph/sg_services/app_service/state

### Supported request parameters

{#sg_svcs-POST-state__entry__2}{#sg_svcs-POST-state__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 43. Path parameters]

{#sg_svcs-POST-state__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 44. Query parameters]

{#sg_svcs-POST-state__table_h3q_lsx_gqb__entry__2}{#sg_svcs-POST-state__sg_svcs-reqParm-ire-ph}{#sg_svcs-POST-state__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-state__sg_svcs-reqParm-sysid-ph}

| 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. These values are updated in the Application Services \[cmdb_ci_service_auto\] table. Valid values: * ACTIVATE -- Life cycle is operational and in use. * operational_status=Operational * life_cycle_stage=Operational * life_cycle_stage_status=In Use {#sg_svcs-POST-state__ul_mkp_kzd_3qb} * DEACTIVATE -- Life cycle is not operational and is in the design stage. * operational_status=Non-Operational * life_cycle_stage=Design * life_cycle_stage_status=Build {#sg_svcs-POST-state__ul_pq4_lzd_3qb} * RETIRE -- End of life. * operational_status=Retired * life_cycle_stage=End Of Life * life_cycle_stage_status=Retired {#sg_svcs-POST-state__ul_x5w_lzd_3qb} {#sg_svcs-POST-state__ul_cfp_4sx_gqb} Data type: String |
| sys_id | Sys_id of the application service listed in the Application Service \[cmdb_ci_service_auto\] table. Data type: String |
[Table 45. Request body parameters (JSON)]

{#sg_svcs-POST-state__table_h3q_lsx_gqb}

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-state__entry__20}{#sg_svcs-POST-state__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 46. Request headers]

{#sg_svcs-POST-state__entry__24}

| Header | Description |
|-|-|
| None |   |
[Table 47. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-state__entry__28}{#sg_svcs-POST-state__entry-200-status-code}{#sg_svcs-POST-state__entry-400-status-code}{#sg_svcs-POST-state__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 48. Status codes]

### Response body parameters (JSON) {#sg_svcs-POST-state__section_hyx_jnx_gqb}

{#sg_svcs-POST-state__table_iyx_jnx_gqb__entry__2}

| Name | Description |
|-|-|
| status | Indicates success or failure. Data type: String |
[ ]

{#sg_svcs-POST-state__table_iyx_jnx_gqb}  

### cURL request

The following example shows how to change an application service lifecycle state to
activate.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/state" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      {
      \"name\": \"Test Register\",
      \"environment\": \"Test\",
      \"version\": \"1.0\",
      \"state\": \"activate\"
      }
    }" \
    --user 'username':'password'

Results indicating a successful operation.

    {
      "result": {
      "status": "success"
      }
    }

## SG Services -- POST -- /sg_services/app_service/update {#ariaid-title10}

Updates an existing application service provided and creates tags for the given application service.
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.
{#sg_svcs-POST-update__ol_qk4_msd_3qb}

### URL format

Versioned URL:
/api/sn_service_graph/{api_version}/sg_services/app_service/update

Default URL:
/api/sn_service_graph/sg_services/app_service/update

### Supported request parameters

{#sg_svcs-POST-update__entry__2}{#sg_svcs-POST-update__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 49. Path parameters]

{#sg_svcs-POST-update__entry__6}{#sg_svcs-POST-update__sg_svcs-reqParm-number-ph}{#sg_svcs-POST-update__sg_svcs-reqParm-sysid-ph}

| 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 Application Service \[cmdb_ci_service_auto\] table. Data type: String |
[Table 50. Request body parameters (JSON)]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-update__entry__16}{#sg_svcs-POST-update__accept-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Only supports application/json. |
[Table 51. Request headers]

{#sg_svcs-POST-update__entry__20}

| Header | Description |
|-|-|
| None |   |
[Table 52. Response headers]

### 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://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#sg_svcs-POST-update__entry__24}{#sg_svcs-POST-update__entry-200-status-code}{#sg_svcs-POST-update__entry-400-status-code}{#sg_svcs-POST-update__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 401 | Unauthorized. The user credentials are incorrect or the user does not have the app_service_admin role. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 53. Status codes]

### Response body parameters (JSON) {#sg_svcs-POST-update__section_hyx_jnx_gqb}

{#sg_svcs-POST-update__table_iyx_jnx_gqb__entry__2}{#sg_svcs-POST-update__sg_svcs-reqParm-ire-ph}

| 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 Application Service \[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. |
[ ]

{#sg_svcs-POST-update__table_iyx_jnx_gqb}  

### cURL request

The following example shows how to update an application service, using name as an IRE
field.

    curl "https://instance.service-now.com/api/sn_service_graph/sg_services/app_service/update" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      {
       \"name\": \"Test Register\",
       \"environment\": \"Test\",
       \"version\": \"1.0\"
      }
    }" \
    --user 'username':'password'

Response includes application service identification information and updated fields.

    {
      "result": {
      "sys_id": "123456",
      "number": "SVCKji0w9e",
      "name": "Test Register",
      "environment": "Test",
      "version": "1.0"
      }
    }


