{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":549,"path":"api-reference/rest-apis/service-test-management-api.md","title":"Service Test Management Open API","bundle":null,"doc_type":null,"release":"australia","body":"\n# Service Test Management Open API\n\nThe Service Test Management Open API provides endpoints to create and retrieve service test definitions and service tests.\n\nUse this API to manage service problem management information between external systems and the ServiceNow AI Platform. The Service Test Management Open API is a ServiceNow implementation of the TM Forum Service Problem Management API REST specification. This implementation is based on the [TMF653 Service Test Management API User Guide v4.1.0](https://www.tmforum.org/resources/specification/tmf653-service-test-management-api-user-guide-v4-1-0/), July 2021.\n\nThis REST API is designed to manage and execute service tests within a telecommunications environment. It allows users to define, trigger, and monitor service tests, ensuring that services meet quality and performance standards. The API provides capabilities for test management, including creating and updating test definitions, executing tests, retrieving test results, and managing test schedules.\n\nThe Service Test Management Open API requires the Customer Service Problem Management \\(com.sn\\_sprb\\_mgmt\\) application, which is available on the ServiceNow Store. For more information, see [Customer Service Problem Management](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/cspm-landing-page.md).\n\nThis API runs in the `sn_sprb_mgmt` namespace. The calling user must have the sn\\_sprb\\_mgmt.test\\_integrator role.\n\nThe Service Test Management Open API creates or updates data in the following tables:\n\n-   Test Run \\[sn\\_st\\_mgmt\\_test\\]\n-   Service Test definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n-   Test Definition Characteristic \\[sn\\_st\\_mgmt\\_test\\_definition\\_characteristic\\]\n-   Test Characteristic \\[sn\\_st\\_mgmt\\_test\\_characteristic\\]\n-   Specification to Test Definition Relationship \\[sn\\_st\\_mgmt\\_test\\_definition\\_m2m\\]\n-   Test Definition Relationship \\[sn\\_st\\_mgmt\\_test\\_definition\\_rel\\]\n-   Test Measure \\[sn\\_st\\_mgmt\\_test\\_measure\\]\n-   Measure Consequence \\[sn\\_st\\_mgmt\\_measure\\_consequence\\]\n-   Test Measure Definition \\[sn\\_st\\_mgmt\\_test\\_measure\\_definition\\]\n-   Applied Consequence \\[sn\\_st\\_mgmt\\_applied\\_consequence\\]\n-   Threshold Rule \\[sn\\_st\\_mgmt\\_threshold\\_rule\\]\n-   Threshold Rule Violation \\[sn\\_st\\_mgmt\\_threshold\\_rule\\_violation\\]\n\n**Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md)\n\n## Service Test Management Open API – GET /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTest\n\nRetrieves a list of all service tests.\n\n### URL format\n\nDefault URL: `/api/sn_sprb_mgmt/servicetestmanagement/serviceTest`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nfields\n\n</td><td>\n\nList of fields to return in the response. Invalid fields are ignored. If this parameter isn't used, all fields are returned. Located in the Service Test \\[sn\\_st\\_mgmt\\_test\\] table.Valid fields:\n\n-   characteristic\n-   description\n-   endDateTime\n-   id\n-   mode\n-   relatedService\n-   startDateTime\n-   state\n-   testMeasure\n-   testSpecification\n-   validFor\n\nData type: String\n\n</td></tr><tr><td>\n\nlimit\n\n</td><td>\n\nMaximum number of records to return. For requests that exceed this number of records, use the **offset** parameter to paginate record retrieval.Data type: Number\n\nMaximum value: 100\n\nDefault: 20\n\n</td></tr><tr><td>\n\noffset\n\n</td><td>\n\nStarting index at which to begin retrieving records. Use this parameter to paginate results in small and manageable chunks. The first record is indexed at 0.Data type: Number\n\nDefault: 0\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nFilter test definitions by the test's current state. Only test definitions in the specified state are returned in the response.Valid values:\n\n-   acknowledged\n-   canceled\n-   completed\n-   failed\n-   inProgress\n-   pending\n-   rejected\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n<table class=\"rest_api_response_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nContent-Range\n\n</td><td>\n\nSpecifies the range of content returned in a paginated call.For example, if `offset=2` and `limit=3`, the value of the Content-Range header is items `3-5`.\n\n</td></tr><tr><td>\n\nContent-Type\n\n</td><td>\n\nData format of the response body. Only supports application/json.\n\n</td></tr><tr><td>\n\nLink\n\n</td><td>\n\nContains the following links to navigate through query results.-   first\n-   last\n-   next\n-   previous\n\n</td></tr><tr><td>\n\nX-Total-Count\n\n</td><td>\n\nFor paginated queries, this header specifies the total number of records available on the server.\n\n</td></tr></tbody>\n</table>### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|206|Partial resource returned in response \\(with pagination\\).|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|404|Not found. The requested item wasn't found.|\n\n<table id=\"table_ash_mhx_vbc\" class=\"rest_api_request_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncharacteristic\n\n</td><td>\n\nList that describes the characteristics of the associated service test. For more information about test definition characteristics, see Data type: Array of Objects\n\n```\n\"characteristic\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"value\": \"String\",\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ncharacteristic.id\n\n</td><td>\n\nSys\\_id or external\\_id of characteristics. If external\\_id is present for that record, the response returns the external\\_id otherwise it returns the sys\\_id.Data type: String\n\nTable: Characteristics \\[sn\\_prd\\_pm\\_characteristic\\]\n\n</td></tr><tr><td>\n\ncharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.value\n\n</td><td>\n\nCharacteristic options associated with the service test. Characteristics vary based on the customer instance.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test.Data type: String\n\n</td></tr><tr><td>\n\nendDateTime\n\n</td><td>\n\nEnd date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nHyperlink reference to the service test.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr><tr><td>\n\nmode\n\n</td><td>\n\nMode that the service test is running in.Valid values:\n\n-   ONDEMAND: Triggers the service test manually.\n-   PROACTIVE: Triggers the service test automatically.\n\nData type: String\n\nDefault: ONDEMAND\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the service test.Data type: String\n\n</td></tr><tr><td>\n\nrelatedService\n\n</td><td>\n\nRequired. Test definition associated with the service test.Data type: Object\n\n```\n\"relatedService\": {\n \"href\": \"String\",\n \"id\": \"String\",\n \"name\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrelatedService.id\n\n</td><td>\n\nSys\\_id or external\\_id of the product inventory.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the product Inventory \\[sn\\_prd\\_invt\\_product\\_inventory\\] table.\n\n</td></tr><tr><td>\n\nrelatedService.name\n\n</td><td>\n\nName of the product inventory.Data type: String\n\n</td></tr><tr><td>\n\nstartDateTime\n\n</td><td>\n\nStart date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nState the service test is in. Valid values:\n\n-   acknowledged\n-   canceled\n-   completed\n-   failed\n-   inProgress\n-   pending\n-   rejected\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure\n\n</td><td>\n\nMeasure of a specific aspect of a product, service, or resource test, such as lost packets or connectivity status.Data type: Array of Objects\n\n```\n\"testMeasure\": [\n {\n \"accuracy\": \"String\",\n \"captureDateTime\": \"String\",\n \"captureMethod\": \"String\",\n \"id\": \"String\",\n \"metricDescription\": \"String\",\n \"metricName\": \"String\",\n \"ruleViolation\": [Array],\n \"unitOfMeasure\": \"String\",\n \"value\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.accuracy\n\n</td><td>\n\nFloat decimal value representing the test measure accuracy captured for the associated metrics.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasure.captureDateTime\n\n</td><td>\n\nThe date and time that the metric was captured. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasure.id\n\n</td><td>\n\nSys\\_id or external\\_id of the Test Measures.Data type: String\n\nTable: In the sys\\_id or external\\_id fields of the Test Measures table \\[sn\\_st\\_mgmt\\_test\\_measure\\] table.\n\n</td></tr><tr><td>\n\ntestMeasure.Measure.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.metricName\n\n</td><td>\n\nName of the test measure metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation\n\n</td><td>\n\nAn object for defining a rule in the threshold rule definition, along with consequences if the rule is violated.Data type: Array of Objects\n\n```\n\"ruleViolation\"[\n  {\n    appliedConsequence: [Array],\n    conformanceTargetUpper: Number,\n    conformanceComparatorUpper: \"String\",\n    description: \"String\",\n    id: \"String\",\n    name: \"String\",\n    numberOfAllowedCrossing: Number,\n    thresholdRuleSeverity: \"String\",\n    tolerancePeriod: \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.amount\n\n</td><td>\n\nNumber of periods before applying the consequence.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed.Data type: Array of Objects\n\n```\n\"appliedConsequence\": [\n {\n  \"appliedAction\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"repeatAction\": Boolean\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction\n\n</td><td>\n\nAction to take when a threshold rule is violated. For example, sending a warning or generating a report. Applied actions can vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.description\n\n</td><td>\n\nDescription of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.name\n\n</td><td>\n\nName of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the consequence when a second violation occurs.Valid values:\n\n-   true: Repeat the action.\n-   false: Don't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComporatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical.Valid values:\n\n-   true: The value is identical.\n-   false: The value isn't identical.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComporatorLower\n\n</td><td>\n\nOperator for checking if a value falls below the threshold.Valid values:\n\n-   greater than\n-   greater than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComporatorUpper\n\n</td><td>\n\nOperator for checking if a value is above the threshold.Valid values:\n\n-   less than\n-   less than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rule violation.Data type: String\n\nTable: Threshold Rule Violation \\[sn\\_st\\_mgmt\\_threshold\\_rule\\_violation\\]\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   medium\n-   low\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod\n\n</td><td>\n\nSpecified time interval during which crossing occurrences are enabled without triggering any immediate consequences or actions.Date type: Object\n\n```\n\"tolerancePeriod\": {\n \"amount\": Number,\n \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.unitOfMeasure\n\n</td><td>\n\nUnit of measurement for the conformance target values of the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value\n\n</td><td>\n\nValue of the test measure.Data type: Object\n\n```\n\"value\": {\n \"id\": \"String\",\n \"name\": \"String\",\n \"valueType\": \"String\",\n \"value\": \"String\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.value.id\n\n</td><td>\n\nID of the test measure value.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.name\n\n</td><td>\n\nName of the test measure value.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.value\n\n</td><td>\n\nValue of the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.valueType\n\n</td><td>\n\nType of test measure value such as numeric, text, and so forth.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification\n\n</td><td>\n\nRequired. Test definition associated with this test. Data type: Object\n\n```\n\"testSpecification\": {\n \"href\": \"String\",\n \"id\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestSpecification.href\n\n</td><td>\n\nHyperlink reference to the service test definition.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\] table.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the service test is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime \": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nValidity end date of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nValidity start date of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example retrieves information about the two service tests in the instance.\n\n```\ncurl --location --request GET “https://instance.servicenow.com/api/sn_sprb_mgmt/servicetestmanagement/serviceTest” \\\n--user 'username’: ‘password'\n```\n\nResponse body.\n\n```\n[\n  {\n    \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTest/09d1f42e3be28210d140068aa4e45ae2\",\n    \"id\": \"09d1f42e3be28210d140068aa4e45ae2\",\n    \"description\": \"Service test\",\n    \"endDateTime\": \"2025-01-31 15:05:43\",\n    \"mode\": \"proactive\",\n    \"name\": \"Speed Test TR0001002\",\n    \"startDateTime\": \"2024-06-05 09:07:10\",\n    \"validFor\": {\n      \"startDateTime\": \"\",\n      \"endDateTime\": \"\"\n    },\n    \"relatedService\": {\n      \"id\": \"fa6d13f45b5620102dff5e92dc81c77f\",\n      \"name\": \"Internet_VPLS_PI0000011\"\n    },\n    \"testSpecification\": {\n      \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/7d3854864316c6500e51203d5fb8f2d8\",\n      \"id\": \"7d3854864316c6500e51203d5fb8f2d8\"\n    },\n    \"characteristic\": [],\n    \"testMeasure\": [\n      {\n        \"id\": \"61d1382e3be28210d140068aa4e45a2e\",\n        \"accuracy\": \"0.0001\",\n        \"captureDateTime\": \"\",\n        \"captureMethod\": \"automatic\",\n        \"metricDescription\": \"\",\n        \"metricName\": \"Flow speed\",\n        \"unitOfMeasure\": \"A second\",\n        \"value\": \"3000\",\n        \"ruleViolation\": [\n          {\n            \"id\": \"61d1382e3be28210d140068aa4e45a2f\",\n            \"description\": \"This speed is greater than the target\",\n            \"name\": \"tooMuchTraffic\",\n            \"numberOfAllowedCrossing\": \"0\",\n            \"thresholdRuleSeverity\": \"high\",\n            \"tolerancePeriod\": \"\",\n            \"conformanceTargetLower\": \"2500\",\n            \"conformanceComparatorLower\": \"greater than\",\n            \"appliedConsequence\": [\n              {\n                \"id\": \"65d1382e3be28210d140068aa4e45a31\",\n                \"appliedAction\": \"sendWarning\",\n                \"description\": \"send a warning to the system\",\n                \"name\": \"sendWarning\",\n                \"repeatAction\": \"0\"\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTest/18682a2a3b2682107222bf9985e45a55\",\n    \"id\": \"18682a2a3b2682107222bf9985e45a55\",\n    \"description\": \"Service test\",\n    \"endDateTime\": \"2025-01-31 15:05:43\",\n    \"mode\": \"proactive\",\n    \"name\": \"Speed Test TR0001012\",\n    \"startDateTime\": \"2024-06-05 17:45:07\",\n    \"validFor\": {\n      \"startDateTime\": \"\",\n      \"endDateTime\": \"\"\n    },\n    \"relatedService\": {\n      \"id\": \"fa6d13f45b5620102dff5e92dc81c77f\",\n      \"name\": \"Internet_VPLS_PI0000011\"\n    },\n    \"testSpecification\": {\n      \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/7d3854864316c6500e51203d5fb8f2d8\",\n      \"id\": \"7d3854864316c6500e51203d5fb8f2d8\"\n    },\n    \"characteristic\": [\n      {\n        \"id\": \"5c682a2a3b2682107222bf9985e45a5a\",\n        \"name\": \"url\",\n        \"valueType\": \"single_line_text\",\n        \"value\": \"http://abc.com\"\n      }\n    ],\n    \"testMeasure\": [\n      {\n        \"id\": \"7c686a2a3b2682107222bf9985e45a4d\",\n        \"accuracy\": \"0.0001\",\n        \"captureDateTime\": \"\",\n        \"captureMethod\": \"automatic\",\n        \"metricDescription\": \"\",\n        \"metricName\": \"Flow speed\",\n        \"unitOfMeasure\": \"A second\",\n        \"value\": \"3000\",\n        \"ruleViolation\": [\n          {\n            \"id\": \"38686a2a3b2682107222bf9985e45a4e\",\n            \"description\": \"This speed is greater than the target\",\n            \"name\": \"tooMuchTraffic\",\n            \"numberOfAllowedCrossing\": \"0\",\n            \"thresholdRuleSeverity\": \"high\",\n            \"tolerancePeriod\": \"\",\n            \"conformanceTargetLower\": \"2500\",\n            \"conformanceComparatorLower\": \"greater than\",\n            \"appliedConsequence\": [\n              {\n                \"id\": \"34686a2a3b2682107222bf9985e45a50\",\n                \"appliedAction\": \"sendWarning\",\n                \"description\": \"send a warning to the system\",\n                \"name\": \"sendWarning\",\n                \"repeatAction\": \"0\"\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  }\n]\n```\n\n## Service Test Management Open API – GET /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTest/\\{id\\}\n\nRetrieves a service test entity based on the given ID of a service test.\n\n### URL format\n\nDefault URL: `/api/sn_sprb_mgmt/servicetestmanagement/serviceTest/{id}`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test to retrieve.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nfields\n\n</td><td>\n\nList of fields to return in the response. Invalid fields are ignored. If this parameter isn't used, all fields are returned. Located in the Service Test \\[sn\\_st\\_mgmt\\_test\\] table.Valid fields:\n\n-   characteristic\n-   description\n-   endDateTime\n-   id\n-   mode\n-   relatedService\n-   startDateTime\n-   state\n-   testMeasure\n-   testSpecification\n-   validFor\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n|Header|Description|\n|------|-----------|\n|Content-Type|Data format of the response body. Only supports application/json.|\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|404|Not found. The requested item wasn't found.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table class=\"rest-api-response-body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncharacteristic\n\n</td><td>\n\nList that describes the characteristics of the associated service test.Data type: Array of Objects\n\n```\n\"characteristic\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"value\": \"String\",\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ncharacteristic.id\n\n</td><td>\n\nSys\\_id or external\\_id of characteristics.If external\\_id is present for that record, the response returns the external\\_id otherwise it returns the sys\\_id.Data type: String\n\nTable: Characteristics \\[sn\\_prd\\_pm\\_characteristic\\]\n\n</td></tr><tr><td>\n\ncharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.value\n\n</td><td>\n\nCharacteristic options associated with the service test. Characteristics vary based on the customer instance.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test.Data type: String\n\n</td></tr><tr><td>\n\nendDateTime\n\n</td><td>\n\nEnd date and time of the service test.Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nHyperlink reference to the service test.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr><tr><td>\n\nmode\n\n</td><td>\n\nMode that the service test is running in.Valid values:\n\n-   ONDEMAND: Triggers the service test manually.\n-   PROACTIVE: Triggers the service test automatically.\n\nData type: String\n\nDefault: ONDEMAND\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the service test.Data type: String\n\n</td></tr><tr><td>\n\nrelatedService\n\n</td><td>\n\nTest definition associated with this test.Data type: Object\n\n```\n\"relatedService\": {\n \"href\": \"String\",\n \"id\": \"String\",\n \"name\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrelatedService.id\n\n</td><td>\n\nSys\\_id or external\\_id of the product inventory.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Product Inventory \\[sn\\_prd\\_invt\\_product\\_inventory\\] table.\n\n</td></tr><tr><td>\n\nrelatedService.name\n\n</td><td>\n\nName of the product inventory item.Data type: String\n\n</td></tr><tr><td>\n\nstartDateTime\n\n</td><td>\n\nStart date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nState of the service test.Valid values:\n\n-   acknowledged\n-   canceled\n-   completed\n-   failed\n-   inProgress\n-   pending\n-   rejected\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure\n\n</td><td>\n\nMeasure of a specific aspect of a product, service, or resource test, such as lost packets or connectivity status.Data type: Array of Objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"accuracy\": \"String\",\n  \"captureDateTime\": \"String\",\n  \"captureMethod\": \"String\",\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"ruleViolation\": [Array]\n  \"unitOfMeasure\": \"String\",\n  \"value\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.accuracy\n\n</td><td>\n\nFloat decimal value representing the test measure accuracy captured for the associated metrics.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasure.captureDateTime\n\n</td><td>\n\nThe date and time that the metric was captured.Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasure.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.id\n\n</td><td>\n\nSys\\_id or external\\_id of the test measure.Data type: String\n\nTable: Test Measures \\[sn\\_st\\_mgmt\\_test\\_measure\\]\n\n</td></tr><tr><td>\n\ntestMeasure.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.metricName\n\n</td><td>\n\nName of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation\n\n</td><td>\n\nObject for defining a rule in the threshold rule definition, along with consequences if the rule is violated.Data type: Array of Objects\n\n```\n\"RuleViolation\": [\n{\n  \"appliedConsequence\": [Array],\n  \"conformanceComparatorExact\": Boolean,\n  \"conformanceComparatorLower\": \"String\",\n  \"conformanceComparatorUpper\": \"String\",\n  \"conformanceTargetExact\": \"String\",\n  \"conformanceTargetLower\": \"String\",\n  \"conformanceTargetUpper\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"numberOfAllowedCrossing\": Number,\n  \"thresholdRuleSeverity\": \"String\",\n  \"tolerancePeriod\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is violated.Data type: Array of Objects\n\n```\n\"appliedConsequence\": [\n {\n  \"appliedAction\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"repeatAction\": Boolean\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction\n\n</td><td>\n\nAction to take when a threshold rule is violated. For example, sending a warning or generating a report. Applied actions can vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied action or not.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.description\n\n</td><td>\n\nDescription of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.name\n\n</td><td>\n\nName of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value of **conformanceTargetExact**.Valid values:\n\n-   true: The value is identical.\n-   false: The value isn't identical.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorLower\n\n</td><td>\n\nAn operator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorUpper\n\n</td><td>\n\nAn operator that checks if a value exceeds the threshold.Valid values:\n\n-   is\n-   lesser than\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.description\n\n</td><td>\n\nDescription of the threshold rule violation.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rule violation.Data type: String\n\nTable: Threshold Rule Violation \\[sn\\_st\\_mgmt\\_threshold\\_rule\\_violation\\]\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.name\n\n</td><td>\n\nName of the threshold rule violation.Date type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum: 40\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   low\n-   medium\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod\n\n</td><td>\n\nDuration or time interval in which allowed crossings can occur before a consequence is initiated.Date type: Object\n\n```\n\"tolerancePeriod\": {\n \"amount\": Number,\n \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.amount\n\n</td><td>\n\nAmount of the period in number.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value\n\n</td><td>\n\nValue of metric in the test.Data type: Object\n\n```\n\"value\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"valueType\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.value.id\n\n</td><td>\n\nID of the metric value in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.name\n\n</td><td>\n\nName of the metric value in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.value\n\n</td><td>\n\nValue of metric in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.valueType\n\n</td><td>\n\nType of test measure value such as numeric, text, and so forth.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification\n\n</td><td>\n\nTest definition associated for this test. Data type: Object\n\n```\n\"testSpecification\": {\n \"href\": \"String\",\n \"id\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestSpecification.href\n\n</td><td>\n\nHyperlink reference to the service test definition.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range that the service test is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nEnd date and timestamp of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date and timestamp of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example retrieves details about the service test entity associated with the given ID, 44b7a8ea3b6a42107222bf9985e45a45.\n\n```\ncurl --location --request GET “https://instance.servicenow.com/api/sn_sprb_mgmt/servicetestmanagement/serviceTest/44b7a8ea3b6a42107222bf9985e45a45 \\\n--user 'username’: ‘password'\n```\n\nResponse body.\n\n```\n{\n  \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTest/44b7a8ea3b6a42107222bf9985e45a45\",\n  \"id\": \"44b7a8ea3b6a42107222bf9985e45a45\",\n  \"description\": \"Service test\",\n  \"endDateTime\": \"2025-01-31 15:05:43\",\n  \"mode\": \"proactive\",\n  \"name\": \"Speed Test TR0001001\",\n  \"startDateTime\": \"2024-06-05 08:22:52\",\n  \"validFor\": {\n    \"startDateTime\": \"\",\n    \"endDateTime\": \"\"\n  },\n  \"relatedService\": {\n    \"id\": \"fa6d13f45b5620102dff5e92dc81c77f\",\n    \"name\": \"Internet_VPLS_PI0000011\"\n  },\n  \"testSpecification\": {\n    \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/7d3854864316c6500e51203d5fb8f2d8\",\n    \"id\": \"7d3854864316c6500e51203d5fb8f2d8\"\n  },\n  \"characteristic\": [\n        { \n        \"id\": \"5c682a2a3b2682107222bf9985e45a5a\", \n        \"name\": \"url\", \n        \"valueType\": \"single_line_text\", \n        \"value\": \"test\" \n         }\n],\n  \"testMeasure\": [\n    {\n      \"id\": \"62ade42a3ba28210d140068aa4e45a71\",\n      \"accuracy\": \"0.0001\",\n      \"captureDateTime\": \"\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"\",\n      \"metricName\": \"Downstream Speed\",\n      \"unitOfMeasure\": \"\",\n      \"value\": \"16\",\n      \"ruleViolation\": [\n        {\n          \"id\": \"b9bee4ae3ba28210d140068aa4e45a3a\",\n          \"description\": \"This speed is less than the target upper\",\n          \"name\": \"tooMuchTraffic\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetUpper\": \"75\",\n          \"conformanceComparatorUpper\": \"less than\",\n          \"appliedConsequence\": [\n            {\n              \"id\": \"489074aa3be28210d140068aa4e45a42\",\n              \"appliedAction\": \"generateReport\",\n              \"description\": \"\",\n              \"name\": \"generateReport\",\n              \"repeatAction\": \"0\"\n            },\n            {\n              \"id\": \"785f2ce23be28210d140068aa4e45a75\",\n              \"appliedAction\": \"sendWarning\",\n              \"description\": \"\",\n              \"name\": \"sendWarning\",\n              \"repeatAction\": \"0\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\n## Service Test Management Open API - GET /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTestSpecification\n\nRetrieves a list of all service test definitions.\n\n### URL format\n\nDefault URL: `GET /api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nfields\n\n</td><td>\n\nList of fields to return in the response. Invalid fields are ignored. If this parameter isn't used, all fields are returned. Located in the Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\] table.Valid values:\n\n-   description\n-   id\n-   name\n-   relatedServiceSpecification\n-   serviceTestSpecRelationship\n-   specCharacteristic\n-   testMeasureDefinition\n-   validFor\n\nData type: String\n\n</td></tr><tr><td>\n\nlimit\n\n</td><td>\n\nMaximum number of records to return. For requests that exceed this number of records, use the **offset** parameter to paginate record retrieval.Data type: Number\n\nMaximum value: 100\n\nDefault: 20\n\n</td></tr><tr><td>\n\noffset\n\n</td><td>\n\nStarting index at which to begin retrieving records. Use this parameter to paginate results in small and manageable chunks. The first record is indexed at 0.Data type: Number\n\nDefault: 0\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nFilter test definitions by the test's current state. Only test definitions in the specified state are returned in the response.Valid values:\n\n-   archived\n-   draft\n-   published\n-   retired\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr></tbody>\n</table><table class=\"rest_api_response_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nContent-Range\n\n</td><td>\n\nSpecifies the range of content returned in a paginated call. For example, if `offset=2` and `limit=3`, the value of the Content-Range header is items `3-5`.\n\n</td></tr><tr><td>\n\nContent-Type\n\n</td><td>\n\nData format of the response body. Only supports application/json.\n\n</td></tr><tr><td>\n\nLink\n\n</td><td>\n\nContains the following links to navigate through query results:-   first\n-   last\n-   next\n-   previous\n\n</td></tr><tr><td>\n\nX-Total-Count\n\n</td><td>\n\nFor paginated queries, this header specifies the total number of records available on the server.\n\n</td></tr></tbody>\n</table>### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|206|Partial resource returned in response \\(with pagination\\).|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|404|Not found. The requested item wasn't found.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table id=\"table_yvz_1lx_4bc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification\n\n</td><td>\n\nRequired. Service specifications of the test definition.Data type: Array of Objects\n\n```\n\"relatedServiceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Specification \\[sn\\_prd\\_pm\\_specification\\] table.\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.name\n\n</td><td>\n\nName of the service specification.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship\n\n</td><td>\n\nRelated service test definition.Data type: Array of Objects\n\n```\n\"serviceTestSpecRelationship\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"relationshipType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.id\n\n</td><td>\n\nSys\\_id or external\\_id of the related service test definition.Data type: String\n\nTable: Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.name\n\n</td><td>\n\nName of the related test definition.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.relationshipType\n\n</td><td>\n\nType of relationship.Accepted values:\n\n-   dependency\n-   exclusivity\n-   substitution\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic\n\n</td><td>\n\nCharacteristics of the test definition.Data type: Array of Objects\n\n```\n\"specCharacteristic\": [\n {\n  \"characteristicValueSpecification\": [Array],\n  \"description\": \"String\",\n  \"name\": \"String\",\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification\n\n</td><td>\n\nPossible values of the characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor\n\n</td><td>\n\nDate range that the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.endDateTime\n\n</td><td>\n\nEnd date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.startDateTime\n\n</td><td>\n\nStart date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition\n\n</td><td>\n\nTest measure definitions for this service test definition. For more information, see [Define test measure definitions for a service test](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-test-measure-spm.md).Data type: Array of objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"captureFrequency\": \"String\",\n  \"captureMethod\": \"String\",\n  \"capturePeriod\": {Object},\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"name\": \"String\",\n  \"unitOfMeasure\": \"String\",\n  \"thresholdRule\": [Array],\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureFrequency\n\n</td><td>\n\nThe frequency at which to capture the metric. Valid values:\n\n-   daily\n-   monthly\n-   none\n-   once\n-   weekly\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Doesn't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod\n\n</td><td>\n\nPeriod or duration of the metric capture.Data type: Object\n\n```\n\"capturePeriod\": {\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.amount\n\n</td><td>\n\nNumber of capture periods.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.id\n\n</td><td>\n\nSys\\_id or external\\_id of the test measure definitions.Data type: String\n\nTable: Test Measure definition table \\[sn\\_st\\_mgmt\\_test\\_measure\\_definition\\]\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricName\n\n</td><td>\n\nUser-defined name of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.name\n\n</td><td>\n\nName of the test measure definition.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule\n\n</td><td>\n\nRule that defines conditions to achieve before applying consequences when a threshold is crossed \\(or not crossed\\)​ in the test measure definition. For more information, [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md).Data type: Array of Objects\n\n```\n{\n  \"thresholdRule\": {\n    \"consequence\": [Array],\n    \"conformanceComparatorExact\": Boolean,\n    \"conformanceComparatorLower\": \"String\",\n    \"conformanceComparatorUpper\": \"String\",\n    \"conformanceTargetExact\": \"String\",\n    \"conformanceTargetLower\": \"String\",\n    \"conformanceTargetUpper\": \"String\",\n    \"consequence\": [Array],\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"numberOfAllowedCrossing\": Number,\n    \"thresholdRuleSeverity\": \"String\",\n    \"tolerancePeriod\": {Object}\n  }\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value set for **testMeasureDefinition.thresholdRule.conformanceTargetExact**. If set to true, **testMeasureDefinition.thresholdRule.conformanceTargetExact** is required.Valid values:\n\n-   true: The value is identical to the value of **conformanceTargetExact**.\n-   false: The value isn't identical **conformanceTargetExact**.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorLower\n\n</td><td>\n\nOperator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   greater than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorUpper\n\n</td><td>\n\nOperator that checks if a value exceeds the threshold.Valid values:\n\n-   less than\n-   less than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed. See [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md) for more information.Data type: Array of objects\n\n```\n\"consequence\": [\n {\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"prescribeAction\": \"String\",\n  \"repeatAction\": Boolean,\n  \"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.description\n\n</td><td>\n\nDescription of the consequence. Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the measure consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.name\n\n</td><td>\n\nName of the consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.prescribeAction\n\n</td><td>\n\nUser-defined action to take for threshold violations. Actions vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied consequence.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor\n\n</td><td>\n\nDate range that the consequence is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"startDateTime\": \"String\",\n \"endDateTime \": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rules.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Threshold Rules \\[sn\\_st\\_mgmt\\_threshold\\_rule\\] table.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.thresholdRuleSeverity\n\n</td><td>\n\nSeverity level of the threshold rule.Valid values:\n\n-   high\n-   medium\n-   low\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor\n\n</td><td>\n\nDate range that the test measure definition is valid for.Data type: String\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range that the test definition is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nDate and time of the test definition on which the state of it is retired. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nDate and time of the test definition on which the state of it is published. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example retrieves details about all test service test definitions in the instance. In this case, two definitions are returned.\n\n```\ncurl --location --request GET \n“https://instance.servicenow.com//api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification” \\\n--user 'username’: ‘password'\n\n```\n\nResponse body.\n\n```\n[\n  {\n    \"description\": \"Operation, Administration and Maintenance\",\n    \"id\": \"76a3b160432a02104fefe4511fb8f2ad\",\n    \"name\": \"OAM Test\",\n    \"validFor\": {\n      \"startDateTime\": \"\",\n      \"endDateTime\": \"\"\n    },\n    \"testMeasureDefinition\": [\n      {\n        \"id\": \"77b9b964432a02104fefe4511fb8f26e\",\n        \"captureFrequency\": \"once\",\n        \"captureMethod\": \"automatic\",\n        \"metricDescription\": \"This is the Rx signal level\",\n        \"metricName\": \"Rx Optical Signal Level\",\n        \"name\": \"Rx Optical Signal Level\",\n        \"unitOfMeasure\": \"a minute\",\n        \"valueType\": \"\",\n        \"capturePeriod\": \"\",\n        \"validFor\": {\n          \"startDateTime\": \"\",\n          \"endDateTime\": \"\"\n        },\n        \"thresholdRule\": [\n          {\n            \"id\": \"d3e97d64432a02104fefe4511fb8f281\",\n            \"description\": \"\",\n            \"name\": \"gponOntAniOpInfoRxOpticalSignalLevel\",\n            \"numberOfAllowedCrossing\": \"\",\n            \"thresholdRuleSeverity\": \"\",\n            \"tolerancePeriod\": \"\",\n            \"conformanceTargetUpper\": \"0\",\n            \"conformanceComparatorUpper\": \"less than\",\n            \"conformanceTargetLower\": \"-50\",\n            \"conformanceComparatorLower\": \"greater than\",\n            \"consequence\": []\n          }\n        ]\n      },\n      {\n        \"id\": \"878afd64432a02104fefe4511fb8f28d\",\n        \"captureFrequency\": \"once\",\n        \"captureMethod\": \"automatic\",\n        \"metricDescription\": \"This is the Tx signal level\",\n        \"metricName\": \"TX Optical Signal Level\",\n        \"name\": \"TX Optical Signal Level\",\n        \"unitOfMeasure\": \"a minute\",\n        \"valueType\": \"\",\n        \"capturePeriod\": \"\",\n        \"validFor\": {\n          \"startDateTime\": \"\",\n          \"endDateTime\": \"\"\n        },\n        \"thresholdRule\": [\n          {\n            \"id\": \"b3dab5a4432a02104fefe4511fb8f2d3\",\n            \"description\": \"\",\n            \"name\": \"gponOntAniOpInfoTxOpticalSignalLevel\",\n            \"numberOfAllowedCrossing\": \"\",\n            \"thresholdRuleSeverity\": \"\",\n            \"tolerancePeriod\": \"\",\n            \"conformanceTargetUpper\": \"65\",\n            \"conformanceComparatorUpper\": \"less than\",\n            \"conformanceTargetLower\": \"-65\",\n            \"conformanceComparatorLower\": \"greater than\",\n            \"consequence\": []\n          }\n        ]\n      }\n    ],\n    \"specCharacteristic\": [\n      {\n        \"name\": \"AccessRequired\",\n        \"description\": \"AccessRequired\",\n        \"valueType\": \"yes_no\",\n        \"validFor\": {\n          \"startDatetime\": \"2024-05-30 09:09:57\"\n        },\n        \"characteristicValueSpecification\": [\n          {\n            \"value\": \"Yes\",\n            \"validFor\": {\n              \"startDateTime\": \"\",\n              \"endDateTime\": \"\"\n            }\n          },\n          {\n            \"value\": \"No\",\n            \"validFor\": {\n              \"startDateTime\": \"\",\n              \"endDateTime\": \"\"\n            }\n          }\n        ]\n      }\n    ],\n    \"serviceTestSpecRelationship\": [],\n    \"relatedServiceSpecification\": [\n      {\n        \"id\": \"f559b564432a02104fefe4511fb8f2e0\",\n        \"name\": \"OAM\"\n      }\n    ]\n  },\n  {\n    \"description\": \"Upstream and Downstream speed \",\n    \"id\": \"89d2b920432a02104fefe4511fb8f22e\",\n    \"name\": \"Speed Test\",\n    \"validFor\": {\n      \"startDateTime\": \"2024-05-31\",\n      \"endDateTime\": \"2024-06-27\"\n    },\n    \"testMeasureDefinition\": [\n      {\n        \"id\": \"1a04f560432a02104fefe4511fb8f2ad\",\n        \"captureFrequency\": \"once\",\n        \"captureMethod\": \"automatic\",\n        \"metricDescription\": \"This is the downstream speed in a service\",\n        \"metricName\": \"Downstream Speed\",\n        \"name\": \"Downstream Speed\",\n        \"unitOfMeasure\": \"a second\",\n        \"valueType\": \"\",\n        \"capturePeriod\": \"30 Minutes\",\n        \"validFor\": {\n          \"startDateTime\": \"2024-05-30 08:49:26\",\n          \"endDateTime\": \"2024-05-31 08:49:29\"\n        },\n        \"thresholdRule\": [\n          {\n            \"id\": \"a754f960432a02104fefe4511fb8f2d0\",\n            \"description\": \"This speed is greater than the target upper\",\n            \"name\": \"InternetSpeedValue\",\n            \"numberOfAllowedCrossing\": \"0\",\n            \"thresholdRuleSeverity\": \"high\",\n            \"tolerancePeriod\": \"15 Minutes\",\n            \"conformanceTargetLower\": \"75\",\n            \"conformanceComparatorLower\": \"greater than\",\n            \"consequence\": [\n              {\n                \"id\": \"15a4bd60432a02104fefe4511fb8f2b8\",\n                \"prescribeAction\": \"null\",\n                \"description\": \"generate a waring report\",\n                \"name\": \"degradedQualityOfService\",\n                \"repeatAction\": \"0\",\n                \"validFor\": {\n                  \"startDateTime\": \"2024-05-30 08:51:29\",\n                  \"endDateTime\": \"2024-08-06 08:51:31\"\n                }\n              },\n              {\n                \"id\": \"e6847d60432a02104fefe4511fb8f2c3\",\n                \"prescribeAction\": \"null\",\n                \"description\": \"send a warning to the system\",\n                \"name\": \"packetdrop\",\n                \"repeatAction\": \"0\",\n                \"validFor\": {\n                  \"startDateTime\": \"2024-05-30 08:50:53\",\n                  \"endDateTime\": \"2024-08-06 08:50:55\"\n                }\n              }\n            ]\n          },\n          {\n            \"id\": \"cb55b5a0432a02104fefe4511fb8f201\",\n            \"description\": \"\",\n            \"name\": \"InternetSpeedValue\",\n            \"numberOfAllowedCrossing\": \"0\",\n            \"thresholdRuleSeverity\": \"medium\",\n            \"tolerancePeriod\": \"\",\n            \"conformanceTargetUpper\": \"120\",\n            \"conformanceComparatorUpper\": \"less than\",\n            \"consequence\": []\n          }\n        ]\n      },\n      {\n        \"id\": \"8f987524432a02104fefe4511fb8f2f0\",\n        \"captureFrequency\": \"once\",\n        \"captureMethod\": \"automatic\",\n        \"metricDescription\": \"This is the upstream speed in the service\",\n        \"metricName\": \"Upstream Speed\",\n        \"name\": \"Upstream Speed\",\n        \"unitOfMeasure\": \"a second\",\n        \"valueType\": \"\",\n        \"capturePeriod\": \"\",\n        \"validFor\": {\n          \"startDateTime\": \"\",\n          \"endDateTime\": \"\"\n        },\n        \"thresholdRule\": []\n      }\n    ],\n    \"specCharacteristic\": [\n      {\n        \"name\": \"restart\",\n        \"description\": \"restart\",\n        \"valueType\": \"yes_no\",\n        \"validFor\": {\n          \"startDatetime\": \"2024-05-30 08:45:49\"\n        },\n        \"characteristicValueSpecification\": [\n          {\n            \"value\": \"No\",\n            \"validFor\": {\n              \"startDateTime\": \"\",\n              \"endDateTime\": \"\"\n            }\n          },\n          {\n            \"value\": \"Yes\",\n            \"validFor\": {\n              \"startDateTime\": \"\",\n              \"endDateTime\": \"\"\n            }\n          }\n        ]\n      }\n    ],\n    \"serviceTestSpecRelationship\": [\n      {\n        \"id\": \"76a3b160432a02104fefe4511fb8f2ad\",\n        \"name\": \"OAM Test\",\n        \"relationshipType\": \"\"\n      }\n    ],\n    \"relatedServiceSpecification\": [\n      {\n        \"id\": \"aeddcd1fb7d69910ff00f203ae11a990\",\n        \"name\": \"Home Internet\"\n      }\n    ]\n  }\n]\n```\n\n## Service Test Management Open API - GET /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTestSpecification/\\{id\\}\n\nRetrieves a service test definition entity.\n\n### URL format\n\nDefault URL: `/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/{id}`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition to retrieve.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nfields\n\n</td><td>\n\nList of fields to return in the response. Invalid fields are ignored. If this parameter isn't used, all fields are returned. Located in the Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\] table.Valid values:\n\n-   description\n-   id\n-   name\n-   relatedServiceSpecification\n-   serviceTestSpecRelationship\n-   specCharacteristic\n-   testMeasureDefinition\n-   validFor\n\nData type: String\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nFilter test definitions by the test's current state. Only test definitions in the specified state are returned in the response.Valid values:\n\n-   archived\n-   draft\n-   published\n-   retired\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|404|Not found. The requested item wasn't found.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification\n\n</td><td>\n\nRequired. Service specifications of the test definition.Data type: Array of Objects\n\n```\n\"relatedServiceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Specification \\[sn\\_prd\\_pm\\_specification\\] table.\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.name\n\n</td><td>\n\nName of the service specification.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship\n\n</td><td>\n\nRelated service test definition.Data type: Array of Objects\n\n```\n\"serviceTestSpecRelationship\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"relationshipType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.id\n\n</td><td>\n\nSys\\_id or external\\_id of the related service test definition.Data type: String\n\nTable: Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.name\n\n</td><td>\n\nName of the related test definition.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.relationshipType\n\n</td><td>\n\nType of relationship.Accepted values:\n\n-   dependency\n-   exclusivity\n-   substitution\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic\n\n</td><td>\n\nCharacteristics of the test definition.Data type: Array of Objects\n\n```\n\"specCharacteristic\": [\n {\n  \"characteristicValueSpecification\": [Array],\n  \"description\": \"String\",\n  \"name\": \"String\",\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification\n\n</td><td>\n\nPossible values of the characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor\n\n</td><td>\n\nDate range that the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.endDateTime\n\n</td><td>\n\nEnd date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.startDateTime\n\n</td><td>\n\nStart date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition\n\n</td><td>\n\nTest measure definitions for this service test definition. For more information, see [Define test measure definitions for a service test](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-test-measure-spm.md).Data type: Array of objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"captureFrequency\": \"String\",\n  \"captureMethod\": \"String\",\n  \"capturePeriod\": {Object},\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"name\": \"String\",\n  \"unitOfMeasure\": \"String\",\n  \"thresholdRule\": [Array],\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureFrequency\n\n</td><td>\n\nThe frequency at which to capture the metric. Valid values:\n\n-   daily\n-   monthly\n-   none\n-   once\n-   weekly\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Doesn't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod\n\n</td><td>\n\nPeriod or duration of the metric capture.Data type: Object\n\n```\n\"capturePeriod\": {\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.amount\n\n</td><td>\n\nNumber of capture periods.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.id\n\n</td><td>\n\nSys\\_id or external\\_id of the test measure definitions.Data type: String\n\nTable: Test Measure definition table \\[sn\\_st\\_mgmt\\_test\\_measure\\_definition\\]\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricName\n\n</td><td>\n\nUser-defined name of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.name\n\n</td><td>\n\nName of the test measure definition.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule\n\n</td><td>\n\nRule that defines conditions to achieve before applying consequences when a threshold is crossed \\(or not crossed\\)​ in the test measure definition. For more information, [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md).Data type: Array of Objects\n\n```\n{\n  \"thresholdRule\": {\n    \"consequence\": [Array],\n    \"conformanceComparatorExact\": Boolean,\n    \"conformanceComparatorLower\": \"String\",\n    \"conformanceComparatorUpper\": \"String\",\n    \"conformanceTargetExact\": \"String\",\n    \"conformanceTargetLower\": \"String\",\n    \"conformanceTargetUpper\": \"String\",\n    \"consequence\": [Array],\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"numberOfAllowedCrossing\": Number,\n    \"thresholdRuleSeverity\": \"String\",\n    \"tolerancePeriod\": {Object}\n  }\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value set for **testMeasureDefinition.thresholdRule.conformanceTargetExact**. If set to true, **testMeasureDefinition.thresholdRule.conformanceTargetExact** is required.Valid values:\n\n-   true: The value is identical to the value of **conformanceTargetExact**.\n-   false: The value isn't identical **conformanceTargetExact**.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorLower\n\n</td><td>\n\nOperator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   greater than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorUpper\n\n</td><td>\n\nOperator that checks if a value exceeds the threshold.Valid values:\n\n-   less than\n-   less than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed. See [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md) for more information.Data type: Array of objects\n\n```\n\"consequence\": [\n {\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"prescribeAction\": \"String\",\n  \"repeatAction\": Boolean,\n  \"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.description\n\n</td><td>\n\nDescription of the consequence. Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the measure consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.name\n\n</td><td>\n\nName of the consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.prescribeAction\n\n</td><td>\n\nUser-defined action to take for threshold violations. Actions vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied consequence.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor\n\n</td><td>\n\nDate range that the consequence is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"startDateTime\": \"String\",\n \"endDateTime \": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rules.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Threshold Rules \\[sn\\_st\\_mgmt\\_threshold\\_rule\\] table.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.thresholdRuleSeverity\n\n</td><td>\n\nSeverity level of the threshold rule.Valid values:\n\n-   high\n-   medium\n-   low\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor\n\n</td><td>\n\nDate range that the test measure definition is valid for.Data type: String\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range that the test definition is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nDate and time of the test definition on which the state of it is retired. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nDate and time of the test definition on which the state of it is published. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example retrieves details of a service test definition with a given ID.\n\n```\ncurl --location --request GET \"https:/instance.servicenow.com/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/89d2b920432a02104fefe4511fb8f22e\" \\\n--user 'username’: ‘password'\n```\n\nResponse body.\n\n```\n{\n  \"description\": \"Upstream and Downstream speed \",\n  \"id\": \"89d2b920432a02104fefe4511fb8f22e\",\n  \"name\": \"Speed Test\",\n  \"validFor\": {\n    \"startDateTime\": \"2024-05-31\",\n    \"endDateTime\": \"2024-06-27\"\n  },\n  \"testMeasureDefinition\": [\n    {\n      \"id\": \"1a04f560432a02104fefe4511fb8f2ad\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the downstream speed in a service\",\n      \"metricName\": \"Downstream Speed\",\n      \"name\": \"Downstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"30 Minutes\",\n      \"validFor\": {\n        \"startDateTime\": \"2024-05-30 08:49:26\",\n        \"endDateTime\": \"2024-05-31 08:49:29\"\n      },\n      \"thresholdRule\": [\n        {\n          \"id\": \"a754f960432a02104fefe4511fb8f2d0\",\n          \"description\": \"This speed is greater than the target upper\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"15 Minutes\",\n          \"conformanceTargetLower\": \"75\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"consequence\": [\n            {\n              \"id\": \"15a4bd60432a02104fefe4511fb8f2b8\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"generate a waring report\",\n              \"name\": \"degradedQualityOfService\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:51:29\",\n                \"endDateTime\": \"2024-08-06 08:51:31\"\n              }\n            },\n            {\n              \"id\": \"e6847d60432a02104fefe4511fb8f2c3\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"packetdrop\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:50:53\",\n                \"endDateTime\": \"2024-08-06 08:50:55\"\n              }\n            }\n          ]\n        },\n        {\n          \"id\": \"cb55b5a0432a02104fefe4511fb8f201\",\n          \"description\": \"\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"medium\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetUpper\": \"120\",\n          \"conformanceComparatorUpper\": \"less than\",\n          \"consequence\": []\n        }\n      ]\n    }\n  ],\n  \"specCharacteristic\": [\n    {\n      \"name\": \"restart\",\n      \"description\": \"restart\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-05-30 08:45:49\"\n      },\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\",\n            \"endDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\",\n            \"endDateTime\": \"\"\n          }\n        }\n      ]\n    }\n  ],\n  \"serviceTestSpecRelationship\": [\n    {\n      \"id\": \"76a3b160432a02104fefe4511fb8f2ad\",\n      \"name\": \"OAM Test\",\n      \"relationshipType\": \"\"\n    }\n  ],\n  \"relatedServiceSpecification\": [\n    {\n      \"id\": \"aeddcd1fb7d69910ff00f203ae11a990\",\n      \"name\": \"Home Internet\"\n    }\n  ]\n}\n```\n\n## Service Test Management Open API - PATCH /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTest/\\{id\\}\n\nUpdates a service test entity.\n\n### URL format\n\nDefault URL: `/api/sn_sprb_mgmt/servicetestmanagement/serviceTest/{id}`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test to retrieve.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncharacteristic\n\n</td><td>\n\nList that describes the characteristics of the associated service test. For more information about test definition characteristics, see Data type: Array of Objects\n\n```\n\"characteristic\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"value\": \"String\",\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ncharacteristic.id\n\n</td><td>\n\nSys\\_id or external\\_id of characteristics. If external\\_id is present for that record, the response returns the external\\_id otherwise it returns the sys\\_id.Data type: String\n\nTable: Characteristics \\[sn\\_prd\\_pm\\_characteristic\\]\n\n</td></tr><tr><td>\n\ncharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.value\n\n</td><td>\n\nCharacteristic options associated with the service test. Characteristics vary based on the customer instance.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test.Data type: String\n\n</td></tr><tr><td>\n\nendDateTime\n\n</td><td>\n\nEnd date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nmode\n\n</td><td>\n\nMode that the service test is running in.Valid values:\n\n-   ONDEMAND: Triggers the service test manually.\n-   PROACTIVE: Triggers the service test automatically.\n\nData type: String\n\nDefault: ONDEMAND\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the service test.Data type: String\n\n</td></tr><tr><td>\n\nrelatedService\n\n</td><td>\n\nRequired. Test definition associated with the service test.Data type: Object\n\n```\n\"relatedService\": {\n \"href\": \"String\",\n \"id\": \"String\",\n \"name\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrelatedService.href\n\n</td><td>\n\nHyperlink reference to the related service.Data type: String\n\n</td></tr><tr><td>\n\nrelatedService.id\n\n</td><td>\n\nSys\\_id or external\\_id of the product inventory.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the product Inventory \\[sn\\_prd\\_invt\\_product\\_inventory\\] table.\n\n</td></tr><tr><td>\n\nstartDateTime\n\n</td><td>\n\nStart date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nState the service test is in. Valid values:\n\n-   acknowledged\n-   canceled\n-   completed\n-   failed\n-   inProgress\n-   pending\n-   rejected\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure\n\n</td><td>\n\nMeasure of a specific aspect of a product, service, or resource test, such as lost packets or connectivity status.Data type: Array of Objects\n\n```\n\"testMeasure\": [\n {\n \"accuracy\": \"String\",\n \"captureDateTime\": \"String\",\n \"captureMethod\": \"String\",\n \"id\": \"String\",\n \"metricDescription\": \"String\",\n \"metricName\": \"String\",\n \"ruleViolation\": [Array],\n \"unitOfMeasure\": \"String\",\n \"value\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.accuracy\n\n</td><td>\n\nFloat decimal value representing the test measure accuracy captured for the associated metrics.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasure.captureDateTime\n\n</td><td>\n\nThe date and time that the metric was captured. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasure.id\n\n</td><td>\n\nSys\\_id or external\\_id of the Test Measures.Data type: String\n\nTable: In the sys\\_id or external\\_id fields of the Test Measures table \\[sn\\_st\\_mgmt\\_test\\_measure\\] table.\n\n</td></tr><tr><td>\n\ntestMeasure.Measure.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.metricName\n\n</td><td>\n\nName of the test measure metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation\n\n</td><td>\n\nAn object for defining a rule in the threshold rule definition, along with consequences if the rule is violated.Data type: Array of Objects\n\n```\n\"ruleViolation\"[\n  {\n    appliedConsequence: [Array],\n    conformanceTargetUpper: Number,\n    conformanceComparatorUpper: \"String\",\n    description: \"String\",\n    id: \"String\",\n    name: \"String\",\n    numberOfAllowedCrossing: Number,\n    thresholdRuleSeverity: \"String\",\n    tolerancePeriod: \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.amount\n\n</td><td>\n\nNumber of periods before applying the consequence.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed.Data type: Array of Objects\n\n```\n\"appliedConsequence\": [\n {\n  \"appliedAction\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"repeatAction\": Boolean\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction\n\n</td><td>\n\nAction to take when a threshold rule is violated. For example, sending a warning or generating a report. Applied actions can vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.description\n\n</td><td>\n\nDescription of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.name\n\n</td><td>\n\nName of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the consequence when a second violation occurs.Valid values:\n\n-   true: Repeat the action.\n-   false: Don't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComporatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical.Valid values:\n\n-   true: The value is identical.\n-   false: The value isn't identical.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComporatorLower\n\n</td><td>\n\nOperator for checking if a value falls below the threshold.Valid values:\n\n-   greater than\n-   greater than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComporatorUpper\n\n</td><td>\n\nOperator for checking if a value is above the threshold.Valid values:\n\n-   less than\n-   less than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rule violation.Data type: String\n\nTable: Threshold Rule Violation \\[sn\\_st\\_mgmt\\_threshold\\_rule\\_violation\\]\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   medium\n-   low\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod\n\n</td><td>\n\nSpecified time interval during which crossing occurrences are enabled without triggering any immediate consequences or actions.Date type: Object\n\n```\n\"tolerancePeriod\": {\n \"amount\": Number,\n \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.unitOfMeasure\n\n</td><td>\n\nUnit of measurement for the conformance target values of the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value\n\n</td><td>\n\nValue of the test measure.Data type: Object\n\n```\n\"value\": {\n \"id\": \"String\",\n \"name\": \"String\",\n \"valueType\": \"String\",\n \"value\": \"String\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.value.id\n\n</td><td>\n\nID of the test measure value.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.name\n\n</td><td>\n\nName of the test measure value.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.value\n\n</td><td>\n\nValue of the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.valueType\n\n</td><td>\n\nType of test measure value such as numeric, text, and so forth.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification\n\n</td><td>\n\nRequired. Test definition associated with this test. Data type: Object\n\n```\n\"testSpecification\": {\n \"href\": \"String\",\n \"id\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestSpecification.href\n\n</td><td>\n\nHyperlink reference to the service test definition.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\] table.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the service test is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime \": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nValidity end date of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nValidity start date of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|404|Not found. The requested item wasn't found.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncharacteristic\n\n</td><td>\n\nList that describes the characteristics of the associated service test.Data type: Array of Objects\n\n```\n\"characteristic\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"value\": \"String\",\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ncharacteristic.id\n\n</td><td>\n\nSys\\_id or external\\_id of characteristics. If external\\_id is present for that record, the response returns the external\\_id otherwise it returns the sys\\_id.Data type: String\n\nTable: Characteristics \\[sn\\_prd\\_pm\\_characteristic\\]\n\n</td></tr><tr><td>\n\ncharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.value\n\n</td><td>\n\nCharacteristic options associated with the service test. Characteristics vary based on the customer instance.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the service test.Data type: String\n\n</td></tr><tr><td>\n\nrelatedService\n\n</td><td>\n\nTest definition associated for this test.Data type: Object\n\n```\n\"relatedService\": {\n  \"href\": \"string\",\n  \"id\": \"String\",\n  \"name\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrelatedService.id\n\n</td><td>\n\nSys\\_id or external\\_id of the product inventory.Data type: String\n\nTable: Product Inventory \\[sn\\_prd\\_invt\\_product\\_inventory\\]\n\n</td></tr><tr><td>\n\nrelatedService.name\n\n</td><td>\n\nName of the product inventory.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure\n\n</td><td>\n\nMeasure of a specific aspect of a product, service, or resource test, such as lost packets or connectivity status.Data type: Array of Objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"accuracy\": \"String\",\n  \"captureDateTime\": \"String\",\n  \"captureMethod\": \"String\",\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"ruleViolation\": [Array]\n  \"unitOfMeasure\": \"String\",\n  \"value\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.accuracy\n\n</td><td>\n\nFloat decimal value representing the test measure accuracy captured for the associated metrics.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasure.captureDateTime\n\n</td><td>\n\nThe date and time that the metric was captured.Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasure.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.id\n\n</td><td>\n\nSys\\_id or external\\_id of the test measure.Data type: String\n\nTable: Test Measures \\[sn\\_st\\_mgmt\\_test\\_measure\\]\n\n</td></tr><tr><td>\n\ntestMeasure.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.metricName\n\n</td><td>\n\nName of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation\n\n</td><td>\n\nObject for defining a rule in the threshold rule definition, along with consequences if the rule is violated.Data type: Array of Objects\n\n```\n\"RuleViolation\": [\n{\n  \"appliedConsequence\": [Array],\n  \"conformanceComparatorExact\": Boolean,\n  \"conformanceComparatorLower\": \"String\",\n  \"conformanceComparatorUpper\": \"String\",\n  \"conformanceTargetExact\": \"String\",\n  \"conformanceTargetLower\": \"String\",\n  \"conformanceTargetUpper\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"numberOfAllowedCrossing\": Number,\n  \"thresholdRuleSeverity\": \"String\",\n  \"tolerancePeriod\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is violated.Data type: Array of Objects\n\n```\n\"appliedConsequence\": [\n {\n  \"appliedAction\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"repeatAction\": Boolean\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction\n\n</td><td>\n\nAction to take when a threshold rule is violated. For example, sending a warning or generating a report. Applied actions can vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied action or not.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.description\n\n</td><td>\n\nDescription of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.name\n\n</td><td>\n\nName of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value of **conformanceTargetExact**.Valid values:\n\n-   true: The value is identical.\n-   false: The value isn't identical.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorLower\n\n</td><td>\n\nAn operator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorUpper\n\n</td><td>\n\nAn operator that checks if a value exceeds the threshold.Valid values:\n\n-   is\n-   lesser than\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.description\n\n</td><td>\n\nDescription of the threshold rule violation.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rule violation.Data type: String\n\nTable: Threshold Rule Violation \\[sn\\_st\\_mgmt\\_threshold\\_rule\\_violation\\]\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum: 40\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   low\n-   medium\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod\n\n</td><td>\n\nDuration or time interval in which allowed crossings can occur before a consequence is initiated.Date type: Object\n\n```\n\"tolerancePeriod\": {\n \"amount\": Number,\n \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.amount\n\n</td><td>\n\nAmount of the period in number.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value\n\n</td><td>\n\nValue of metric in the test.Data type: Object\n\n```\n\"value\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"valueType\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.value.id\n\n</td><td>\n\nID of the metric value in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.name\n\n</td><td>\n\nName of the metric value in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.value\n\n</td><td>\n\nValue of metric in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.valueType\n\n</td><td>\n\nType of test measure value such as numeric, text, and so forth.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification\n\n</td><td>\n\nTest definition associated for this test. Data type: Object\n\n```\n\"testSpecification\": {\n  \"href\": \"String\",\n  \"id\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestSpecification.href\n\n</td><td>\n\nHyperlink reference to the service test definition.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range that the service test is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nEnd date and timestamp of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date and timestamp of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example updates the given service test entity according to details provided in the request body.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_sprb_mgmt/servicetestmanagement/serviceTest/2b406ec043b202104fefe4511fb8f211\" \\ \n--request PATCH \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n--data {\n  \"description\": \"Service test description\",\n  \"endDateTime\": \"2025-01-31 15:05:43\",\n  \"mode\": \"proactive\",\n  \"name\": \"Speed Test TR0001002\",\n  \"startDateTime\": \"2024-06-05 09:07:10\",\n  \"validFor\": {\n    \"startDateTime\": \"\",\n    \"endDateTime\": \"\"\n  },\n  \"relatedService\": {\n    \"id\": \"fa6d13f45b5620102dff5e92dc81c77f\",\n    \"name\": \"Internet_VPLS_PI0000011\"\n  },\n  \"testSpecification\": {\n    \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/76a3b160432a02104fefe4511fb8f2ad\",\n    \"id\": \"76a3b160432a02104fefe4511fb8f2ad\"\n  },\n  \"characteristic\": [\n    {\n      \"id\": \"e7ef960443f202104fefe4511fb8f224\",\n      \"name\": \"AccessRequired\",\n      \"valueType\": \"yes_no\",\n      \"value\": \"No\"\n    }\n  ],\n  \"testMeasure\": [\n    {\n      \"id\": \"61d1382e3be28210d140068aa4e45a2e\",\n      \"accuracy\": \"0.0001\",\n      \"captureDateTime\": \"\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"\",\n      \"metricName\": \"Flow speed\",\n      \"unitOfMeasure\": \"A second\",\n      \"value\": \"3000\",\n      \"ruleViolation\": [\n        {\n          \"id\": \"61d1382e3be28210d140068aa4e45a2f\",\n          \"description\": \"This speed is greater than the target\",\n          \"name\": \"tooMuchTraffic\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetLower\": \"2500\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"appliedConsequence\": [\n            {\n              \"id\": \"65d1382e3be28210d140068aa4e45a31\",\n              \"appliedAction\": \"sendWarning\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"sendWarning\",\n              \"repeatAction\": \"0\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\nThe response shows a successful update by returning the modified information in the given test service.\n\n```\n{\n  \"description\": \"Service test description\",\n  \"endDateTime\": \"2025-01-31 15:05:43\",\n  \"mode\": \"proactive\",\n  \"name\": \"Speed Test TR0001002\",\n  \"startDateTime\": \"2024-06-05 09:07:10\",\n  \"validFor\": {\n    \"startDateTime\": \"\",\n    \"endDateTime\": \"\"\n  },\n  \"relatedService\": {\n    \"id\": \"fa6d13f45b5620102dff5e92dc81c77f\",\n    \"name\": \"Internet_VPLS_PI0000011\"\n  },\n  \"testSpecification\": {\n    \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/76a3b160432a02104fefe4511fb8f2ad\",\n    \"id\": \"76a3b160432a02104fefe4511fb8f2ad\"\n  },\n  \"characteristic\": [\n    {\n      \"id\": \"e7ef960443f202104fefe4511fb8f224\",\n      \"name\": \"AccessRequired\",\n      \"valueType\": \"yes_no\",\n      \"value\": \"yes\"\n    }\n  ],\n  \"testMeasure\": [\n    {\n      \"id\": \"61d1382e3be28210d140068aa4e45a2e\",\n      \"accuracy\": \"0.0001\",\n      \"captureDateTime\": \"\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"\",\n      \"metricName\": \"Flow speed\",\n      \"unitOfMeasure\": \"A second\",\n      \"value\": \"3000\",\n      \"ruleViolation\": [\n        {\n          \"id\": \"61d1382e3be28210d140068aa4e45a2f\",\n          \"description\": \"This speed is greater than the target\",\n          \"name\": \"tooMuchTraffic\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetLower\": \"2500\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"appliedConsequence\": [\n            {\n              \"id\": \"65d1382e3be28210d140068aa4e45a31\",\n              \"appliedAction\": \"sendWarning\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"sendWarning\",\n              \"repeatAction\": \"0\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\n## Service Test Management Open API - PATCH /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTestSpecification/\\{id\\}\n\nAllows partial updates of a service test definition entity.\n\n### URL format\n\nDefault URL: `/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/{id}`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition to retrieve.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification\n\n</td><td>\n\nRequired. Service specifications of the test definition.Data type: Array of Objects\n\n```\n\"relatedServiceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Specification \\[sn\\_prd\\_pm\\_specification\\] table.\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.name\n\n</td><td>\n\nName of the service specification.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship\n\n</td><td>\n\nRelated service test definition.Data type: Array of Objects\n\n```\n\"serviceTestSpecRelationship\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"relationshipType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.id\n\n</td><td>\n\nSys\\_id or external\\_id of the related service test definition.Data type: String\n\nTable: Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.name\n\n</td><td>\n\nName of the related test definition.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.relationshipType\n\n</td><td>\n\nType of relationship.Accepted values:\n\n-   dependency\n-   exclusivity\n-   substitution\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic\n\n</td><td>\n\nCharacteristics of the test definition.Data type: Array of Objects\n\n```\n\"specCharacteristic\": [\n {\n  \"characteristicValueSpecification\": [Array],\n  \"description\": \"String\",\n  \"name\": \"String\",\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification\n\n</td><td>\n\nPossible values of the characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor\n\n</td><td>\n\nDate range that the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.endDateTime\n\n</td><td>\n\nEnd date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.startDateTime\n\n</td><td>\n\nStart date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition\n\n</td><td>\n\nTest measure definitions for this service test definition. For more information, see [Define test measure definitions for a service test](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-test-measure-spm.md).Data type: Array of objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"captureFrequency\": \"String\",\n  \"captureMethod\": \"String\",\n  \"capturePeriod\": {Object},\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"name\": \"String\",\n  \"unitOfMeasure\": \"String\",\n  \"thresholdRule\": [Array],\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureFrequency\n\n</td><td>\n\nThe frequency at which to capture the metric. Valid values:\n\n-   daily\n-   monthly\n-   none\n-   once\n-   weekly\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Doesn't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod\n\n</td><td>\n\nPeriod or duration of the metric capture.Data type: Object\n\n```\n\"capturePeriod\": {\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.amount\n\n</td><td>\n\nNumber of capture periods.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.id\n\n</td><td>\n\nSys\\_id or external\\_id of the test measure definitions.Data type: String\n\nTable: Test Measure definition table \\[sn\\_st\\_mgmt\\_test\\_measure\\_definition\\]\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricName\n\n</td><td>\n\nUser-defined name of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.name\n\n</td><td>\n\nName of the test measure definition.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule\n\n</td><td>\n\nRule that defines conditions to achieve before applying consequences when a threshold is crossed \\(or not crossed\\)​ in the test measure definition. For more information, [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md).Data type: Array of Objects\n\n```\n{\n  \"thresholdRule\": {\n    \"consequence\": [Array],\n    \"conformanceComparatorExact\": Boolean,\n    \"conformanceComparatorLower\": \"String\",\n    \"conformanceComparatorUpper\": \"String\",\n    \"conformanceTargetExact\": \"String\",\n    \"conformanceTargetLower\": \"String\",\n    \"conformanceTargetUpper\": \"String\",\n    \"consequence\": [Array],\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"numberOfAllowedCrossing\": Number,\n    \"thresholdRuleSeverity\": \"String\",\n    \"tolerancePeriod\": {Object}\n  }\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value set for **testMeasureDefinition.thresholdRule.conformanceTargetExact**. If set to true, **testMeasureDefinition.thresholdRule.conformanceTargetExact** is required.Valid values:\n\n-   true: The value is identical to the value of **conformanceTargetExact**.\n-   false: The value isn't identical **conformanceTargetExact**.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorLower\n\n</td><td>\n\nOperator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   greater than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorUpper\n\n</td><td>\n\nOperator that checks if a value exceeds the threshold.Valid values:\n\n-   less than\n-   less than or is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed. See [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md) for more information.Data type: Array of objects\n\n```\n\"consequence\": [\n {\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"prescribeAction\": \"String\",\n  \"repeatAction\": Boolean,\n  \"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.description\n\n</td><td>\n\nDescription of the consequence. Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the measure consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.name\n\n</td><td>\n\nName of the consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.prescribeAction\n\n</td><td>\n\nUser-defined action to take for threshold violations. Actions vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied consequence.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor\n\n</td><td>\n\nDate range that the consequence is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"startDateTime\": \"String\",\n \"endDateTime \": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rules.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Threshold Rules \\[sn\\_st\\_mgmt\\_threshold\\_rule\\] table.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.thresholdRuleSeverity\n\n</td><td>\n\nSeverity level of the threshold rule.Valid values:\n\n-   high\n-   medium\n-   low\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor\n\n</td><td>\n\nDate range that the test measure definition is valid for.Data type: String\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr><tr><td>\n\nContent-Type\n\n</td><td id=\"content_type-JSON-only-entry-RESTAPI\">\n\nData format of the request body. Only supports **application/json**.\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|Content-Type|Data format of the response body. Only supports application/json.|\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|404|Not found. The requested item wasn't found.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table id=\"table_i1m_wz4_qbc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification\n\n</td><td>\n\nService specifications for the test definitions.Data type: Array of Objects\n\n```\n\"relatedServiceSpecification\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Specification \\[sn\\_prd\\_pm\\_specification\\] table.\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.name\n\n</td><td>\n\nName of the service specification.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship\n\n</td><td>\n\nRelated service test definition.Data type: Array of Objects\n\n```\n\"serviceTestSpecRelationship\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"relationshipType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.id\n\n</td><td>\n\nSys\\_id or external\\_id of the related service test definition.Data type: String\n\nTable: Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.name\n\n</td><td>\n\nName of the related test definition.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.relationshipType\n\n</td><td>\n\nType of relationship.Accepted values:\n\n-   dependency\n-   exclusivity\n-   substitution\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic\n\n</td><td>\n\nTest definition characteristics.Data type: Array of Objects\n\n```\n\"specCharacteristic\": [\n {\n  \"characteristicValueSpecification\": [Array],\n  \"description\": \"String\",\n  \"name\": \"String\",\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification\n\n</td><td>\n\nPossible values of the characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [\n {\n  \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor\n\n</td><td>\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.endDateTime\n\n</td><td>\n\nEnd date of the characteristic. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.startDateTime\n\n</td><td>\n\nStart date of the characteristic. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nspecCharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition\n\n</td><td>\n\nTest measure definitions for this service test definition. See [Define test measure definitions for a service test](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-test-measure-spm.md) for more infomation.Data type: Array of Objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"captureFrequency\": \"String\",\n  \"captureMethod\": \"String\",\n  \"capturePeriod\": {Object},\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"name\": \"String\",\n  \"unitOfMeasure\": \"String\",\n  \"thresholdRule\": [Array],\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureFrequency\n\n</td><td>\n\nFrequency at which to capture the metric. Valid values:\n\n-   daily\n-   monthly\n-   none\n-   once\n-   weekly\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod\n\n</td><td>\n\nDuration or period of the capture.Data type: Object\n\n```\n\"capturePeriod\": {\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.amount\n\n</td><td>\n\nNumber of capture periods.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.units\n\n</td><td>\n\nUnits of the period.Accepted values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.id\n\n</td><td>\n\nSys\\_id or external\\_id of the Test Measure definitions.Data type: String\n\nTable: Test Measure definition \\[sn\\_st\\_mgmt\\_test\\_measure\\_definition\\]\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricName\n\n</td><td>\n\nUser-defined name of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.name\n\n</td><td>\n\nName of the test measure definition.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule\n\n</td><td>\n\nRule that defines the condition \\(raise or clear\\) to achieve to apply consequences when a threshold is crossed or ceased to be crossed​ for a particular test measure definition.Data type: Array of Objects\n\n```\n{\n  \"thresholdRule\": {\n    \"conformanceComparatorExact\": Boolean,\n    \"conformanceComparatorLower\": \"String\",\n    \"conformanceComparatorUpper\": \"String\",\n    \"conformanceTargetExact\": \"String\",\n    \"conformanceTargetLower\": \"String\",\n    \"conformanceTargetUpper\": \"String\",\n    \"consequence\": [Array],\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"numberOfAllowedCrossing\": Number,\n    \"thresholdRuleSeverity\": \"String\",\n    \"tolerancePeriod\": Object\n  }\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value of **conformanceTargetExact**.Valid values:\n\n-   true: The value is identical to the value of **conformanceTargetExact**.\n-   false: The value isn't identical **conformanceTargetExact**.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorLower\n\n</td><td>\n\nOperator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorUpper\n\n</td><td>\n\nOperator that checks if a value exceeds the threshold.Valid values:\n\n-   lesser than\n-   is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed.Data type: Array of Objects\n\n```\n\"consequence\": [\n {\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"prescribeAction\": \"String\",\n  \"repeatAction\": Boolean,\n  \"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.description\n\n</td><td>\n\nDescription of the consequence. Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the measure consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.name\n\n</td><td>\n\nName of the consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.prescribeAction\n\n</td><td>\n\nUser-defined action to take for threshold violations. Actions vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied action or not.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor\n\n</td><td>\n\nDate range that the consequence is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"startDateTime\": \"String\",\n \"endDateTime \": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rules.Data type: String\n\nTable: Threshold Rules \\[sn\\_st\\_mgmt\\_threshold\\_rule\\]\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   low\n-   medium\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor\n\n</td><td>\n\nDate range the test measure definition is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example partially updates the given service test definition ID according to modifications provided in the request body.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/89d2b920432a02104fefe4511fb8f22e \" \n--request PATCH\n--header \"Accept:application/json\" \n--user 'username':'password'\n--data {\n  \"description\": \"Upstream and Downstream speed \",\n  \"name\": \"This is my new Speed Test\",\n  \"testMeasureDefinition\": [\n    {\n      \"id\": \"1a04f560432a02104fefe4511fb8f2ad\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the downstream speed in a service\",\n      \"metricName\": \"Downstream Speed\",\n      \"name\": \"Downstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"30 Minutes\",\n      \"validFor\": {\n        \"startDateTime\": \"2024-05-30 08:49:26\",\n        \"endDateTime\": \"2024-05-31 08:49:29\"\n      },\n      \"thresholdRule\": [\n        {\n          \"id\": \"a754f960432a02104fefe4511fb8f2d0\",\n          \"description\": \"This speed is greater than the target upper\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"15 Minutes\",\n          \"conformanceTargetLower\": \"75\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"consequence\": [\n            {\n              \"id\": \"15a4bd60432a02104fefe4511fb8f2b8\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"generate a waring report\",\n              \"name\": \"degradedQualityOfService\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:51:29\",\n                \"endDateTime\": \"2024-08-06 08:51:31\"\n              }\n            },\n            {\n              \"id\": \"e6847d60432a02104fefe4511fb8f2c3\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"packetdrop\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:50:53\",\n                \"endDateTime\": \"2024-08-06 08:50:55\"\n              }\n            }\n          ]\n        },\n        {\n          \"id\": \"cb55b5a0432a02104fefe4511fb8f201\",\n          \"description\": \"\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"medium\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetUpper\": \"120\",\n          \"conformanceComparatorUpper\": \"less than\",\n          \"consequence\": []\n        }\n      ]\n    },\n    {\n      \"id\": \"8f987524432a02104fefe4511fb8f2f0\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the upstream speed in the service\",\n      \"metricName\": \"Upstream Speed\",\n      \"name\": \"Upstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"\",\n      \"validFor\": {\n        \"startDateTime\": \"\",\n        \"endDateTime\": \"\"\n      },\n      \"thresholdRule\": []\n    }\n  ],\n  \"specCharacteristic\": [\n    {\n      \"name\": \"restart\",\n      \"description\": \"restart\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-05-30 08:45:49\"\n      }\n    }\n  ],\n  \"serviceTestSpecRelationship\": [\n    {\n      \"id\": \"76a3b160432a02104fefe4511fb8f2ad\",\n      \"name\": \"OAM Test\",\n      \"relationshipType\": \"\"\n    }\n  ],\n  \"relatedServiceSpecification\": [\n    {\n      \"id\": \"aeddcd1fb7d69910ff00f203ae11a990\",\n      \"name\": \"Home Internet\"\n    }\n  ]\n}\n```\n\nThe response body returns the updated portion of the service test specification:\n\n```\n{\n  \"description\": \"Upstream and Downstream speed \",\n  \"name\": \"This is my new Speed Test\",\n  \"testMeasureDefinition\": [\n    {\n      \"id\": \"1a04f560432a02104fefe4511fb8f2ad\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the downstream speed in a service\",\n      \"metricName\": \"Downstream Speed\",\n      \"name\": \"Downstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"30 Minutes\",\n      \"validFor\": {\n        \"startDateTime\": \"2024-05-30 08:49:26\",\n        \"endDateTime\": \"2024-05-31 08:49:29\"\n      },\n      \"thresholdRule\": [\n        {\n          \"id\": \"a754f960432a02104fefe4511fb8f2d0\",\n          \"description\": \"This speed is greater than the target upper\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"15 Minutes\",\n          \"conformanceTargetLower\": \"75\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"consequence\": [\n            {\n              \"id\": \"15a4bd60432a02104fefe4511fb8f2b8\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"generate a waring report\",\n              \"name\": \"degradedQualityOfService\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:51:29\",\n                \"endDateTime\": \"2024-08-06 08:51:31\"\n              }\n            },\n            {\n              \"id\": \"e6847d60432a02104fefe4511fb8f2c3\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"packetdrop\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:50:53\",\n                \"endDateTime\": \"2024-08-06 08:50:55\"\n              }\n            }\n          ]\n        },\n        {\n          \"id\": \"cb55b5a0432a02104fefe4511fb8f201\",\n          \"description\": \"\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"medium\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetUpper\": \"120\",\n          \"conformanceComparatorUpper\": \"less than\",\n          \"consequence\": []\n        }\n      ]\n    },\n    {\n      \"id\": \"8f987524432a02104fefe4511fb8f2f0\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the upstream speed in the service\",\n      \"metricName\": \"Upstream Speed\",\n      \"name\": \"Upstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"\",\n      \"validFor\": {\n        \"startDateTime\": \"\",\n        \"endDateTime\": \"\"\n      },\n      \"thresholdRule\": []\n    }\n  ],\n  \"specCharacteristic\": [\n    {\n      \"name\": \"restart\",\n      \"description\": \"restart\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-05-30 08:45:49\"\n      }\n    }\n  ],\n  \"serviceTestSpecRelationship\": [\n    {\n      \"id\": \"76a3b160432a02104fefe4511fb8f2ad\",\n      \"name\": \"OAM Test\",\n      \"relationshipType\": \"\"\n    }\n  ],\n  \"relatedServiceSpecification\": [\n    {\n      \"id\": \"aeddcd1fb7d69910ff00f203ae11a990\",\n      \"name\": \"Home Internet\"\n    }\n  ]\n}\n```\n\n## Service Test Management Open API - POST /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTest\n\nCreates a service test.\n\n### URL format\n\nDefault URL: `/api/sn_sprb_mgmt/servicetestmanagement/serviceTest`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"id_q31_zd1_qbc\" class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"serviceTest-request-characteristic\"><td>\n\ncharacteristic\n\n</td><td>\n\nList that describes the characteristics of the associated service test. For more information about test definition characteristics, see Data type: Array of Objects\n\n```\n\"characteristic\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"value\": \"String\",\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr id=\"serviceTest-request-characteristic.id\"><td>\n\ncharacteristic.id\n\n</td><td>\n\nSys\\_id or external\\_id of characteristics. If external\\_id is present for that record, the response returns the external\\_id otherwise it returns the sys\\_id.Data type: String\n\nTable: Characteristics \\[sn\\_prd\\_pm\\_characteristic\\]\n\n</td></tr><tr id=\"serviceTest-request-characteristic.name\"><td>\n\ncharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-characteristic.value\"><td>\n\ncharacteristic.value\n\n</td><td>\n\nCharacteristic options associated with the service test. Characteristics vary based on the customer instance.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-characteristic.valueType\"><td>\n\ncharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr id=\"serviceTest-request-description\"><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-endDateTime\"><td>\n\nendDateTime\n\n</td><td>\n\nEnd date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"serviceTest-request-id\"><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test. This ID creates a service test and is used as the external\\_id.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr><tr id=\"serviceTest-request-mode\"><td>\n\nmode\n\n</td><td>\n\nMode that the service test is running in.Valid values:\n\n-   ONDEMAND: Triggers the service test manually.\n-   PROACTIVE: Triggers the service test automatically.\n\nData type: String\n\nDefault: ONDEMAND\n\n</td></tr><tr id=\"serviceTest-request-name\"><td>\n\nname\n\n</td><td>\n\nRequired. Name of the service test.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-relatedService\"><td>\n\nrelatedService\n\n</td><td>\n\nRequired. Test definition associated with the service test.Data type: Object\n\n```\n\"relatedService\": {\n \"href\": \"String\",\n \"id\": \"String\",\n \"name\": \"String\"\n}\n```\n\n</td></tr><tr id=\"serviceTest-request-relatedService.href\"><td>\n\nrelatedService.href\n\n</td><td>\n\nHyperlink reference to the related service.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-relatedService.id\"><td>\n\nrelatedService.id\n\n</td><td>\n\nSys\\_id or external\\_id of the product inventory.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the product Inventory \\[sn\\_prd\\_invt\\_product\\_inventory\\] table.\n\n</td></tr><tr id=\"serviceTest-request-relatedService.name\"><td>\n\nrelatedService.name\n\n</td><td>\n\nName of the product inventory item.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-startDateTime\"><td>\n\nstartDateTime\n\n</td><td>\n\nStart date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"serviceTest-request-state\"><td>\n\nstate\n\n</td><td>\n\nState the service test is in. Valid values:\n\n-   acknowledged\n-   canceled\n-   completed\n-   failed\n-   inProgress\n-   pending\n-   rejected\n\nData type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure\"><td>\n\ntestMeasure\n\n</td><td>\n\nMeasure of a specific aspect of a product, service, or resource test, such as lost packets or connectivity status.Data type: Array of Objects\n\n```\n\"testMeasure\": [\n {\n \"accuracy\": \"String\",\n \"captureDateTime\": \"String\",\n \"captureMethod\": \"String\",\n \"id\": \"String\",\n \"metricDescription\": \"String\",\n \"metricName\": \"String\",\n \"ruleViolation\": [Array],\n \"unitOfMeasure\": \"String\",\n \"value\": {Object}\n }\n]\n```\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.accuracy\"><td>\n\ntestMeasure.accuracy\n\n</td><td>\n\nFloat decimal value representing the test measure accuracy captured for the associated metrics.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.captureDateTime\"><td>\n\ntestMeasure.captureDateTime\n\n</td><td>\n\nThe date and time that the metric was captured. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.id\"><td>\n\ntestMeasure.id\n\n</td><td>\n\nSys\\_id or external\\_id of the Test Measures.Data type: String\n\nTable: In the sys\\_id or external\\_id fields of the Test Measures table \\[sn\\_st\\_mgmt\\_test\\_measure\\] table.\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.captureMethod\"><td>\n\ntestMeasure.Measure.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.metricDescription\"><td>\n\ntestMeasure.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.metricName\"><td>\n\ntestMeasure.metricName\n\n</td><td>\n\nName of the test measure metric.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation\"><td>\n\ntestMeasure.ruleViolation\n\n</td><td>\n\nAn object for defining a rule in the threshold rule definition, along with consequences if the rule is violated.Data type: Array of Objects\n\n```\n\"ruleViolation\"[\n  {\n    appliedConsequence: [Array],\n    conformanceTargetUpper: Number,\n    conformanceComparatorUpper: \"String\",\n    description: \"String\",\n    id: \"String\",\n    name: \"String\",\n    numberOfAllowedCrossing: Number,\n    thresholdRuleSeverity: \"String\",\n    tolerancePeriod: \"String\"\n  }\n]\n```\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.appliedConsequence\"><td>\n\ntestMeasure.ruleViolation.appliedConsequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed.Data type: Array of Objects\n\n```\n\"appliedConsequence\": [\n {\n  \"appliedAction\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"repeatAction\": Boolean\n }\n]\n```\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.appliedConsequence.appliedAction\"><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction\n\n</td><td>\n\nAction to take when a threshold rule is violated. For example, sending a warning or generating a report. Applied actions can vary between instances.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.appliedConsequence.description\"><td>\n\ntestMeasure.ruleViolation.appliedConsequence.description\n\n</td><td>\n\nDescription of the applied consequence.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.appliedConsequence.id\"><td>\n\ntestMeasure.ruleViolation.appliedConsequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the applied consequence.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.appliedConsequence.name\"><td>\n\ntestMeasure.ruleViolation.appliedConsequence.name\n\n</td><td>\n\nName of the applied consequence.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.appliedConsequence.repeatAction\"><td>\n\ntestMeasure.ruleViolation.appliedConsequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the consequence when a second violation occurs.Valid values:\n\n-   true: Repeat the action.\n-   false: Don't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.conformanceComporatorExact\"><td>\n\ntestMeasure.ruleViolation.conformanceComporatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical.Valid values:\n\n-   true: The value is identical.\n-   false: The value isn't identical.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.conformanceComporatorLower\"><td>\n\ntestMeasure.ruleViolation.conformanceComporatorLower\n\n</td><td>\n\nOperator for checking if a value falls below the threshold.Valid values:\n\n-   greater than\n-   greater than or is\n\nData type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.conformanceComporatorUpper\"><td>\n\ntestMeasure.ruleViolation.conformanceComporatorUpper\n\n</td><td>\n\nOperator for checking if a value is above the threshold.Valid values:\n\n-   less than\n-   less than or is\n\nData type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.conformanceTargetExact\"><td>\n\ntestMeasure.ruleViolation.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.conformanceTargetLower\"><td>\n\ntestMeasure.ruleViolation.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.conformanceTargetUpper\"><td>\n\ntestMeasure.ruleViolation.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.description\"><td>\n\ntestMeasure.ruleViolation.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-test.Measure.ruleViolation.id\"><td>\n\ntestMeasure.ruleViolation.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rule violation.Data type: String\n\nTable: Threshold Rule Violation \\[sn\\_st\\_mgmt\\_threshold\\_rule\\_violation\\]\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.name\"><td>\n\ntestMeasure.ruleViolation.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.numberOfAllowedCrossing\"><td>\n\ntestMeasure.ruleViolation.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr id=\"serviceTest-request-estMeasure.ruleViolation.thresholdRuleSeverity\"><td>\n\ntestMeasure.ruleViolation.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   medium\n-   low\n\nData type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.tolerancePeriod\"><td>\n\ntestMeasure.ruleViolation.tolerancePeriod\n\n</td><td>\n\nSpecified time interval during which crossing occurrences are enabled without triggering any immediate consequences or actions.Date type: Object\n\n```\n\"tolerancePeriod\": {\n \"amount\": Number,\n \"units\": \"String\"\n}\n```\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.amount\"><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.amount\n\n</td><td>\n\nNumber of periods before applying the consequence.Data type: Number\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.ruleViolation.tolerancePeriod.units\"><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.unitOfMeasure\"><td>\n\ntestMeasure.unitOfMeasure\n\n</td><td>\n\nUnit of measurement for the conformance target values of the test measure.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.value\"><td>\n\ntestMeasure.value\n\n</td><td>\n\nValue of the test measure.Data type: Object\n\n```\n\"value\": {\n \"id\": \"String\",\n \"name\": \"String\",\n \"valueType\": \"String\",\n \"value\": \"String\n}\n```\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.value.id\"><td>\n\ntestMeasure.value.id\n\n</td><td>\n\nID of the test measure value.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.value.name\"><td>\n\ntestMeasure.value.name\n\n</td><td>\n\nName of the test measure value.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.value.value\"><td>\n\ntestMeasure.value.value\n\n</td><td>\n\nValue of the test measure.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testMeasure.value.valueType\"><td>\n\ntestMeasure.value.valueType\n\n</td><td>\n\nType of test measure value such as numeric, text, and so forth.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testSpecification\"><td>\n\ntestSpecification\n\n</td><td>\n\nRequired. Test definition associated with this test. Data type: Object\n\n```\n\"testSpecification\": {\n \"href\": \"String\",\n \"id\": \"String\"\n}\n```\n\n</td></tr><tr id=\"serviceTest-request-testSpecification.href\"><td>\n\ntestSpecification.href\n\n</td><td>\n\nHyperlink reference to the service test definition.Data type: String\n\n</td></tr><tr id=\"serviceTest-request-testSpecification.id\"><td>\n\ntestSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\] table.\n\n</td></tr><tr id=\"serviceTest-request-validFor\"><td>\n\nvalidFor\n\n</td><td>\n\nDate range the service test is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime \": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr id=\"serviceTest-request-validFor.endDateTime\"><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nValidity end date of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"serviceTest-request-validFor.startDateTime\"><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nValidity start date of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table id=\"table_qzk_r2p_qbc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncharacteristic\n\n</td><td>\n\nList that describes the characteristics of the associated service test.Data type: Array of Objects\n\n```\n\"characteristic\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"value\": \"String\",\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ncharacteristic.id\n\n</td><td>\n\nSys\\_id or external\\_id of characteristics. If external\\_id is present for that record, the response returns the external\\_id otherwise it returns the sys\\_id.Data type: String\n\nTable: Characteristics \\[sn\\_prd\\_pm\\_characteristic\\]\n\n</td></tr><tr><td>\n\ncharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.value\n\n</td><td>\n\nCharacteristic options associated with the service test. Characteristics vary based on the customer instance.Data type: String\n\n</td></tr><tr><td>\n\ncharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test.Data type: String\n\n</td></tr><tr><td>\n\nendDateTime\n\n</td><td>\n\nEnd date and time of the service test.Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr><tr><td>\n\nmode\n\n</td><td>\n\nMode that the service test is running in.Valid values:\n\n-   ONDEMAND: Triggers the service test manually.\n-   PROACTIVE: Triggers the service test automatically.\n\nData type: String\n\nDefault: ONDEMAND\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the service test.Data type: String\n\n</td></tr><tr><td>\n\nrelatedService\n\n</td><td>\n\nTest definition associated for this test.Data type: Object\n\n```\n\"relatedService\": {\n  \"href\": \"string\",\n  \"id\": \"String\",\n  \"name\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrelatedService.id\n\n</td><td>\n\nSys\\_id or external\\_id of the product inventory.Data type: String\n\nTable: Product Inventory \\[sn\\_prd\\_invt\\_product\\_inventory\\]\n\n</td></tr><tr><td>\n\nrelatedService.name\n\n</td><td>\n\nName of the product inventory.Data type: String\n\n</td></tr><tr><td>\n\nstartDateTime\n\n</td><td>\n\nStart date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nState of the service test.Valid values:\n\n-   acknowledged\n-   canceled\n-   completed\n-   failed\n-   inProgress\n-   pending\n-   rejected\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure\n\n</td><td>\n\nMeasure of a specific aspect of a product, service, or resource test, such as lost packets or connectivity status.Data type: Array of Objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"accuracy\": \"String\",\n  \"captureDateTime\": \"String\",\n  \"captureMethod\": \"String\",\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"ruleViolation\": [Array]\n  \"unitOfMeasure\": \"String\",\n  \"value\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.accuracy\n\n</td><td>\n\nFloat decimal value representing the test measure accuracy captured for the associated metrics.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasure.captureDateTime\n\n</td><td>\n\nThe date and time that the metric was captured.Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasure.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.id\n\n</td><td>\n\nSys\\_id or external\\_id of the test measure.Data type: String\n\nTable: Test Measures \\[sn\\_st\\_mgmt\\_test\\_measure\\]\n\n</td></tr><tr><td>\n\ntestMeasure.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.metricName\n\n</td><td>\n\nName of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation\n\n</td><td>\n\nObject for defining a rule in the threshold rule definition, along with consequences if the rule is violated.Data type: Array of Objects\n\n```\n\"RuleViolation\": [\n{\n  \"appliedConsequence\": [Array],\n  \"conformanceComparatorExact\": Boolean,\n  \"conformanceComparatorLower\": \"String\",\n  \"conformanceComparatorUpper\": \"String\",\n  \"conformanceTargetExact\": \"String\",\n  \"conformanceTargetLower\": \"String\",\n  \"conformanceTargetUpper\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"numberOfAllowedCrossing\": Number,\n  \"thresholdRuleSeverity\": \"String\",\n  \"tolerancePeriod\": {Object}\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is violated.Data type: Array of Objects\n\n```\n\"appliedConsequence\": [\n {\n  \"appliedAction\": \"String\",\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"repeatAction\": Boolean\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction\n\n</td><td>\n\nAction to take when a threshold rule is violated. For example, sending a warning or generating a report. Applied actions can vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.appliedAction.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied action or not.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.description\n\n</td><td>\n\nDescription of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.appliedConsequence.name\n\n</td><td>\n\nName of the applied consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value of **conformanceTargetExact**.Valid values:\n\n-   true: The value is identical.\n-   false: The value isn't identical.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorLower\n\n</td><td>\n\nAn operator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceComparatorUpper\n\n</td><td>\n\nAn operator that checks if a value exceeds the threshold.Valid values:\n\n-   is\n-   lesser than\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results. Determines if the threshold is crossed or no longer crossed.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.description\n\n</td><td>\n\nDescription of the threshold rule violation.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rule violation.Data type: String\n\nTable: Threshold Rule Violation \\[sn\\_st\\_mgmt\\_threshold\\_rule\\_violation\\]\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.name\n\n</td><td>\n\nName of the threshold rule violation.Date type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum: 40\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   low\n-   medium\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod\n\n</td><td>\n\nDuration or time interval in which allowed crossings can occur before a consequence is initiated.Date type: Object\n\n```\n\"tolerancePeriod\": {\n \"amount\": Number,\n \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.amount\n\n</td><td>\n\nAmount of the period in number.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasure.ruleViolation.tolerancePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasure.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value\n\n</td><td>\n\nValue of metric in the test.Data type: Object\n\n```\n\"value\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"valueType\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasure.value.id\n\n</td><td>\n\nID of the metric value in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.name\n\n</td><td>\n\nName of the metric value in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.name\n\n</td><td>\n\nName of the metric value in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.value\n\n</td><td>\n\nValue of metric in the test.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasure.value.valueType\n\n</td><td>\n\nType of test measure value such as numeric, text, and so forth.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification\n\n</td><td>\n\nTest definition associated for this test. Data type: Object\n\n```\n\"testSpecification\": {\n  \"href\": \"String\",\n  \"id\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestSpecification.href\n\n</td><td>\n\nHyperlink reference to the service test definition.Data type: String\n\n</td></tr><tr><td>\n\ntestSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range that the service test is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nEnd date and timestamp of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date and timestamp of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example creates a new service test according to specific details provided in the request body.\n\n```\ncurl \"https:/instance.servicenow.com/api/sn_sprb_mgmt/servicetestmanagement/serviceTest\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--data {\n  \"description\": \"Service test\",\n  \"endDateTime\": \"2025-01-31 15:05:43\",\n  \"mode\": \"proactive\",\n  \"name\": \"Speed Test TR0001002\",\n  \"startDateTime\": \"2024-06-05 09:07:10\",\n  \"validFor\": {\n    \"startDateTime\": \"\",\n    \"endDateTime\": \"\"\n  },\n  \"relatedService\": {\n    \"id\": \"fa6d13f45b5620102dff5e92dc81c77f\",\n    \"name\": \"Internet_VPLS_PI0000011\"\n  },\n  \"testSpecification\": {\n    \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/76a3b160432a02104fefe4511fb8f2ad\",\n    \"id\": \"76a3b160432a02104fefe4511fb8f2ad\"\n  },\n  \"characteristic\": [\n    {\n      \"id\": \"e7ef960443f202104fefe4511fb8f224\",\n      \"name\": \"AccessRequired\",\n      \"valueType\": \"yes_no\",\n      \"value\": \"Yes\"\n    }\n  ],\n  \"testMeasure\": [\n    {\n      \"id\": \"61d1382e3be28210d140068aa4e45a2e\",\n      \"accuracy\": \"0.0001\",\n      \"captureDateTime\": \"\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"\",\n      \"metricName\": \"Flow speed\",\n      \"unitOfMeasure\": \"A second\",\n      \"value\": \"3000\",\n      \"ruleViolation\": [\n        {\n          \"id\": \"61d1382e3be28210d140068aa4e45a2f\",\n          \"description\": \"This speed is greater than the target\",\n          \"name\": \"tooMuchTraffic\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetLower\": \"2500\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"appliedConsequence\": [\n            {\n              \"id\": \"65d1382e3be28210d140068aa4e45a31\",\n              \"appliedAction\": \"sendWarning\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"sendWarning\",\n              \"repeatAction\": \"0\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\nThe response returns confirmation details about the new test service and assigns it a unique ID, 2b406ec043b202104fefe4511fb8f211:\n\n```\n{\n  \"description\": \"Service test\",\n  \"endDateTime\": \"2025-01-31 15:05:43\",\n  \"mode\": \"proactive\",\n  \"name\": \"Speed Test TR0001002\",\n  \"startDateTime\": \"2024-06-05 09:07:10\",\n  \"validFor\": {\n    \"startDateTime\": \"\",\n    \"endDateTime\": \"\"\n  },\n  \"relatedService\": {\n    \"id\": \"fa6d13f45b5620102dff5e92dc81c77f\",\n    \"name\": \"Internet_VPLS_PI0000011\"\n  },\n  \"testSpecification\": {\n    \"href\": \"/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/76a3b160432a02104fefe4511fb8f2ad\",\n    \"id\": \"76a3b160432a02104fefe4511fb8f2ad\"\n  },\n  \"characteristic\": [\n    {\n      \"id\": \"e7ef960443f202104fefe4511fb8f224\",\n      \"name\": \"AccessRequired\",\n      \"valueType\": \"yes_no\",\n      \"value\": \"Yes\"\n    }\n  ],\n  \"testMeasure\": [\n    {\n      \"id\": \"61d1382e3be28210d140068aa4e45a2e\",\n      \"accuracy\": \"0.0001\",\n      \"captureDateTime\": \"\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"\",\n      \"metricName\": \"Flow speed\",\n      \"unitOfMeasure\": \"A second\",\n      \"value\": \"3000\",\n      \"ruleViolation\": [\n        {\n          \"id\": \"61d1382e3be28210d140068aa4e45a2f\",\n          \"description\": \"This speed is greater than the target\",\n          \"name\": \"tooMuchTraffic\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetLower\": \"2500\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"appliedConsequence\": [\n            {\n              \"id\": \"65d1382e3be28210d140068aa4e45a31\",\n              \"appliedAction\": \"sendWarning\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"sendWarning\",\n              \"repeatAction\": \"0\"\n            }\n          ]\n        }\n      ]\n    }\n  ],\n  \"id\": \"2b406ec043b202104fefe4511fb8f211\"\n}\n```\n\n## Service Test Management Open API - POST /sn\\_sprb\\_mgmt/servicetestmanagement/serviceTestSpecification\n\nCreates a new service test definition.\n\n### URL format\n\nDefault URL: `/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"id_thr_xwn_qbc\" class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"testSpec-request-description-param\"><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test definition.Data type: String\n\n</td></tr><tr id=\"testSpec-request-id-param\"><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr id=\"testSpec-request-name-param\"><td>\n\nname\n\n</td><td>\n\nRequired. Name of the service test definition.Data type: String\n\n</td></tr><tr id=\"testSpec-request-relatedServiceSpecification-param\"><td>\n\nrelatedServiceSpecification\n\n</td><td>\n\nRequired. Service specifications of the test definition.Data type: Array of Objects\n\n```\n\"relatedServiceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr id=\"testSpec-request-relatedServiceSpecification.id-param\"><td>\n\nrelatedServiceSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Specification \\[sn\\_prd\\_pm\\_specification\\] table.\n\n</td></tr><tr id=\"testSpec-request-relatedServiceSpecification.name-param\"><td>\n\nrelatedServiceSpecification.name\n\n</td><td>\n\nName of the service specification.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship\n\n</td><td>\n\nRelated service test definition.Data type: Array of objects\n\n```\n\"serviceTestSpecRelationship\": [\n{\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"relationshipType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.id\n\n</td><td>\n\nSys\\_id or external\\_id of the related service test definition.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\] table.\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.name\n\n</td><td>\n\nName of the related test definition.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.relationshipType\n\n</td><td>\n\nType of relationship.Valid values:\n\n-   dependency\n-   exclusivity\n-   substitution\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-specCharacteristics-param\"><td>\n\nspecCharacteristic\n\n</td><td>\n\nCharacteristics of the test definition.Data type: Array of Objects\n\n```\n\"specCharacteristic\": [\n {\n  \"characteristicValueSpecification\": [Array],\n  \"description\": \"String\",\n  \"name\": \"String\",\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr id=\"testSpec-request-specCharacteristics.characteristicValueSpecification-param\"><td>\n\nspecCharacteristic.characteristicValueSpecification\n\n</td><td>\n\nPossible values of the characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr id=\"testSpec-request-specCharacteristic.characteristicValueSpecification.value-param\"><td>\n\nspecCharacteristic.characteristicValueSpecification.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr id=\"testSpec-request-specCharacteristic.characteristicValueSpecification.descr-param\"><td>\n\nspecCharacteristic.description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr id=\"testSpec-request-specCharacteristic.characteristicValueSpecification.name-param\"><td>\n\nspecCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr id=\"testSpec-request-specCharacteristic.validFor-param\"><td>\n\nspecCharacteristic.validFor\n\n</td><td>\n\nDate range that the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr id=\"testSpec-request-specCharacteristic.validFor.endDateTime-param\"><td>\n\nspecCharacteristic.validFor.endDateTime\n\n</td><td>\n\nEnd date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-specCharacteristic.validFor.startDateTime-param\"><td>\n\nspecCharacteristic.validFor.startDateTime\n\n</td><td>\n\nStart date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-specCharacteristic.valueType-param\"><td>\n\nspecCharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition-param\"><td>\n\ntestMeasureDefinition\n\n</td><td>\n\nTest measure definitions for this service test definition. For more information, see [Define test measure definitions for a service test](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-test-measure-spm.md).Data type: Array of objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"captureFrequency\": \"String\",\n  \"captureMethod\": \"String\",\n  \"capturePeriod\": {Object},\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"name\": \"String\",\n  \"unitOfMeasure\": \"String\",\n  \"thresholdRule\": [Array],\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.captureFrequency-param\"><td>\n\ntestMeasureDefinition.captureFrequency\n\n</td><td>\n\nThe frequency at which to capture the metric. Valid values:\n\n-   daily\n-   monthly\n-   none\n-   once\n-   weekly\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.captureMethod-param\"><td>\n\ntestMeasureDefinition.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Doesn't capture the metric.\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.capturePeriod-param\"><td>\n\ntestMeasureDefinition.capturePeriod\n\n</td><td>\n\nPeriod or duration of the metric capture.Data type: Object\n\n```\n\"capturePeriod\": {\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.capturePeriod.amount-param\"><td>\n\ntestMeasureDefinition.capturePeriod.amount\n\n</td><td>\n\nNumber of capture periods.Data type: Number\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.capturePeriod.units-param\"><td>\n\ntestMeasureDefinition.capturePeriod.units\n\n</td><td>\n\nUnits of the period.Valid values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.id-param\"><td>\n\ntestMeasureDefinition.id\n\n</td><td>\n\nSys\\_id or external\\_id of the test measure definitions.Data type: String\n\nTable: Test Measure definition table \\[sn\\_st\\_mgmt\\_test\\_measure\\_definition\\]\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.metricDescription-param\"><td>\n\ntestMeasureDefinition.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.metricName-param\"><td>\n\ntestMeasureDefinition.metricName\n\n</td><td>\n\nUser-defined name of a metric in the test measure.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.name-param\"><td>\n\ntestMeasureDefinition.name\n\n</td><td>\n\nName of the test measure definition.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule-param\"><td>\n\ntestMeasureDefinition.thresholdRule\n\n</td><td>\n\nRule that defines conditions to achieve before applying consequences when a threshold is crossed \\(or not crossed\\)​ in the test measure definition. For more information, [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md).Data type: Array of Objects\n\n```\n{\n  \"thresholdRule\": {\n    \"consequence\": [Array],\n    \"conformanceComparatorExact\": Boolean,\n    \"conformanceComparatorLower\": \"String\",\n    \"conformanceComparatorUpper\": \"String\",\n    \"conformanceTargetExact\": \"String\",\n    \"conformanceTargetLower\": \"String\",\n    \"conformanceTargetUpper\": \"String\",\n    \"consequence\": [Array],\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"numberOfAllowedCrossing\": Number,\n    \"thresholdRuleSeverity\": \"String\",\n    \"tolerancePeriod\": {Object}\n  }\n}\n```\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.ComporatorExact-param\"><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value set for **testMeasureDefinition.thresholdRule.conformanceTargetExact**. If set to true, **testMeasureDefinition.thresholdRule.conformanceTargetExact** is required.Valid values:\n\n-   true: The value is identical to the value of **conformanceTargetExact**.\n-   false: The value isn't identical **conformanceTargetExact**.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.ComporatorLower-param\"><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorLower\n\n</td><td>\n\nOperator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   greater than or is\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.ComporatorUpper-param\"><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorUpper\n\n</td><td>\n\nOperator that checks if a value exceeds the threshold.Valid values:\n\n-   less than\n-   less than or is\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.TargetExact-param\"><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.TargetLower-param\"><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.TargetUpper-param\"><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed. See [Define threshold rules for a test measure definition](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-threshold-rules.md) for more information.Data type: Array of objects\n\n```\n\"consequence\": [\n {\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"prescribeAction\": \"String\",\n  \"repeatAction\": Boolean,\n  \"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n }\n]\n```\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.description-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.description\n\n</td><td>\n\nDescription of the consequence. Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.id-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the measure consequence.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.name-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.name\n\n</td><td>\n\nName of the consequence.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.prescribeAction-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.prescribeAction\n\n</td><td>\n\nUser-defined action to take for threshold violations. Actions vary between instances.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.repeatAction-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied consequence.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.validFor-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor\n\n</td><td>\n\nDate range that the consequence is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"startDateTime\": \"String\",\n \"endDateTime \": \"String\"\n}\n```\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.validFor.endDateTime-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.consequence.validFor.startDateTime-param\"><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.description-param\"><td>\n\ntestMeasureDefinition.thresholdRule.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.id-param\"><td>\n\ntestMeasureDefinition.thresholdRule.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rules.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Threshold Rules \\[sn\\_st\\_mgmt\\_threshold\\_rule\\] table.\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.name-param\"><td>\n\ntestMeasureDefinition.thresholdRule.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.numberOfAllowedCrossing-param\"><td>\n\ntestMeasureDefinition.thresholdRule.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.thresholdRule.thresholdRuleSeverity-param\"><td>\n\ntestMeasureDefinition.thresholdRule.thresholdRuleSeverity\n\n</td><td>\n\nSeverity level of the threshold rule.Valid values:\n\n-   high\n-   medium\n-   low\n\nData type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.unitOfMeasure-param\"><td>\n\ntestMeasureDefinition.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.validFor-param\"><td>\n\ntestMeasureDefinition.validFor\n\n</td><td>\n\nDate range that the test measure definition is valid for.Data type: String\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.validFor.endDateTime-param\"><td>\n\ntestMeasureDefinition.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"testSpec-request-testMeasureDefinition.validFor.startDateTime-param\"><td>\n\ntestMeasureDefinition.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"testSpec-request-validFor-param\"><td>\n\nvalidFor\n\n</td><td>\n\nDate range that the test definition is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr id=\"testSpec-request-validFor.endDateTime-param\"><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nDate and time of the test definition on which the state of it is retired. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr id=\"testSpec-request-validFor.startDateTime-param\"><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nDate and time of the test definition on which the state of it is published. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|Content-Type|Data format of the response body. Only supports application/json.|\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table id=\"table_qqg_3s4_qbc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external\\_id of the service test definition.Data type: String\n\nTable: Service Test \\[sn\\_st\\_mgmt\\_test\\]\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the service test definition.Data type: String\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification\n\n</td><td>\n\nService specifications for the test definitions.Data type: Array of Objects\n\n```\n\"relatedServiceSpecification\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.id\n\n</td><td>\n\nSys\\_id or external\\_id of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Specification \\[sn\\_prd\\_pm\\_specification\\] table.\n\n</td></tr><tr><td>\n\nrelatedServiceSpecification.name\n\n</td><td>\n\nName of the service specification.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship\n\n</td><td>\n\nRelated service test definition.Data type: Array of Objects\n\n```\n\"serviceTestSpecRelationship\": [\n {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"relationshipType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.id\n\n</td><td>\n\nSys\\_id or external\\_id of the related service test definition.Data type: String\n\nTable: Test Definition \\[sn\\_st\\_mgmt\\_test\\_definition\\]\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.name\n\n</td><td>\n\nName of the related test definition.Data type: String\n\n</td></tr><tr><td>\n\nserviceTestSpecRelationship.relationshipType\n\n</td><td>\n\nType of relationship.Accepted values:\n\n-   dependency\n-   exclusivity\n-   substitution\n\nData type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic\n\n</td><td>\n\nTest definition characteristics.Data type: Array of Objects\n\n```\n\"specCharacteristic\": [\n {\n  \"characteristicValueSpecification\": [Array],\n  \"description\": \"String\",\n  \"name\": \"String\",\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification\n\n</td><td>\n\nPossible values of the characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [\n {\n  \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.characteristicValueSpecification.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor\n\n</td><td>\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.endDateTime\n\n</td><td>\n\nEnd date of the characteristic. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nspecCharacteristic.validFor.startDateTime\n\n</td><td>\n\nStart date of the characteristic. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nspecCharacteristic.valueType\n\n</td><td>\n\nType of characteristic value.-   choice\n-   date\n-   date/time\n-   duration\n-   email\n-   label\n-   single line test\n-   yes/no\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition\n\n</td><td>\n\nTest measure definitions for this service test definition. See [Define test measure definitions for a service test](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/telecom-media-technology/define-test-measure-spm.md) for more infomation.Data type: Array of Objects\n\n```\n\"testMeasureDefinition\": [\n {\n  \"captureFrequency\": \"String\",\n  \"captureMethod\": \"String\",\n  \"capturePeriod\": {Object},\n  \"id\": \"String\",\n  \"metricDescription\": \"String\",\n  \"metricName\": \"String\",\n  \"name\": \"String\",\n  \"unitOfMeasure\": \"String\",\n  \"thresholdRule\": [Array],\n  \"validFor\": {Object},\n  \"valueType\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureFrequency\n\n</td><td>\n\nFrequency at which to capture the metric. Valid values:\n\n-   daily\n-   monthly\n-   none\n-   once\n-   weekly\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.captureMethod\n\n</td><td>\n\nMethod used to capture the metric.Valid values:\n\n-   automatic: Automatically capture the metric.\n-   manual: Manually capture the metric.\n-   none: Don't capture the metric.\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod\n\n</td><td>\n\nDuration or period of the capture.Data type: Object\n\n```\n\"capturePeriod\": {\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.amount\n\n</td><td>\n\nNumber of capture periods.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.capturePeriod.units\n\n</td><td>\n\nUnits of the period.Accepted values:\n\n-   days\n-   hours\n-   minutes\n-   seconds\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.id\n\n</td><td>\n\nSys\\_id or external\\_id of the Test Measure definitions.Data type: String\n\nTable: Test Measure definition \\[sn\\_st\\_mgmt\\_test\\_measure\\_definition\\]\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricDescription\n\n</td><td>\n\nBrief description of the metric.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.metricName\n\n</td><td>\n\nUser-defined name of a metric in the test measure.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.name\n\n</td><td>\n\nName of the test measure definition.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule\n\n</td><td>\n\nRule that defines the condition \\(raise or clear\\) to achieve to apply consequences when a threshold is crossed or ceased to be crossed​ for a particular test measure definition.Data type: Array of Objects\n\n```\n{\n  \"thresholdRule\": {\n    \"conformanceComparatorExact\": Boolean,\n    \"conformanceComparatorLower\": \"String\",\n    \"conformanceComparatorUpper\": \"String\",\n    \"conformanceTargetExact\": \"String\",\n    \"conformanceTargetLower\": \"String\",\n    \"conformanceTargetUpper\": \"String\",\n    \"consequence\": [Array],\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"numberOfAllowedCrossing\": Number,\n    \"thresholdRuleSeverity\": \"String\",\n    \"tolerancePeriod\": Object\n  }\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorExact\n\n</td><td>\n\nFlag that indicates whether a value is identical to the value of **conformanceTargetExact**.Valid values:\n\n-   true: The value is identical to the value of **conformanceTargetExact**.\n-   false: The value isn't identical **conformanceTargetExact**.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorLower\n\n</td><td>\n\nOperator that checks if a value falls below the threshold. Valid values:\n\n-   greater than\n-   is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceComparatorUpper\n\n</td><td>\n\nOperator that checks if a value exceeds the threshold.Valid values:\n\n-   lesser than\n-   is\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetExact\n\n</td><td>\n\nRequired if **conformanceComparatorExact** is set to true. If the **conformanceComparatorExact** value is set to true, its value matches the value defined in **conformanceTargetExact**.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetLower\n\n</td><td>\n\nLower threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.conformanceTargetUpper\n\n</td><td>\n\nUpper threshold value for comparing the test measure results.Data type: Number\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence\n\n</td><td>\n\nAction \\(prescribed action or notification\\) to take when a threshold rule is crossed.Data type: Array of Objects\n\n```\n\"consequence\": [\n {\n  \"description\": \"String\",\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"prescribeAction\": \"String\",\n  \"repeatAction\": Boolean,\n  \"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.description\n\n</td><td>\n\nDescription of the consequence. Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.id\n\n</td><td>\n\nSys\\_id or external\\_id of the measure consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.name\n\n</td><td>\n\nName of the consequence.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.prescribeAction\n\n</td><td>\n\nUser-defined action to take for threshold violations. Actions vary between instances.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.repeatAction\n\n</td><td>\n\nFlag that indicates whether to repeat the applied action or not.Valid values:\n\n-   true: Repeats the action.\n-   false: Doesn't repeat the action.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor\n\n</td><td>\n\nDate range that the consequence is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"startDateTime\": \"String\",\n \"endDateTime \": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.consequence.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the consequence. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.description\n\n</td><td>\n\nDescription of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.id\n\n</td><td>\n\nSys\\_id or external\\_id of the threshold rules.Data type: String\n\nTable: Threshold Rules \\[sn\\_st\\_mgmt\\_threshold\\_rule\\]\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.name\n\n</td><td>\n\nName of the threshold rule.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.numberOfAllowedCrossing\n\n</td><td>\n\nMaximum crossings allowed within the tolerance period before consequences are applied.Data type: Number\n\nMaximum value: 40\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.thresholdRule.thresholdRuleSeverity\n\n</td><td>\n\nSeverity of the threshold rule.Valid values:\n\n-   high\n-   low\n-   medium\n\nData type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.unitOfMeasure\n\n</td><td>\n\nMeasurable value of time used to calculate the performance of a service in days, minutes, and seconds.Data type: String\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor\n\n</td><td>\n\nDate range the test measure definition is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime\": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.endDateTime\n\n</td><td>\n\nValidity end date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\ntestMeasureDefinition.validFor.startDateTime\n\n</td><td>\n\nValidity start date of the test measure definition. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the service test is valid for.Data type: Object\n\n```\n\"validFor\": {\n \"endDateTime \": \"String\",\n \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nEnd date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date and time of the service test. Data type: String\n\nFormat: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example creates a new service test definition.\n\n```\ncurl \"https:/instance.servicenow.com/api/sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--header \"Content-Type:application/json\" \\\n--user 'username':'password'\n-- data {\n  \"description\": \"Upstream and Downstream speed \",\n  \"name\": \"Speed Test\",\n  \"validFor\": {\n    \"startDateTime\": \"2024-05-31\",\n    \"endDateTime\": \"2024-06-27\"\n  },\n  \"testMeasureDefinition\": [\n    {\n      \"id\": \"1a04f560432a02104fefe4511fb8f2ad\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the downstream speed in a service\",\n      \"metricName\": \"Downstream Speed\",\n      \"name\": \"Downstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"30 Minutes\",\n      \"validFor\": {\n        \"startDateTime\": \"2024-05-30 08:49:26\",\n        \"endDateTime\": \"2024-05-31 08:49:29\"\n      },\n      \"thresholdRule\": [\n        {\n          \"id\": \"a754f960432a02104fefe4511fb8f2d0\",\n          \"description\": \"This speed is greater than the target upper\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"15 Minutes\",\n          \"conformanceTargetLower\": \"75\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"consequence\": [\n            {\n              \"id\": \"15a4bd60432a02104fefe4511fb8f2b8\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"generate a waring report\",\n              \"name\": \"degradedQualityOfService\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:51:29\",\n                \"endDateTime\": \"2024-08-06 08:51:31\"\n              }\n            },\n            {\n              \"id\": \"e6847d60432a02104fefe4511fb8f2c3\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"packetdrop\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:50:53\",\n                \"endDateTime\": \"2024-08-06 08:50:55\"\n              }\n            }\n          ]\n        },\n        {\n          \"id\": \"cb55b5a0432a02104fefe4511fb8f201\",\n          \"description\": \"\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"medium\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetUpper\": \"120\",\n          \"conformanceComparatorUpper\": \"less than\",\n          \"consequence\": []\n        }\n      ]\n    },\n    {\n      \"id\": \"8f987524432a02104fefe4511fb8f2f0\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the upstream speed in the service\",\n      \"metricName\": \"Upstream Speed\",\n      \"name\": \"Upstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"\",\n      \"validFor\": {\n        \"startDateTime\": \"\",\n        \"endDateTime\": \"\"\n      },\n      \"thresholdRule\": []\n    }\n  ],\n  \"specCharacteristic\": [\n    {\n      \"name\": \"restart\",\n      \"description\": \"restart\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-05-30 08:45:49\"\n      },\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"No\",\n        },\n        {\n          \"value\": \"Yes\",\n        }\n      ]\n    }\n  ],\n  \"serviceTestSpecRelationship\": [\n    {\n      \"id\": \"76a3b160432a02104fefe4511fb8f2ad\",\n      \"name\": \"OAM Test\",\n      \"relationshipType\": \"\"\n    }\n  ],\n  \"relatedServiceSpecification\": [\n    {\n      \"id\": \"aeddcd1fb7d69910ff00f203ae11a990\",\n      \"name\": \"Home Internet\"\n    }\n  ]\n}\n```\n\nResponse body.\n\n```\n{\n  \"description\": \"Upstream and Downstream speed \",  \n  \"name\": \"Speed Test\",\n  \"validFor\": {\n    \"startDateTime\": \"2024-05-31\",\n    \"endDateTime\": \"2024-06-27\"\n  },\n  \"testMeasureDefinition\": [\n    {\n      \"id\": \"1a04f560432a02104fefe4511fb8f2ad\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the downstream speed in a service\",\n      \"metricName\": \"Downstream Speed\",\n      \"name\": \"Downstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"30 Minutes\",\n      \"validFor\": {\n        \"startDateTime\": \"2024-05-30 08:49:26\",\n        \"endDateTime\": \"2024-05-31 08:49:29\"\n      },\n      \"thresholdRule\": [\n        {\n          \"id\": \"a754f960432a02104fefe4511fb8f2d0\",\n          \"description\": \"This speed is greater than the target upper\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"high\",\n          \"tolerancePeriod\": \"15 Minutes\",\n          \"conformanceTargetLower\": \"75\",\n          \"conformanceComparatorLower\": \"greater than\",\n          \"consequence\": [\n            {\n              \"id\": \"15a4bd60432a02104fefe4511fb8f2b8\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"generate a waring report\",\n              \"name\": \"degradedQualityOfService\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:51:29\",\n                \"endDateTime\": \"2024-08-06 08:51:31\"\n              }\n            },\n            {\n              \"id\": \"e6847d60432a02104fefe4511fb8f2c3\",\n              \"prescribeAction\": \"null\",\n              \"description\": \"send a warning to the system\",\n              \"name\": \"packetdrop\",\n              \"repeatAction\": \"0\",\n              \"validFor\": {\n                \"startDateTime\": \"2024-05-30 08:50:53\",\n                \"endDateTime\": \"2024-08-06 08:50:55\"\n              }\n            }\n          ]\n        },\n        {\n          \"id\": \"cb55b5a0432a02104fefe4511fb8f201\",\n          \"description\": \"\",\n          \"name\": \"InternetSpeedValue\",\n          \"numberOfAllowedCrossing\": \"0\",\n          \"thresholdRuleSeverity\": \"medium\",\n          \"tolerancePeriod\": \"\",\n          \"conformanceTargetUpper\": \"120\",\n          \"conformanceComparatorUpper\": \"less than\",\n          \"consequence\": []\n        }\n      ]\n    },\n    {\n      \"id\": \"8f987524432a02104fefe4511fb8f2f0\",\n      \"captureFrequency\": \"once\",\n      \"captureMethod\": \"automatic\",\n      \"metricDescription\": \"This is the upstream speed in the service\",\n      \"metricName\": \"Upstream Speed\",\n      \"name\": \"Upstream Speed\",\n      \"unitOfMeasure\": \"a second\",\n      \"valueType\": \"\",\n      \"capturePeriod\": \"\",\n      \"validFor\": {\n        \"startDateTime\": \"\",\n        \"endDateTime\": \"\"\n      },\n      \"thresholdRule\": []\n    }\n  ],\n  \"specCharacteristic\": [\n    {\n      \"name\": \"restart\",\n      \"description\": \"restart\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-05-30 08:45:49\"\n      },\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\",\n            \"endDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\",\n            \"endDateTime\": \"\"\n          }\n        }\n      ]\n    }\n  ],\n  \"serviceTestSpecRelationship\": [\n    {\n      \"id\": \"76a3b160432a02104fefe4511fb8f2ad\",\n      \"name\": \"OAM Test\",\n      \"relationshipType\": \"\"\n    }\n  ],\n  \"relatedServiceSpecification\": [\n    {\n      \"id\": \"aeddcd1fb7d69910ff00f203ae11a990\",\n      \"name\": \"Home Internet\"\n    }\n  ]\n  \"id\": \"89d2b920432a02104fefe4511fb8f22e\"\n}\n\n```\n\n"}}