SG Services API

  • Release version: Xanadu
  • Updated August 1, 2024
  • 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

    Visit the ServiceNow Store 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.

    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.

    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

    Supported request parameters

    Table 1. Path 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

    Table 2. Query parameters
    Name Description
    None
    Table 3. Request body parameters (JSON)
    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

    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.

    Table 4. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 5. Response headers
    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.

    Table 6. Status codes
    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.

    Response body parameters (JSON)

    Name Description
    status Indicates success or failure.

    Data type: String

    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

    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.

    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

    Table 7. Path 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

    Table 8. Query parameters
    Name Description
    None
    Table 9. Request body parameters (JSON)
    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

    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.

    Table 10. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 11. Response headers
    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.

    Table 12. Status codes
    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.

    Response body parameters (JSON)

    Name Description
    status Indicates success or failure.

    Data type: String

    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

    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.

    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

    Table 13. Path 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

    Table 14. Query parameters
    Name Description
    None
    Table 15. Request body parameters (JSON)
    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

    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.

    Table 16. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 17. Response headers
    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.

    Table 18. Status codes
    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.

    Response body parameters (JSON)

    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

    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

    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.

    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

    Table 19. Path 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

    Table 20. Query parameters
    Name Description
    None
    Table 21. Request body parameters (JSON)
    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 Application Service [cmdb_ci_service_auto] table.

    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.

    Table 22. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 23. Response headers
    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.

    Table 24. Status codes
    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.

    Response body parameters (JSON)

    Name Description
    status Indicates success or failure.

    Data type: String

    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

    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.

    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

    Table 25. Path 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

    Table 26. Query parameters
    Name Description
    None
    Table 27. Request body parameters (JSON)
    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 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 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

    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.

    Table 28. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 29. Response headers
    cHeader 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.

    Table 30. Status codes
    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.

    Response body parameters (JSON)

    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

    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

    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

    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.

    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

    Table 31. Path 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

    Table 32. Query parameters
    Name Description
    None
    Table 33. Request body parameters (JSON)
    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.

    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.

    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

    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.

    Table 34. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 35. Response headers
    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.

    Table 36. Status codes
    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.

    Response body parameters (JSON)

    Name Description
    status Indicates success or failure.

    Data type: String

    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

    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.

    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

    Table 37. Path 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

    Table 38. Query parameters
    Name Description
    None
    Table 39. Request body parameters (JSON)
    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

    Default: cmdb_ci_service_auto

    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.

    Table 40. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 41. Response headers
    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.

    Table 42. Status codes
    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.

    Response body parameters (JSON)

    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

    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.

    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

    Table 43. Path 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

    Table 44. Query parameters
    Name Description
    None
    Table 45. Request body parameters (JSON)
    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
    • 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
    • RETIRE – End of life.
      • operational_status=Retired
      • life_cycle_stage=End Of Life
      • life_cycle_stage_status=Retired

    Data type: String

    sys_id Sys_id of the application service listed in the Application Service [cmdb_ci_service_auto] table.

    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.

    Table 46. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 47. Response headers
    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.

    Table 48. Status codes
    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.

    Response body parameters (JSON)

    Name Description
    status Indicates success or failure.

    Data type: String

    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

    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.

    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

    Table 49. Path 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

    Table 50. Request body parameters (JSON)
    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

    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.

    Table 51. Request headers
    Header Description
    Accept Data format of the response body. Only supports application/json.
    Table 52. Response headers
    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.

    Table 53. Status codes
    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.

    Response body parameters (JSON)

    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.

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