{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":528,"path":"api-reference/rest-apis/product-catalog-open-api.md","title":"Product Catalog Open API","bundle":null,"doc_type":null,"release":"australia","body":"\n# Product Catalog Open API\n\nThe Product Catalog Open API provides endpoints to create and retrieve product catalogs, product offerings, and product specifications.\n\nUse this API to manage product catalog information between external systems and the ServiceNow AI Platform. The Product Catalog Open API is a ServiceNow® implementation of the TM Forum Product Catalog Management API REST specification. This implementation is based on the [TMF620 Product Catalog Management API User Guide v5.0.0](https://www.tmforum.org/resources/specifications/tmf620-product-catalog-management-api-user-guide-v5-0-0/), September 2024.\n\nThis API is included in the Product Catalog Advanced application, which is available on the ServiceNow Store.\n\nThis API is provided within the `sn_tmf_api` namespace.\n\nThe calling user must have the sn\\_prd\\_pm\\_adv.catalog\\_integrator role.\n\nThis API creates and updates data in the following tables.\n\n-   Characteristic \\[sn\\_prd\\_pm\\_characteristic\\]\n-   Characteristic Option \\[sn\\_prd\\_pm\\_characteristic\\_option\\]\n-   Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n-   Product Offering Catalog \\[sn\\_prd\\_pm\\_product\\_offering\\_catalog\\]\n-   Product Offering Characteristic \\[sn\\_prd\\_pm\\_product\\_offering\\_characteristic\\]\n-   Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n-   Specification Relationship \\[sn\\_prd\\_pm\\_specification\\_relationship\\]\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## Product Catalog Open API - DELETE /sn\\_tmf\\_api/catalogmanagement/productOffering/\\{id\\}\n\nDeletes the specified product offering.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOffering/{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 of the product offering to delete.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n|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|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|Name|Description|\n|----|-----------|\n|message|A failure or success message about the deletion or archival of the product specification.|\n\n### cURL request\n\nThe following example deletes the product offering with an ID of d6f8d9995b020210235d85cced81c7eb.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOffering/d6f8d9995b020210235d85cced81c7eb\" \\ \n--request DELETE\\ \n--header \"Accept:application/json\" \\ \n--user 'username':'password'\n```\n\nThe response body returns a successful deletion message:\n\n```\n\"The product offering (d6f8d9995b020210235d85cced81c7eb) is successfully deleted\"\n```\n\n## Product Catalog Open API - DELETE /sn\\_tmf\\_api/catalogmanagement/productOfferingPrice/\\{id\\}\n\nInactivates, but doesn't delete, a price list line with a specific sys\\_id.\n\nTo set a price list line to an inactive state, this DELETE method updates the end date of the price list line to today's date. A price list line with an end date prior to today's date is also considered inactive. Inactive price list lines are not retrievable in related GET methods.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOfferingPrice/{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 of the price list line to delete.Table: Price list line \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n|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 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<table id=\"table_onp_pnw_22c\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON or XML\\)\n\n|Name|Description|\n|----|-----------|\n|message|Status code with a message about the successful or failed inactivation of the price list line.|\n\n### cURL request\n\nThe following example demonstrates how to successfully inactivate or delete a price list of the given sys\\_id, 994d...\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c\" \\\n--request DELETE\\\n--user 'username':'password'\n```\n\nResponse. The response returns a 200 status code with details about the successful inactivation.\n\n```\nStatus: 200 OK\n\"The price list line (994d5d364f8b5210f899f61d20ce0b7c) is inactive successfully\"\n```\n\n## Product Catalog Open API - DELETE /sn\\_tmf\\_api/catalogmanagement/productSpecification/\\{id\\}\n\nDeletes or archives the specified product specification.\n\nWhen calling this DELETE method, a product specification may either be deleted or archived depending on the state it is in:\n\n-   A product specification in the draft state is successfully deleted. The response returns a success message.\n-   A product specification in the archived state can't be deleted. The response returns a message that the specification is already archived.\n-   A product specification not in the draft state and associated with other product specifications or offerings is archived but not deleted. The response returns a message that the specification is moved from an active state to an archived state.\n-   A product specification associated with an active product specification or offering cannot be deleted. The response returns an error message.\n\n### URL format\n\nDefault URL: `/sn_tmf_api/catalogmanagement/productSpecification/{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 of the product specification to delete.Data type: String\n\nTable: Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n|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 id=\"table_u3k_cgq_mbc\" 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|Name|Description|\n|----|-----------|\n|message|A failure or success message about the deletion or archival of the product specification.|\n\n### cURL request\n\nThe following example deletes the product specification with an ID of 8ef57fa05b308210235d85cced81c7d8.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productSpecification/8ef57fa05b308210235d85cced81c7d8\" \\ \n--request DELETE\\ \n--header \"Accept:application/json\" \\ \n--user 'username':'password'\n```\n\nThe response body returns a success or failure message:\n\n```\n\"The product specification (8ef57fa05b308210235d85cced81c7d8) is successfully deleted\"\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/catalog\n\nRetrieves a list of all product offering catalogs.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/catalog`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"table_c3q_ylz_gsb\" 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.Data type: String\n\nDefault: All fields returned.\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\nDefault: 20\n\nMaximum: 100\n\n</td></tr><tr><td>\n\noffset\n\n</td><td>\n\nStarting index at which to begin retrieving records. Use this value to paginate record retrieval. This functionality enables the retrieval of all records, regardless of the number of records, in small manageable chunks.Data type: Number\n\nDefault: 0\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|Accept|Data format of the response body. Only supports **application/json**.|\n\n<table id=\"table_nww_xgm_lsb\" class=\"rest_api_response_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"content-range-row\"><td>\n\nContent-Range\n\n</td><td>\n\nRange 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 id=\"content-type-row\"><td>\n\nContent-Type\n\n</td><td>\n\nData format of the response body. Only supports **application/json**.\n\n</td></tr><tr id=\"links-pagination-row\"><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 id=\"x-total-count-row\"><td id=\"x-total-count\">\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<table id=\"table_v1h_tcm_lsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"tmf-get-status-200-entry\">\n\nRequest successfully processed. Full resource returned in response \\(no pagination\\).\n\n</td></tr><tr><td>\n\n206\n\n</td><td id=\"tmf-get-status-206-entry\">\n\nPartial resource returned in response \\(with pagination\\).\n\n</td></tr><tr><td>\n\n400\n\n</td><td id=\"tmf-get-status-400-entry\">\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"tmf-get-status-404-entry\">\n\nRecord not found. No records matching the query parameters are found in the table.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON\\)\n\n<table id=\"table_m2z_clz_gsb\"><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 product offering catalog. Only returned if the field contains a value.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nUnique identifier for the product offering catalog from the external system.Data type: String\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering catalog, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id of the product offering catalog.Data type: String\n\nTable: Product Offering Catalog \\[sn\\_prd\\_pm\\_product\\_offering\\_catalog\\]\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the price list line.Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product offering catalog.Data type: String\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td>\n\nStatus of the product offering catalog.Possible value: published\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example retrieves all product offering catalogs.\n\n```\ncurl --location --request GET \"https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog\" \\\n--user 'username':'password'\n\n```\n\nResponse body.\n\n```\n[\n  {\n    \"id\": \"341f4953b71a9910ff00f203ae11a9bb\",\n    \"name\": \"Home Internet Plan\",\n    \"lifecycleStatus\": \"Active\",\n    \"status\": \"published\",\n    \"externalSystem\": \"Salesforce-TMF641\"\n    \"externalId\": \"LOC-SF-HQ-2026\",\n  },\n  {\n    \"id\": \"69f494792b11525047f3f3e30391bf66\",\n    \"name\": \"Chemical Processing\",\n    \"lifecycleStatus\": \"Active\",\n    \"description\": \" Catalog for Chemical Processing Industry\",\n    \"status\": \"published\",\n    \"externalSystem\": \"Salesforce-TMF620\"\n  }\n]\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/catalog/\\{id\\}\n\nRetrieves a product offering catalog.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/catalog/{id}`\n\n### Supported request parameters\n\n<table id=\"table_apt_nkz_gsb\" 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 of the product offering catalog to retrieve.Data type: String\n\nTable: Product Offering Catalog \\[sn\\_prd\\_pm\\_product\\_offering\\_catalog\\]\n\n</td></tr></tbody>\n</table><table id=\"table_l5k_tkz_gsb\" 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.Data type: String\n\nDefault: All fields.\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|Accept|Data format of the response body. Only supports **application/json**.|\n\n|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<table id=\"table_nxj_ykz_gsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad Request. Could be any of the following reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON\\)\n\n<table id=\"table_m2z_clz_gsb\"><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 product offering catalog.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nUnique identifier for the product offering catalog from the external system.Data type: String\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering catalog, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id of the product offering catalog.Data type: String\n\nTable: Product Offering Catalog \\[sn\\_prd\\_pm\\_product\\_offering\\_catalog\\]\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the price list line.Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product offering catalog.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example retrieves a product offering catalog for an enterprise mobile plan.\n\n```\ncurl --location --request GET \"https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog/69f494792b11525047f3f3e30391bf66\" \\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n{\n  \"id\": \"69f494792b11525047f3f3e30391bf66\",\n  \"name\": \"Chemical Processing\",\n  \"lifecycleStatus\": \"Active\",\n  \"description\": \" Catalog for Chemical Processing Industry\",\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"externalId\": \"LOC-SF-HQ-2026\"\n}\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/productOffering\n\nRetrieves all product offerings or a subset of product offerings, based on specified filter settings.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOffering`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"table_pfr_vgy_fsb\" 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.Valid fields:\n\n-   category\n-   channel\n-   description\n-   externalId\n-   id\n-   internalId\n-   internalVersion\n-   lastUpdate\n-   name\n-   productCharacteristic\n-   productOfferingPrice\n-   productOfferingTerm\n-   productSpecification\n-   prodSpecCharValueUse\n-   validFor\n-   version\n\nData type: String\n\nDefault: All fields are returned.\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\nDefault: 20\n\nMaximum: 100\n\n</td></tr><tr><td>\n\noffset\n\n</td><td>\n\nStarting index at which to begin retrieving records. Use this value to paginate record retrieval. This functionality enables the retrieval of all records, regardless of the number of records, in small manageable chunks.Data type: Number\n\nDefault: 0\n\n</td></tr><tr><td>\n\nspecification\n\n</td><td>\n\nFilter product offerings by product specification sys\\_id. Only product offerings with the specified product specification sys\\_id are returned in the response.Data type: String\n\nTable: Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nFilter product offerings by state. Only product offerings 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|Header|Description|\n|------|-----------|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n<table id=\"table_ug4_sgm_lsb\" class=\"rest_api_response_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"content-range-row\"><td>\n\nContent-Range\n\n</td><td>\n\nRange 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 id=\"content-type-row\"><td>\n\nContent-Type\n\n</td><td>\n\nData format of the response body. Only supports **application/json**.\n\n</td></tr><tr id=\"links-pagination-row\"><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 id=\"x-total-count-row\"><td id=\"x-total-count\">\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<table id=\"table_qhs_scm_lsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"tmf-get-status-200-entry\">\n\nRequest successfully processed. Full resource returned in response \\(no pagination\\).\n\n</td></tr><tr><td>\n\n206\n\n</td><td id=\"tmf-get-status-206-entry\">\n\nPartial resource returned in response \\(with pagination\\).\n\n</td></tr><tr><td>\n\n400\n\n</td><td id=\"tmf-get-status-400-entry\">\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"tmf-get-status-404-entry\">\n\nRecord not found. No records matching the query parameters are found in the table.\n\n</td></tr></tbody>\n</table>### Response body parameters\n\n<table id=\"table_rqr_2s1_jsb\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nbundledGroupProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering-entry\">\n\nChild groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects\n\n```\n\"bundledGroupProductOffering\": [\n  {\n    \"bundledGroupProductOfferingOption\": {Object},\n    \"bundledProductOffering\": [Array],\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption-entry\">\n\nA range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object\n\n```\n\"bundledGroupProductOfferingOption\": {\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering-entry\">\n\nChild groups of product offerings associated with the bundle. Same format as **bundledProductOffering** specified below.Data type: Array of Objects\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_id-entry\">\n\nSys\\_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String\n\nTable: Product Offering Relationship Group \\[sn\\_prd\\_pm\\_product\\_offering\\_relationship\\_group\\]\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_name-entry\">\n\nName of the group of child product offerings.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledProductOffering-entry\">\n\nList of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects\n\n```\n\"bundledProductOffering\": [\n  {\n    \"bundledProductOfferingOption\": {Object},\n    \"externalId\": \"String\",\n    \"href\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"version\": Number\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption-entry\">\n\nProduct bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object\n\n```\n\"bundledProductOfferingOption\": {\n  \"numberRelOfferDefault\": \"String\",\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferDefault-entry\">\n\nDefault number of product offerings that should be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​externalId\n\n</td><td id=\"prodCat-offering-bundledProductOffering_externalId-entry\">\n\nExternal ID of the product offering   relationship.For additional information on product offering relationships, see [Create product offering relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-offering-relationships.md).\n\nData type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​href\n\n</td><td id=\"prodCat-offering-bundledProductOffering_href-entry\">\n\nRelative link to the associated product offering.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledProductOffering_id-entry\">\n\nSys\\_id or external ID of the bundled product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nbundledProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledProductOffering_name-entry\">\n\nName of the product offering bundle.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​version\n\n</td><td id=\"prodCat-offering-bundledProductOffering_version-entry\">\n\nCatalog version of the product offering. Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table. \n\n</td></tr><tr><td>\n\ncategory\n\n</td><td>\n\nList of categories that the product belongs to.Data type: Array of Objects\n\n```\n\"category:\" [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\ncategory.id\n\n</td><td>\n\nID of the category.Data type: String\n\n</td></tr><tr><td>\n\ncategory.name\n\n</td><td>\n\nName of the category.Data type: String\n\n</td></tr><tr><td>\n\nchannel\n\n</td><td>\n\nChannels to use for selling the product offering.Data type: Array of Objects\n\n```\n\"channel:\" [\n  {\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nchannel.description\n\n</td><td>\n\nDescription of the channel.Data type: String\n\n</td></tr><tr><td>\n\nchannel.id\n\n</td><td>\n\nSys\\_id of the channel.Data type: String\n\nTable: Distribution Channel \\[sn\\_prd\\_pm\\_distribution\\_channel\\]\n\n</td></tr><tr><td>\n\nchannel.name\n\n</td><td>\n\nName of the channel.Data type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the product offering.Data type: String\n\n</td></tr><tr><td>\n\ndisplayName\n\n</td><td id=\"prodCat-offering-displayName-entry\">\n\nDisplay name of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nExternal ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, external\\_id field\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nRequired. Initial version or external ID of the product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version or external\\_id field\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product offering record.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version field\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product offering.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td id=\"prodCat-offering-isBundle-entry\">\n\nFlag that indicates whether the product offering is a bundle.Possible values:\n\n-   true: Product offering is a bundle.\n-   false: Single product offering.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nisSellable\n\n</td><td id=\"prodCat-offering-isSellable-entry\">\n\nFlag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:\n\n-   true: Can be sold separately.\n-   false: Only sold as part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the product offering was last updated.Data type: String\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the product offering. Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse-entry\">\n\nProduct offering characteristics.Data type: Array of Objects\n\n```\n\"prodSpecCharValueUse\": [\n   {\n      \"description\": \"String\",\n      \"name\": \"String\",\n      \"productSpecCharacteristicValue\": [Array],\n      \"validFor\": {Object},\n      \"valueType\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​description\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_description-entry\">\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​name\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_name-entry\">\n\nName of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue-entry\">\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor-entry\">\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor_startDateTime-entry\">\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​value\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_value-entry\">\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor-entry\">\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor_startDateTime-entry\">\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​valueType\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_valueType-entry\">\n\nData type of the **prodSpecCharValueUse.productSpecCharacteristicValue.value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic\n\n</td><td>\n\nList of product characteristics.Data type: Array of Objects\n\n```\n\"productCharacteristic\": [\n  {\n    \"name\": \"String\",\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic.​value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic-entry\">\n\nCharacteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time \\(catalog authoring\\), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md).\n\nData type: Array of Objects\n\n```\nproductOfferingCharacteristic\": [  \n  {\n    \"characteristicValueSpecification\": [Array],\n    \"name\": \"String\",\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification-entry\">\n\nList of characteristic values associated with the product offering characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [  \n  { \n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"value\": \"String\"\n  }  \n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isDefault\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:\n\n-   true: Is default value.\n-   false: Isn't the default value.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isMandatory\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:\n\n-   true: Is mandatory.\n-   false: Isn't mandatory.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​value\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_value-entry\">\n\nNumber or text assigned to the associated product specification characteristic .For example:\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"choice 1\"\n  },\n  {\n    \"value\": \"choice 2\"\n  }\n]\n```\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​name\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_name-entry\">\n\nName of the associated product offering characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​valueType\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_valueType-entry\">\n\nData type of the **productOfferingCharacteristic.​characteristicValueSpecification.​value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice\n\n</td><td>\n\nPrice information for the product offering.Data type: Array of Objects\n\n```\n\"productOfferingPrice\": [\n  {\n    \"price\": {Object},\n    \"priceType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"price\": {\n  \"taxIncludedAmount\": {Object}\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.taxIncludedAmount\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"taxIncludedAmount\": {\n  \"unit\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.​taxIncludedAmount.unit\n\n</td><td>\n\nCurrency code for the product offering price.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.​taxIncludedAmount.value\n\n</td><td>\n\nPrice of the product offering including tax.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​priceType\n\n</td><td>\n\nType of product offering price, one-time or recurring payment.Possible values:\n\n-   nonRecurring \\(one-time\\)\n-   recurring\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingTerm\n\n</td><td>\n\nValid contract term length for the product offering.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecification\n\n</td><td>\n\nProduct specification for the product.Data type: Object\n\n```\n\"productSpecification\": {\n  \"id\": \"String\",\n  \"internalId\": \"String\",\n  \"internalVersion\": \"String\",\n  \"name\": \"String\",\n  \"version\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecification.​id\n\n</td><td>\n\nSys\\_id of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​name\n\n</td><td>\n\nName of the product specification.Data type: String\n\nTable: In the name field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​version\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td id=\"prodCat-offering-status-entry\">\n\nStatus of the product offering.Possible values:\n\n-   draft\n-   published\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the product offering 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 of the product offering.Data type: String\n\nFormat: YYY-MM-DD\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date of the product offering.Data type: String\n\nFormat: YYY-MM-DD\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product offering.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr></tbody>\n</table>The following code example retrieves the first two product offering records.\n\n```\ncurl --location --request GET \"https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering?limit=2\" \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nResponse body:\n\n```\n[\n  {\n    \"id\": \"7b012c4d41ea7910f8771355f12634a4\",\n    \"externalId\": \"7b012c4d41ea7910f8771355f12634a4\",\n    \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/0361dd9fd0a63110f8770dbf976be16f\",\n    \"externalSystem\": \"Salesforce-TMF620\",\n    \"externalId\": \"LOC-SF-HQ-2026\",\n    \"name\": \"Ultimate internet - 1Gbps Plan\",\n    \"displayName\": \"Ultimate internet - 1Gbps Plan\",\n    \"description\": \"Ultimate internet - 1Gbps Plan\",\n    \"isSellable\": true,\n    \"lifecycleStatus\": \"Active\",\n    \"isBundle\": false,\n    \"lastUpdate\": \"2025-03-08 02:07:04\",\n    \"version\": \"\",\n    \"internalVersion\": \"1\",\n    \"internalId\": \"0361dd9fd0a63110f8770dbf976be16f\",\n    \"validFor\": {\n      \"startDateTime\": \"2023-11-14\",\n      \"endDateTime\": \"\"\n    },\n    \"productOfferingTerm\": \"not_applicable\",\n    \"productOfferingPrice\": [\n      {\n        \"priceType\": \"recurring\",\n        \"price\": {\n          \"taxIncludedAmount\": {\n            \"unit\": \"USD\",\n            \"value\": 0\n          }\n        }\n      },\n      {\n        \"priceType\": \"nonRecurring\",\n        \"price\": {\n          \"taxIncludedAmount\": {\n            \"unit\": \"USD\",\n            \"value\": 0\n          }\n        }\n      }\n    ],\n    \"productOfferingCharacteristic\": \"\",\n    \"bundledProductOffering\": [],\n    \"bundledGroupProductOffering\": [],\n    \"productSpecification\": {},\n    \"prodSpecCharValueUse\": [],\n    \"channel\": \"\",\n    \"category\": [\n      {\n        \"id\": \"e6f0159fd0a63110f8770dbf976be18c\",\n        \"name\": \"Internet\"\n      }\n    ],\n    \"status\": \"published\"\n  },\n  {\n    \"id\": \"313b917843235210a82ed6085bb8f2c7\",\n    \"externalId\": \"313b917843235210a82ed6085bb8f2c7\",\n    \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11\",\n    \"name\": \"Internet bundle\",\n    \"displayName\": \"Internet bundle\",\n    \"description\": \"Internet bundle\",\n    \"isSellable\": false,\n    \"lifecycleStatus\": \"Draft\",\n    \"isBundle\": true,\n    \"lastUpdate\": \"2025-04-09 15:59:09\",\n    \"version\": \"\",\n    \"internalVersion\": \"1\",\n    \"internalId\": \"03c99cb53bf066509b48d69a04e45a11\",\n    \"validFor\": {\n      \"startDateTime\": \"2028-12-15\",\n      \"endDateTime\": \"2034-01-14\"\n    },\n    \"productOfferingTerm\": \"not_applicable\",\n    \"productOfferingPrice\": [\n      {\n        \"priceType\": \"recurring\",\n        \"price\": {\n          \"taxIncludedAmount\": {\n            \"unit\": \"USD\",\n            \"value\": 0\n          }\n        }\n      },\n      {\n        \"priceType\": \"nonRecurring\",\n        \"price\": {\n          \"taxIncludedAmount\": {\n            \"unit\": \"USD\",\n            \"value\": 0\n          }\n        }\n      }\n    ],\n    \"productOfferingCharacteristic\": [\n      {\n        \"name\": \"Connectivity need\",\n        \"valueType\": \"choice\",\n        \"characteristicValueSpecification\": [\n          {\n            \"isMandatory\": false,\n            \"isDefault\": false,\n            \"value\": \"When in use\"\n          }\n        ]\n      },\n      {\n        \"name\": \"Firewall Security\",\n        \"valueType\": \"choice\",\n        \"characteristicValueSpecification\": [\n          {\n            \"isMandatory\": false,\n            \"isDefault\": true,\n            \"value\": \"Premium\"\n          }\n        ]\n      }\n    ],\n    \"bundledProductOffering\": [\n      {\n        \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/57c99cb53bf066509b48d69a04e45a17\",\n        \"id\": \"0f61dd9fd0a63110f8770dbf976be168\",\n        \"externalId\": \"EXT-123\",\n        \"name\": \"Solana Sports streaming channel\",\n        \"version\": \"1\",\n        \"bundledProductOfferingOption\": {\n          \"numberRelOfferDefault\": \"1\",\n          \"numberRelOfferLowerLimit\": \"1\",\n          \"numberRelOfferUpperLimit\": \"1\"\n        }\n      }\n    ],\n    \"bundledGroupProductOffering\": [\n      {\n        \"id\": \"063b957843235210a82ed6085bb8f205\",\n        \"name\": \"Streaming Channel\",\n        \"bundledProductOffering\": [\n          {\n            \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/5bc99cb53bf066509b48d69a04e45a1a\",\n            \"id\": \"62619d9fd0a63110f8770dbf976be180\",\n            \"externalId\": \"EXT-345\",\n            \"name\": \"Solana Movie streaming channel\",\n            \"version\": \"1\",\n            \"bundledProductOfferingOption\": {\n              \"numberRelOfferDefault\": \"1\",\n              \"numberRelOfferLowerLimit\": \"1\",\n              \"numberRelOfferUpperLimit\": \"1\"\n            }\n          }\n        ],\n        \"bundledGroupProductOfferingOption\": {\n          \"numberRelOfferLowerLimit\": \"1\",\n          \"numberRelOfferUpperLimit\": \"1\"\n        }\n      }\n    ],\n    \"productSpecification\": {\n      \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n      \"name\": \"SD-WAN Service Package\",\n      \"version\": \"\",\n      \"internalVersion\": \"3\",\n      \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\"\n    },\n    \"prodSpecCharValueUse\": [\n      {\n        \"name\": \"Tenancy\",\n        \"description\": \"Tenancy\",\n        \"valueType\": \"choice\",\n        \"validFor\": {\n          \"startDatetime\": \"2025-02-27 21:04:24\"\n        },\n        \"productSpecCharacteristicValue\": [\n          {\n            \"value\": \"Premium (>50 sites)\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": false\n          },\n          {\n            \"value\": \"Base (10 site)\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": false\n          }\n        ],\n        \"productSpecification\": {\n          \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n          \"name\": \"SD-WAN Controller\",\n          \"version\": \"\",\n          \"internalVersion\": \"1\",\n          \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\"\n        }\n      }\n    ],\n    \"channel\": [\n      {\n        \"id\": \"58ad5522c3702010df4773ce3640ddb2\",\n        \"name\": \"Agent Assist\"\n      }\n    ],\n    \"category\": [\n      {\n        \"id\": \"13e305a143b631105029d1529ab8f267\",\n        \"name\": \"SD-WAN_all_offers\"\n      }\n    ],\n    \"status\": \"draft\"\n  }\n]\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/productOffering/\\{id\\}\n\nRetrieves a specific product offering.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOffering/{id}`\n\n### Supported request parameters\n\n<table id=\"table_apt_nkz_gsb\" 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\nInitial version of the product offering to retrieve.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr></tbody>\n</table><table id=\"table_pfr_vgy_fsb\" 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.Valid fields:\n\n-   category\n-   channel\n-   description\n-   externalId\n-   id\n-   internalId\n-   internalVersion\n-   lastUpdate\n-   name\n-   productCharacteristic\n-   productOfferingPrice\n-   productOfferingTerm\n-   productSpecification\n-   prodSpecCharValueUse\n-   validFor\n-   version\n\nData type: String\n\nDefault: All fields are returned.\n\n</td></tr><tr><td>\n\nspecification\n\n</td><td>\n\nFilter product offerings by product specification sys\\_id. Only product offerings with the specified product specification sys\\_id are returned in the response.Data type: String\n\nTable: Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nFilter product offerings by state. Only product offerings 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|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n\n|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<table id=\"table_nxj_ykz_gsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters\n\n<table id=\"table_rqr_2s1_jsb\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nbundledGroupProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering-entry\">\n\nChild groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects\n\n```\n\"bundledGroupProductOffering\": [\n  {\n    \"bundledGroupProductOfferingOption\": {Object},\n    \"bundledProductOffering\": [Array],\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption-entry\">\n\nA range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object\n\n```\n\"bundledGroupProductOfferingOption\": {\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering-entry\">\n\nChild groups of product offerings associated with the bundle. Same format as **bundledProductOffering** specified below.Data type: Array of Objects\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_id-entry\">\n\nSys\\_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String\n\nTable: Product Offering Relationship Group \\[sn\\_prd\\_pm\\_product\\_offering\\_relationship\\_group\\]\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_name-entry\">\n\nName of the group of child product offerings.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledProductOffering-entry\">\n\nList of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects\n\n```\n\"bundledProductOffering\": [\n  {\n    \"bundledProductOfferingOption\": {Object},\n    \"externalId\": \"String\",\n    \"href\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"version\": Number\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption-entry\">\n\nProduct bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object\n\n```\n\"bundledProductOfferingOption\": {\n  \"numberRelOfferDefault\": \"String\",\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferDefault-entry\">\n\nDefault number of product offerings that should be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​externalId\n\n</td><td id=\"prodCat-offering-bundledProductOffering_externalId-entry\">\n\nExternal ID of the product offering   relationship.For additional information on product offering relationships, see [Create product offering relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-offering-relationships.md).\n\nData type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​href\n\n</td><td id=\"prodCat-offering-bundledProductOffering_href-entry\">\n\nRelative link to the associated product offering.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledProductOffering_id-entry\">\n\nSys\\_id or external ID of the bundled product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nbundledProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledProductOffering_name-entry\">\n\nName of the product offering bundle.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​version\n\n</td><td id=\"prodCat-offering-bundledProductOffering_version-entry\">\n\nCatalog version of the product offering. Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table. \n\n</td></tr><tr><td>\n\ncategory\n\n</td><td>\n\nList of categories that the product belongs to.Data type: Array of Objects\n\n```\n\"category:\" [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\ncategory.id\n\n</td><td>\n\nSys\\_id of the category.Data type: String\n\n</td></tr><tr><td>\n\ncategory.name\n\n</td><td>\n\nName of the category.Data type: String\n\n</td></tr><tr><td>\n\nchannel\n\n</td><td>\n\nChannels to use for selling the product offering.Data type: Array of Objects\n\n```\n\"channel:\" [\n  {\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nchannel.​description\n\n</td><td>\n\nDescription of the channel.Data type: String\n\n</td></tr><tr><td>\n\nchannel.id\n\n</td><td>\n\nSys\\_id of the channel.Data type: String\n\nTable: Distribution Channel \\[sn\\_prd\\_pm\\_distribution\\_channel\\]\n\n</td></tr><tr><td>\n\nchannel.name\n\n</td><td>\n\nName of the channel.Data type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the product offering.Data type: String\n\n</td></tr><tr><td>\n\ndisplayName\n\n</td><td id=\"prodCat-offering-displayName-entry\">\n\nDisplay name of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nExternal ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, external\\_id field\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nRequired. Initial version or external ID of the product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version or external\\_id field\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product offering record.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version field\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product offering.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td id=\"prodCat-offering-isBundle-entry\">\n\nFlag that indicates whether the product offering is a bundle.Possible values:\n\n-   true: Product offering is a bundle.\n-   false: Single product offering.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nisSellable\n\n</td><td id=\"prodCat-offering-isSellable-entry\">\n\nFlag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:\n\n-   true: Can be sold separately.\n-   false: Only sold as part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the product offering was last updated.Data type: String\n\nFormat: YYYY-MM-DD HH-mm-SS\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the product offering. Possible values:\n\n-   Active\n-   Inactive\n-   Draft\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse-entry\">\n\nProduct offering characteristics.Data type: Array of Objects\n\n```\n\"prodSpecCharValueUse\": [\n   {\n      \"description\": \"String\",\n      \"name\": \"String\",\n      \"productSpecCharacteristicValue\": [Array],\n      \"validFor\": {Object},\n      \"valueType\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​description\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_description-entry\">\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​name\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_name-entry\">\n\nName of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue-entry\">\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor-entry\">\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor_startDateTime-entry\">\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​value\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_value-entry\">\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor-entry\">\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor_startDateTime-entry\">\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​valueType\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_valueType-entry\">\n\nData type of the **prodSpecCharValueUse.productSpecCharacteristicValue.value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic\n\n</td><td>\n\nList of product characteristics.Data type: Array of Objects\n\n```\n\"productCharacteristic\": [\n   {\n      \"name\": \"String\",\n      \"value\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nproductCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic.​value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic-entry\">\n\nCharacteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time \\(catalog authoring\\), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md).\n\nData type: Array of Objects\n\n```\nproductOfferingCharacteristic\": [  \n  {\n    \"characteristicValueSpecification\": [Array],\n    \"name\": \"String\",\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification-entry\">\n\nList of characteristic values associated with the product offering characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [  \n  { \n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"value\": \"String\"\n  }  \n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isDefault\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:\n\n-   true: Is default value.\n-   false: Isn't the default value.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isMandatory\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:\n\n-   true: Is mandatory.\n-   false: Isn't mandatory.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​value\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_value-entry\">\n\nNumber or text assigned to the associated product specification characteristic .For example:\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"choice 1\"\n  },\n  {\n    \"value\": \"choice 2\"\n  }\n]\n```\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​name\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_name-entry\">\n\nName of the associated product offering characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​valueType\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_valueType-entry\">\n\nData type of the **productOfferingCharacteristic.​characteristicValueSpecification.​value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice\n\n</td><td>\n\nPrice information for the product offering.Data type: Array of Objects\n\n```\n\"productOfferingPrice\": [\n   {\n      \"price\": {Object},\n      \"priceType\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"price\": {\n   \"taxIncludedAmount\": {Object}\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"taxIncludedAmount\": {\n   \"unit\": \"String\",\n   \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount.​unit\n\n</td><td>\n\nCurrency code for the product offering price.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount.​value\n\n</td><td>\n\nPrice of the product offering including tax.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​priceType\n\n</td><td>\n\nIdentifies if the product offering price is a one-time or recurring payment.Possible values:\n\n-   nonRecurring\n-   recurring\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingTerm\n\n</td><td>\n\nValid contract term length for the product offering.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecification\n\n</td><td>\n\nProduct specification for the product.Data type: Object\n\n```\n\"productSpecification\": {\n  \"id\": \"String\",\n  \"internalId\": \"String\",\n  \"internalVersion\": \"String\",\n  \"name\": \"String\",\n  \"version\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecification.​id\n\n</td><td>\n\nSys\\_id of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​name\n\n</td><td>\n\nName of the product specification.Data type: String\n\nTable: In the name field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​version\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td id=\"prodCat-offering-status-entry\">\n\nStatus of the product offering.Possible values:\n\n-   draft\n-   published\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the product offering 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 of the product offering.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date of the product offering.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product offering.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example retrieves the specified product offering.\n\n```\ncurl --location --request GET \"https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11\" \n--user 'username':'password'\n```\n\nResponse body:\n\n```\n{\n  \"id\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"externalId\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11\",\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"name\": \"Internet bundle\",\n  \"displayName\": \"Internet bundle\",\n  \"description\": \"Internet bundle\",\n  \"isSellable\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"isBundle\": true,\n  \"lastUpdate\": \"2025-04-09 15:59:09\",\n  \"version\": \"\",\n  \"internalVersion\": \"1\",\n  \"internalId\": \"03c99cb53bf066509b48d69a04e45a11\",\n  \"validFor\": {\n    \"startDateTime\": \"2028-12-15\",\n    \"endDateTime\": \"2034-01-14\"\n  },\n  \"productOfferingTerm\": \"not_applicable\",\n  \"productOfferingPrice\": [\n    {\n      \"priceType\": \"recurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": 0\n        }\n      }\n    },\n    {\n      \"priceType\": \"nonRecurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": 0\n        }\n      }\n    }\n  ],\n  \"productOfferingCharacteristic\": [\n    {\n      \"name\": \"Connectivity need\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"isMandatory\": false,\n          \"isDefault\": false,\n          \"value\": \"When in use\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Firewall Security\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"isMandatory\": false,\n          \"isDefault\": true,\n          \"value\": \"Premium\"\n        }\n      ]\n    }\n  ],\n  \"bundledProductOffering\": [\n    {\n      \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/57c99cb53bf066509b48d69a04e45a17\",\n      \"id\": \"0f61dd9fd0a63110f8770dbf976be168\",\n      \"externalId\": \"EXT-123\",\n      \"name\": \"Solana Sports streaming channel\",\n      \"version\": \"1\",\n      \"bundledProductOfferingOption\": {\n        \"numberRelOfferDefault\": \"1\",\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"bundledGroupProductOffering\": [\n    {\n      \"id\": \"063b957843235210a82ed6085bb8f205\",\n      \"name\": \"Streaming Channel\",\n      \"bundledProductOffering\": [\n        {\n          \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/5bc99cb53bf066509b48d69a04e45a1a\",\n          \"id\": \"62619d9fd0a63110f8770dbf976be180\",\n          \"externalId\": \"EXT-345\",\n          \"name\": \"Solana Movie streaming channel\",\n          \"version\": \"1\",\n          \"bundledProductOfferingOption\": {\n            \"numberRelOfferDefault\": \"1\",\n            \"numberRelOfferLowerLimit\": \"1\",\n            \"numberRelOfferUpperLimit\": \"1\"\n          }\n        }\n      ],\n      \"bundledGroupProductOfferingOption\": {\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"productSpecification\": {\n    \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n    \"name\": \"SD-WAN Service Package\",\n    \"version\": \"\",\n    \"internalVersion\": \"3\",\n    \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\"\n  },\n  \"prodSpecCharValueUse\": [\n    {\n      \"name\": \"Tenancy\",\n      \"description\": \"Tenancy\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2025-02-27 21:04:24\"\n      },\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"Premium (>50 sites)\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"Base (10 site)\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"productSpecification\": {\n        \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n        \"name\": \"SD-WAN Controller\",\n        \"version\": \"\",\n        \"internalVersion\": \"1\",\n        \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\"\n      }\n    }\n  ],\n  \"channel\": [\n    {\n      \"id\": \"58ad5522c3702010df4773ce3640ddb2\",\n      \"name\": \"Agent Assist\"\n    }\n  ],\n  \"category\": [\n    {\n      \"id\": \"13e305a143b631105029d1529ab8f267\",\n      \"name\": \"SD-WAN_all_offers\"\n    }\n  ],\n  \"status\": \"draft\"\n}\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/productOfferingPrice\n\nRetrieves all price list line records in the instance.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOfferingPrice`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|none| |\n\n<table id=\"id_nzv_ycw_22c\" 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\nlastUpdate\n\n</td><td>\n\nFilter results by the date that the price line was last updated.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nFilter price list lines that belong to the name of a given price list.Table: Price Lists \\[sn\\_csm\\_pricing\\_price\\_list\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nprice.value\n\n</td><td>\n\nFilter results by a specific list price value.Data type: String\n\n</td></tr><tr><td>\n\npriceList.id\n\n</td><td>\n\nFilter results to return only a price list with a given sys\\_id.Table: Price Lists \\[sn\\_csm\\_pricing\\_price\\_list\\]\n\nData type: String\n\n</td></tr><tr><td>\n\npriceType\n\n</td><td>\n\nFilter results by the pricing method of the product offering.Valid values:\n\n-   recurring: Lets businesses charge recurring pricing amounts with a specified frequency.\n-   one\\_time: Supports one-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOffering.​id\n\n</td><td>\n\nFilter the price list line by the product offering’s sys\\_id.Table: Product offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure.​id\n\n</td><td>\n\nFilter the price list line by sys\\_id of the unit of measure.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor.​endDateTime\n\n</td><td>\n\nFilter the price list line by a given end date and time.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nFilter price list line by a given start date and time.Format: YYYY-MM-DD HH:mm:ss\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|Accept|Data format of the response 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<table id=\"table_fj4_nnw_22c\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON or XML\\)\n\n<table id=\"id_m5r_jdw_22c\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"prodOfferingPrice-response-type\"><td>\n\n@type\n\n</td><td>\n\nType of price list line. Always a value of `ProductOfferingPrice`.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-href\"><td>\n\nhref\n\n</td><td>\n\nURL to the price list line record in the instance.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nUnique identifier for the customer order. This value is determined by an external system.Stored in: The external\\_id field of the sn\\_ind\\_tmt\\_orm\\_order table.\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr id=\"prodOfferingPrice-response-id\"><td>\n\nid\n\n</td><td>\n\nSys\\_id of the price list line. Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-isBundle\"><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:\n\n-   true: Price list line is part of a bundle.\n-   false: Price list line isn't part of a bundle.\n\nData type: Boolean\n\n</td></tr><tr id=\"prodOfferingPrice-response-lastUpdate\"><td>\n\nlastUpdate\n\n</td><td>\n\nDate and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-lifeCycleStatus\"><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the price list line.Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-price\"><td>\n\nprice\n\n</td><td>\n\nList price details of the price list line.Data type: Object\n\n```\n\"price\": {\n  \"units\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-price.units\"><td>\n\nprice.units\n\n</td><td>\n\nCurrency code of the price. For example, `USD` or `EUR`. Table: Currency \\[fx\\_currency\\]\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-price.value\"><td>\n\nprice.value\n\n</td><td>\n\nValue of the price.Data type: String \\(represented with a number\\)\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList\"><td>\n\npriceList\n\n</td><td>\n\nPrice list information associated with the price list line.Data type: Object\n\n```\n\"priceList\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"@type\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList.id\"><td>\n\npriceList.id\n\n</td><td>\n\nSys\\_id of the price list in the Price List \\[sn\\_csm\\_pricing\\_price\\_list\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList.name\"><td>\n\npriceList.name\n\n</td><td>\n\nName of the price list.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList.type\"><td>\n\npriceList.@type\n\n</td><td>\n\nThe type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of `priceList`.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceType\"><td>\n\npriceType\n\n</td><td>\n\nThe pricing method of the product offering which is associated with this price list line.Possible values:\n\n-   recurring: Charge recurring pricing amounts with a specified frequency. The value of **recurringChargePeriodType** indicates the frequency of the charge.\n-   one\\_time: One-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering\"><td>\n\nproductOffering\n\n</td><td>\n\nProduct offering that is associated with the price list line.Data type: Object\n\n```\n\"productOffering\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"internalVersion\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering.id\"><td>\n\nproductOffering.id\n\n</td><td>\n\nSys\\_id of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering.internalVersion\"><td>\n\nproductOffering.​internalVersion\n\n</td><td>\n\nInternal version number of the product offering. For example, `PRDOF01024`. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering.name\"><td>\n\nproductOffering.​name\n\n</td><td>\n\nName of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-recurringChargePeriodType\"><td>\n\nrecurringChargePeriodType\n\n</td><td>\n\nThe periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if **priceType** was set to `recurring`, otherwise returns an empty string.Possible values:\n\n-   annually\n-   monthly\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure\"><td>\n\nunitOfMeasure\n\n</td><td>\n\nDetails about the unit of measure associated with the price list line.Data type: Object\n\n```\n\"unitOfMeasure\": {\n  \"id\": \"String\",\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure.amount\"><td>\n\nunitOfMeasure.amount\n\n</td><td>\n\nAmount of the unit of measure.Data type: Number\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure.id\"><td>\n\nunitOfMeasure.id\n\n</td><td>\n\nSys\\_id of the unit of measure.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure.units\"><td>\n\nunitOfMeasure.​units\n\n</td><td>\n\nType of the unit of measure associated with the price list line. For example, `year` or `bundle`.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-validFor\"><td>\n\nvalidFor\n\n</td><td>\n\nThe duration of time that the price list line is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDate\": \"String\",\n  \"startDate\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-validFor.endDate\"><td>\n\nvalidFor.endDate\n\n</td><td>\n\nEnd date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr id=\"prodOfferingPrice-response-validFor.startDate\"><td>\n\nvalidFor.startDate\n\n</td><td>\n\nStart date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example returns all two price list lines that exist on the instance.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/ catalogmanagement/productOfferingPrice \" \\\n--request GET\\\n--user 'username':'password'\n```\n\nResponse body.\n\n```\n[\n  {\n    \"id\": \"2c4628ac7f4f9e50f8994fa63c86653c\",\n    \"name\": \"new Price list\",\n    \"lastUpdate\": \"2025-01-08 19:57:28\",\n    \"externalId\": \"LOC-SF-HQ-2026\",\n    \"isBundle\": false,\n    \"lifecycleStatus\": \"Draft\",\n    \"href\": \"/api/sn_tmf_api/catalogmanagement/productOfferingPrice/2c4628ac7f4f9e50f8994fa63c86653c\",\n    \"validFor\": {\n      \"startDateTime\": \"2027-03-22 22:15:58\",\n      \"endDateTime\": \"\"\n    },\n    \"productOffering\": {\n      \"id\": \"f2c92ac6a5260210f8774c9b4be6ce56\",\n      \"name\": \"Managed Connectivity Services Supreme Bundle\",\n      \"internalVersion\": \"1\"\n    },\n    \"priceType\": \"one_time\",\n    \"recurringChargePeriodType\": \"\",\n    \"unitOfMeasure\": {\n      \"id\": \"9a7a119953020110286eddeeff7b1238\",\n      \"amount\": 1,\n      \"units\": \"Month\"\n    },\n    \"price\": {\n      \"units\": \"USD\",\n      \"value\": \"800\"\n    },\n    \"priceList\": {\n      \"id\": \"d653246c7f4f9e50f8994fa63c86655a\",\n      \"name\": \"new Price list\",\n      \"@type\": \"priceList\"\n    },\n    \"@type\": \"ProductOfferingPrice\"\n  },\n  {\n    \"id\": \"dfb7ec607f8f9e50f8994fa63c866569\",\n    \"name\": \"new Price list\",\n    \"lastUpdate\": \"2025-01-08 19:57:46\",\n    \"isBundle\": false,\n    \"lifecycleStatus\": \"Draft\",\n    \"href\": \"/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569\",\n    \"validFor\": {\n      \"startDateTime\": \"2026-05-28 22:15:58\",\n      \"endDateTime\": \"\"\n    },\n    \"productOffering\": {\n      \"id\": \"f2c92ac6a5260210f8774c9b4be6ce56\",\n      \"name\": \"Managed Connectivity Services Supreme Bundle\",\n      \"internalVersion\": \"1\"\n    },\n    \"priceType\": \"one_time\",\n    \"recurringChargePeriodType\": \"\",\n    \"unitOfMeasure\": {\n      \"id\": \"1eaa559953020110286eddeeff7b12c7\",\n      \"amount\": 1,\n      \"units\": \"Year\"\n    },\n    \"price\": {\n      \"units\": \"USD\",\n      \"value\": \"800\"\n    },\n    \"priceList\": {\n      \"id\": \"d653246c7f4f9e50f8994fa63c86655a\",\n      \"name\": \"new Price list\",\n      \"@type\": \"priceList\"\n    },\n    \"@type\": \"ProductOfferingPrice\"\n  }\n]\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/productOfferingPrice/\\{id\\}\n\nRetrieve details about a specific price list line.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOfferingPrice/{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\nRequired. Sys\\_id of the price list line to retrieve. Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr></tbody>\n</table><table id=\"id_itn_xcw_22c\" 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\nlastUpdate\n\n</td><td>\n\nFilter results by the date that the price line was last updated.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nFilter price list lines that belong to the name of a given price list.Table: Price Lists \\[sn\\_csm\\_pricing\\_price\\_list\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nprice.value\n\n</td><td>\n\nFilter results by a specific list price value.Data type: String\n\n</td></tr><tr><td>\n\npriceList.id\n\n</td><td>\n\nFilter results to return only a price list with a given sys\\_id.Table: Price Lists \\[sn\\_csm\\_pricing\\_price\\_list\\]\n\nData type: String\n\n</td></tr><tr><td>\n\npriceType\n\n</td><td>\n\nFilter results by the pricing method of the product offering.Valid values:\n\n-   recurring: Lets businesses charge recurring pricing amounts with a specified frequency.\n-   one\\_time: Supports one-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOffering.​id\n\n</td><td>\n\nFilter the price list line by the product offering’s sys\\_id.Table: Product offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure.​id\n\n</td><td>\n\nFilter the price list line by sys\\_id of the unit of measure.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor.​endDateTime\n\n</td><td>\n\nFilter the price list line by a given end date and time.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nFilter price list line by a given start date and time.Format: YYYY-MM-DD HH:mm:ss\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|Accept|Data format of the response 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<table><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON or XML\\)\n\n<table id=\"id_ksw_ldw_22c\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"prodOfferingPrice-response-type\"><td>\n\n@type\n\n</td><td>\n\nType of price list line. Always a value of `ProductOfferingPrice`.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-href\"><td>\n\nhref\n\n</td><td>\n\nURL to the price list line record in the instance.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nUnique identifier for the customer order. This value is determined by an external system.Stored in: The external\\_id field of the sn\\_ind\\_tmt\\_orm\\_order table.\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr id=\"prodOfferingPrice-response-id\"><td>\n\nid\n\n</td><td>\n\nSys\\_id of the price list line. Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-isBundle\"><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:\n\n-   true: Price list line is part of a bundle.\n-   false: Price list line isn't part of a bundle.\n\nData type: Boolean\n\n</td></tr><tr id=\"prodOfferingPrice-response-lastUpdate\"><td>\n\nlastUpdate\n\n</td><td>\n\nDate and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-lifeCycleStatus\"><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the price list line.Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-price\"><td>\n\nprice\n\n</td><td>\n\nList price details of the price list line.Data type: Object\n\n```\n\"price\": {\n  \"units\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-price.units\"><td>\n\nprice.units\n\n</td><td>\n\nCurrency code of the price. For example, `USD` or `EUR`. Table: Currency \\[fx\\_currency\\]\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-price.value\"><td>\n\nprice.value\n\n</td><td>\n\nValue of the price.Data type: String \\(represented with a number\\)\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList\"><td>\n\npriceList\n\n</td><td>\n\nPrice list information associated with the price list line.Data type: Object\n\n```\n\"priceList\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"@type\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList.id\"><td>\n\npriceList.id\n\n</td><td>\n\nSys\\_id of the price list in the Price List \\[sn\\_csm\\_pricing\\_price\\_list\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList.name\"><td>\n\npriceList.name\n\n</td><td>\n\nName of the price list.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceList.type\"><td>\n\npriceList.@type\n\n</td><td>\n\nThe type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of `priceList`.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-priceType\"><td>\n\npriceType\n\n</td><td>\n\nThe pricing method of the product offering which is associated with this price list line.Possible values:\n\n-   recurring: Charge recurring pricing amounts with a specified frequency. The value of **recurringChargePeriodType** indicates the frequency of the charge.\n-   one\\_time: One-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering\"><td>\n\nproductOffering\n\n</td><td>\n\nProduct offering that is associated with the price list line.Data type: Object\n\n```\n\"productOffering\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"internalVersion\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering.id\"><td>\n\nproductOffering.id\n\n</td><td>\n\nSys\\_id of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering.internalVersion\"><td>\n\nproductOffering.​internalVersion\n\n</td><td>\n\nInternal version number of the product offering. For example, `PRDOF01024`. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-productOffering.name\"><td>\n\nproductOffering.​name\n\n</td><td>\n\nName of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-recurringChargePeriodType\"><td>\n\nrecurringChargePeriodType\n\n</td><td>\n\nThe periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if **priceType** was set to `recurring`, otherwise returns an empty string.Possible values:\n\n-   annually\n-   monthly\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure\"><td>\n\nunitOfMeasure\n\n</td><td>\n\nDetails about the unit of measure associated with the price list line.Data type: Object\n\n```\n\"unitOfMeasure\": {\n  \"id\": \"String\",\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure.amount\"><td>\n\nunitOfMeasure.amount\n\n</td><td>\n\nAmount of the unit of measure.Data type: Number\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure.id\"><td>\n\nunitOfMeasure.id\n\n</td><td>\n\nSys\\_id of the unit of measure.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-unitOfMeasure.units\"><td>\n\nunitOfMeasure.​units\n\n</td><td>\n\nType of the unit of measure associated with the price list line. For example, `year` or `bundle`.Data type: String\n\n</td></tr><tr id=\"prodOfferingPrice-response-validFor\"><td>\n\nvalidFor\n\n</td><td>\n\nThe duration of time that the price list line is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDate\": \"String\",\n  \"startDate\": \"String\"\n}\n```\n\n</td></tr><tr id=\"prodOfferingPrice-response-validFor.endDate\"><td>\n\nvalidFor.endDate\n\n</td><td>\n\nEnd date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr id=\"prodOfferingPrice-response-validFor.startDate\"><td>\n\nvalidFor.startDate\n\n</td><td>\n\nStart date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example returns details of the product offering price with ID dfb7ec60...\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569\" \\\n--request GET\\\n--user 'username':'password'\n```\n\nResponse.\n\n```\n{\n  \"id\": \"dfb7ec607f8f9e50f8994fa63c866569\",\n  \"name\": \"new Price list\",\n  \"lastUpdate\": \"2025-01-08 19:57:46\",\n  \"externalId\": \"LOC-SF-HQ-2026\",\n  \"isBundle\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569\",\n  \"validFor\": {\n    \"startDateTime\": \"2026-05-28 22:15:58\",\n    \"endDateTime\": \"\"\n  },\n  \"productOffering\": {\n    \"id\": \"f2c92ac6a5260210f8774c9b4be6ce56\",\n    \"name\": \"Managed Connectivity Services Supreme Bundle\",\n    \"internalVersion\": \"1\"\n  },\n  \"priceType\": \"one_time\",\n  \"recurringChargePeriodType\": \"\",\n  \"unitOfMeasure\": {\n    \"id\": \"1eaa559953020110286eddeeff7b12c7\",\n    \"amount\": 1,\n    \"units\": \"Year\"\n  },\n  \"price\": {\n    \"units\": \"USD\",\n    \"value\": \"800\"\n  },\n  \"priceList\": {\n    \"id\": \"d653246c7f4f9e50f8994fa63c86655a\",\n    \"name\": \"new Price list\",\n    \"@type\": \"priceList\"\n  },\n  \"@type\": \"ProductOfferingPrice\"\n}\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/productSpecification\n\nRetrieves all product specification records.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productSpecification`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"table_pfr_vgy_fsb\" 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.Valid fields:\n\n-   description\n-   externalId\n-   id\n-   internalId\n-   internalVersion\n-   lastUpdate\n-   name\n-   productSpecCharacteristic\n-   productSpecificationRelationship\n-   resourceSpecification\n-   serviceSpecification\n-   validFor\n-   version\n\nData type: String\n\nDefault: All fields are returned.\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\nDefault: 20\n\nMaximum: 100\n\n</td></tr><tr><td>\n\noffset\n\n</td><td>\n\nStarting index at which to begin retrieving records. Use this value to paginate record retrieval. This functionality enables the retrieval of all records, regardless of the number of records, in small manageable chunks.Data type: Number\n\nDefault: 0\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nFilter product specifications by state. Only product specifications in the specified state are returned in the response.Accepted 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 id=\"table_kqy_wgy_fsb\" 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 id=\"table_pkr_rgm_lsb\" class=\"rest_api_response_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"content-range-row\"><td>\n\nContent-Range\n\n</td><td>\n\nRange 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 id=\"content-type-row\"><td>\n\nContent-Type\n\n</td><td>\n\nData format of the response body. Only supports **application/json**.\n\n</td></tr><tr id=\"links-pagination-row\"><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 id=\"x-total-count-row\"><td id=\"x-total-count\">\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<table id=\"table_xss_rcm_lsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"tmf-get-status-200-entry\">\n\nRequest successfully processed. Full resource returned in response \\(no pagination\\).\n\n</td></tr><tr><td>\n\n206\n\n</td><td id=\"tmf-get-status-206-entry\">\n\nPartial resource returned in response \\(with pagination\\).\n\n</td></tr><tr><td>\n\n400\n\n</td><td id=\"tmf-get-status-400-entry\">\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"tmf-get-status-404-entry\">\n\nRecord not found. No records matching the query parameters are found in the table.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON\\)\n\n<table id=\"table_zmb_ccb_jsb\"><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 specification.Data type: String\n\n</td></tr><tr><td>\n\ndisplayName\n\n</td><td>\n\nDisplay name for the product specification.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nExternal ID of the product specification. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Table: In the external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\nData type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product specification, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external ID of the product specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification.\n\nData type: String\n\nTable: In the initial\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether **productSpecification** represents a single product or a bundle of products.Possible values:\n\n-   true: The product specification is a product bundle and contains multiple products.\n-   false: The product specification contains a single product.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the specification was last updated.Data type: String\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the product specification. Possible values:\n\n-   Active\n-   Inactive\n-   Draft\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic\n\n</td><td>\n\nProduct specification characteristic.Data type: Array of Objects\n\n```\n\"productSpecCharacteristic\": [\n  {\n    \"description\": \"String\",\n    \"name\": \"String\",\n    \"productSpecCharacteristicValue\": [Array],\n    \"validFor\": {Object},\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue\n\n</td><td>\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isDefault\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor\n\n</td><td>\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​​startDateTime\n\n</td><td>\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​value\n\n</td><td>\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor\n\n</td><td>\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor.​startDateTime\n\n</td><td>\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​valueType\n\n</td><td>\n\nValue type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String\n\nAccepted values:\n\n-   Date,Address\n-   Integer,Date/Time\n-   Array.Integer\n-   Array.Single Line Test\n-   Single Line Test\n-   Array.Object\n-   Array.Date\n-   Array.Decimal\n-   Yes/No\n-   Object\n-   Array.Datetime\n-   Checkbox\n-   Email\n-   Choice\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship\n\n</td><td id=\"productSpecificationRelationship-entry\">\n\nThis specification's relationships to other product specifications.Data type: Array of Objects\n\n```\n\"productSpecificationRelationship\": [\n  {\n    \"compatibilityRelationshipType\": \"String\",\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"prodSpecRelationshipOption\": {Object},\n    \"type\": \"String\",\n    \"validFor\": {Object},\n    \"version\": \"String\"\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​compatibilityRelationshipType\n\n</td><td id=\"productSpecificationRelationship_compatibilityRelationshipType-entry\">\n\nCompatibility relationship type in the product specification expected values. For additional information on compatibility relationships, see [Configuring compatibility rules for horizontal relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-compatibility-management.md).\n\nTable: Compatibles \\[sn\\_compt\\_mgmt\\_compatibles\\]\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship​.id\n\n</td><td id=\"productSpecificationRelationship_id-entry\">\n\nSys\\_id of the related specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​internalId\n\n</td><td id=\"productSpecificationRelationship_internalId-entry\">\n\nSys\\_id \\(internal ID\\) of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​internalVersion\n\n</td><td id=\"productSpecificationRelationship_internalVersion-entry\">\n\nVersion of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​name\n\n</td><td id=\"productSpecificationRelationship_name-entry\">\n\nName of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption-entry\">\n\nCardinality of the product specification relationship.Data type: Object\n\n```\n\"prodSpecRelationshipOption\": {\n  \"numberSpecRelDefault\": \"String\",\n  \"numberSpecRelLowerLimit\": \"String\",\n  \"numberSpecRelUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelDefault\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption_numberSpecRelDefault-entry\">\n\nDefault value of the product specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelLowerLimit\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption_numberSpecRelLowerLimit-entry\">\n\nMinimum number of orders that can be purchased.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelUpperLimit\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption_numberSpecRelUpperLimit-entry\">\n\nMaximum number of orders that can be purchased.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​type\n\n</td><td id=\"productSpecificationRelationship_type-entry\">\n\nType of product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor\n\n</td><td id=\"productSpecificationRelationship_validFor-entry\">\n\nDate range the product specification relationship 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\nproductSpecificationRelationship.​validFor.​endDateTime\n\n</td><td id=\"productSpecificationRelationship_validFor_endDateTime-entry\">\n\nEnd date of the relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor.​startDateTime\n\n</td><td id=\"productSpecificationRelationship_validFor_startDateTime-entry\">\n\nStart date of the relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​version\n\n</td><td id=\"productSpecificationRelationship_validFor_version-entry\">\n\nVersion of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nresourceSpecification\n\n</td><td>\n\nList of resource specifications related to this product specification.Data type: Array of Objects\n\n```\n\"resourceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresourceSpecification.​id\n\n</td><td>\n\nSys\\_id or external ID of the resource specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalId\n\n</td><td>\n\nInitial version \\(sys\\_id\\) of the resource specification record.Data type: String\n\nTable: In the initial\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the resource specification.Data type: String\n\nTable: In the version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​name\n\n</td><td>\n\nName of the resource specification.Data type: String\n\nTable: Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\]\n\n</td></tr><tr><td>\n\nresourceSpecification.​version\n\n</td><td>\n\nExternal version of the resource specification.Data type: String\n\nTable: In the external\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification\n\n</td><td>\n\nList of service specifications related to this product specification.Data type: Array of Objects\n\n```\n\"serviceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nserviceSpecification.​id\n\n</td><td>\n\nInitial version or external ID of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalId\n\n</td><td>\n\nInitial version of the service specification.Data type: String\n\nTable: In the initial\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the service specification.Data type: String\n\nTable: In the version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​name\n\n</td><td>\n\nName of the service specification.Data type: String\n\nTable: Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\]\n\n</td></tr><tr><td>\n\nserviceSpecification.​version\n\n</td><td>\n\nExternal version of the service specification.Data type: String\n\nTable: In the external\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td>\n\nStatus of the product specification.Possible values:\n\n-   draft\n-   published\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the specification 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 of the specification.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date of the specification.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example retrieves the first two product specification records.\n\n```\ncurl --location --request GET \"https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification?limit=2\" \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n\n```\n\nResponse body:\n\n```\n[\n  {\n    \"id\": \"0435b48a742e4a10f877468e695efa3c\",\n    \"href\": \"/api/sn_tmf_api/catalogmanagement/productSpecification/0435b48a742e4a10f877468e695efa3c\",\n    \"externalSystem\": \"Salesforce-TMF620\",\n    \"externalId\": \"LOC-SF-HQ-2026\",\n    \"name\": \"Managed PoS PS\",\n    \"displayName\": \"Managed PoS PS\",\n    \"version\": \"\",\n    \"internalVersion\": \"1\",\n    \"internalId\": \"0435b48a742e4a10f877468e695efa3c\",\n    \"description\": \"Managed PoS PS\",\n    \"lastUpdate\": \"2032-09-26 20:07:12\",\n    \"lifecycleStatus\": \"Active\",\n    \"isBundle\": false,\n    \"validFor\": {\n      \"startDateTime\": \"2032-09-26\",\n      \"endDateTime\": \"\"\n    },\n    \"serviceSpecification\": [],\n    \"productSpecificationRelationship\": [],\n    \"resourceSpecification\": [],\n    \"productSpecCharacteristic\": [\n      {\n        \"productSpecCharacteristicValue\": [\n          {\n            \"value\": \"4\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": true\n          },\n          {\n            \"value\": \"2\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": true\n          },\n          {\n            \"value\": \"1\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": true\n          }\n        ],\n        \"name\": \"Number of POS Terminals\",\n        \"description\": \"Number of POS Terminals\",\n        \"valueType\": \"choice\",\n        \"validFor\": {\n          \"startDatetime\": \"2024-05-31 21:43:14\"\n        }\n      },\n      {\n        \"productSpecCharacteristicValue\": [\n          {\n            \"value\": \"Gold\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": true\n          },\n          {\n            \"value\": \"Bronze\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": true\n          },\n          {\n            \"value\": \"Silver\",\n            \"validFor\": {\n              \"startDateTime\": \"\"\n            },\n            \"isDefault\": false,\n            \"isMandatory\": true\n          }\n        ],\n        \"name\": \"Managed Service Level\",\n        \"description\": \"Managed Service Level\",\n        \"valueType\": \"choice\",\n        \"validFor\": {\n          \"startDatetime\": \"2024-05-31 21:15:24\"\n        }\n      }\n    ],\n    \"status\": \"published\"\n  },\n  {\n    \"id\": \"1a0936f840102610f87798b149fd435d\",\n    \"href\": \"/api/sn_tmf_api/catalogmanagement/productSpecification/1a0936f840102610f87798b149fd435d\",\n    \"name\": \"Wi-Fi Configuration Setup Service PS\",\n    \"displayName\": \"Wi-Fi Configuration Setup Service PS\",\n    \"version\": \"\",\n    \"internalVersion\": \"1\",\n    \"internalId\": \"1a0936f840102610f87798b149fd435d\",\n    \"description\": \"Wi-Fi Configuration Setup Service PS\",\n    \"lastUpdate\": \"2025-03-13 21:01:14\",\n    \"lifecycleStatus\": \"Active\",\n    \"isBundle\": false,\n    \"validFor\": {\n      \"startDateTime\": \"2025-03-12\",\n      \"endDateTime\": \"\"\n    },\n    \"serviceSpecification\": [],\n    \"productSpecificationRelationship\": [],\n    \"resourceSpecification\": [],\n    \"productSpecCharacteristic\": [],\n    \"status\": \"published\"\n  }\n]\n```\n\n## Product Catalog Open API - GET /sn\\_tmf\\_api/catalogmanagement/productSpecification/\\{id\\}\n\nRetrieves a specified product specification record.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productSpecification/{id}`\n\n### Supported request parameters\n\n<table id=\"table_apt_nkz_gsb\" 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 Initial version of the product specification to retrieve.Data type: String\n\nTable: In the sys\\_id or initial\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr></tbody>\n</table><table id=\"table_pfr_vgy_fsb\" 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.Valid fields:\n\n-   description\n-   externalId\n-   id\n-   internalId\n-   internalVersion\n-   lastUpdate\n-   name\n-   productSpecCharacteristic\n-   productSpecificationRelationship\n-   resourceSpecification\n-   serviceSpecification\n-   validFor\n-   version\n\nData type: String\n\nDefault: All fields are returned.\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nFilter product specifications by state. Only product specifications in the specified state are returned in the response.Accepted 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|Header|Description|\n|------|-----------|\n|Accept|Data format of the response 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<table id=\"table_nxj_ykz_gsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON\\)\n\n<table id=\"table_zmb_ccb_jsb\"><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 specification.Data type: String\n\n</td></tr><tr><td>\n\ndisplayName\n\n</td><td>\n\nDisplay name for the product specification.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nExternal ID of the product specification. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Table: In the external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\nData type: String\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product specification, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external ID of the product specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification.\n\nData type: String\n\nTable: In the initial\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether **productSpecification** represents a single product or a bundle of products.Valid values:\n\n-   true: The product specification is a product bundle and contains multiple products.\n-   false: The product specification contains a single product.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the product specification was last updated.Data type: String\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the product specification. Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic\n\n</td><td>\n\nProduct specification characteristics.Data type: Array of Objects\n\n```\n\"productSpecCharacteristic\": [\n  {\n    \"description\": \"String\",\n    \"name\": \"String\",\n    \"productSpecCharacteristicValue\": [Array],\n    \"validFor\": {Object},\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue\n\n</td><td>\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isDefault\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor\n\n</td><td>\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td>\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor\n\n</td><td>\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor.​startDateTime\n\n</td><td>\n\nStart date of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​valueType\n\n</td><td>\n\nValue type of the characteristic. Can be of complex or non-complex type, such as choice or email.Accepted values:\n\n-   Date,Address\n-   Integer,Date/Time\n-   Array.Integer\n-   Array.Single Line Test\n-   Single Line Test\n-   Array.Object\n-   Array.Date\n-   Array.Decimal\n-   Yes/No\n-   Object\n-   Array.Datetime\n-   Checkbox\n-   Email\n-   Choice\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship\n\n</td><td id=\"productSpecificationRelationship-entry\">\n\nThis specification's relationships to other product specifications.Data type: Array of Objects\n\n```\n\"productSpecificationRelationship\": [\n  {\n    \"compatibilityRelationshipType\": \"String\",\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"prodSpecRelationshipOption\": {Object},\n    \"type\": \"String\",\n    \"validFor\": {Object},\n    \"version\": \"String\"\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​compatibilityRelationshipType\n\n</td><td id=\"productSpecificationRelationship_compatibilityRelationshipType-entry\">\n\nCompatibility relationship type in the product specification expected values. For additional information on compatibility relationships, see [Configuring compatibility rules for horizontal relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-compatibility-management.md).\n\nTable: Compatibles \\[sn\\_compt\\_mgmt\\_compatibles\\]\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship​.id\n\n</td><td id=\"productSpecificationRelationship_id-entry\">\n\nSys\\_id of the related specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​internalId\n\n</td><td id=\"productSpecificationRelationship_internalId-entry\">\n\nSys\\_id \\(internal ID\\) of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​internalVersion\n\n</td><td id=\"productSpecificationRelationship_internalVersion-entry\">\n\nVersion of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​name\n\n</td><td id=\"productSpecificationRelationship_name-entry\">\n\nName of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption-entry\">\n\nCardinality of the product specification relationship.Data type: Object\n\n```\n\"prodSpecRelationshipOption\": {\n  \"numberSpecRelDefault\": \"String\",\n  \"numberSpecRelLowerLimit\": \"String\",\n  \"numberSpecRelUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelDefault\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption_numberSpecRelDefault-entry\">\n\nDefault value of the product specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelLowerLimit\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption_numberSpecRelLowerLimit-entry\">\n\nMinimum number of orders that can be purchased.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelUpperLimit\n\n</td><td id=\"productSpecificationRelationship_prodSpecRelationshipOption_numberSpecRelUpperLimit-entry\">\n\nMaximum number of orders that can be purchased.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​type\n\n</td><td id=\"productSpecificationRelationship_type-entry\">\n\nType of product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor\n\n</td><td id=\"productSpecificationRelationship_validFor-entry\">\n\nDate range the product specification relationship 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\nproductSpecificationRelationship.​validFor.​endDateTime\n\n</td><td id=\"productSpecificationRelationship_validFor_endDateTime-entry\">\n\nEnd date of the relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor.​startDateTime\n\n</td><td id=\"productSpecificationRelationship_validFor_startDateTime-entry\">\n\nStart date of the relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​version\n\n</td><td id=\"productSpecificationRelationship_validFor_version-entry\">\n\nVersion of the product specification relationship.Data type: String\n\n</td></tr><tr><td>\n\nresourceSpecification\n\n</td><td>\n\nList of resource specifications related to this product specification.Data type: Array of Objects\n\n```\n\"resourceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresourceSpecification.​id\n\n</td><td>\n\nSys\\_id or external ID of the resource specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalId\n\n</td><td>\n\nInitial version \\(sys\\_id\\) of the resource specification record.Data type: String\n\nTable: In the initial\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the resource specification.Data type: String\n\nTable: In the version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​name\n\n</td><td>\n\nName of the resource specification.Data type: String\n\nTable: Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\]\n\n</td></tr><tr><td>\n\nresourceSpecification.​version\n\n</td><td>\n\nExternal version of the resource specification.Data type: String\n\nTable: In the external\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification\n\n</td><td>\n\nList of service specifications related to this product specification.Data type: Array of Objects\n\n```\n\"serviceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nserviceSpecification.​id\n\n</td><td>\n\nInitial version or external ID of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalId\n\n</td><td>\n\nInitial version of the service specification.Data type: String\n\nTable: In the initial\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the service specification.Data type: String\n\nTable: In the version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​name\n\n</td><td>\n\nName of the service specification.Data type: String\n\nTable: Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\]\n\n</td></tr><tr><td>\n\nserviceSpecification.​version\n\n</td><td>\n\nExternal version of the service specification.Data type: String\n\nTable: In the external\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td>\n\nStatus of the product specification.Possible values:\n\n-   draft\n-   published\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range that the specification 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 of the specification.Data type: String\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date of the specification.Data type: String\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr></tbody>\n</table>This example retrieves the specified product specification record.\n\n```\ncurl --location --request GET \"https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6\" \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nResponse body:\n\n```\n{\n  \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productSpecification/497a39a7c3d312105acc9e62b540dd14\",,\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"externalId\": \"LOC-SF-HQ-2026\",\n  \"name\": \"SD-WAN Service Package\",\n  \"displayName\": \"SD-WAN Service Package v4\",\n  \"version\": \"\",\n  \"internalVersion\": \"4\",\n  \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"description\": \"SD WAN Service Package\",\n  \"lastUpdate\": \"2029-04-15 20:05:37\",\n  \"lifecycleStatus\": \"Active\",\n  \"isBundle\": true,\n  \"validFor\": {\n    \"startDateTime\": \"2033-04-15\",\n    \"endDateTime\": \"\"\n  },\n  \"serviceSpecification\": [],\n  \"productSpecificationRelationship\": [\n    {\n      \"id\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"name\": \"SD-WAN Security\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"type\": \"Service\",\n      \"compatibilityRelationshipType\": \"\",\n      \"validFor\": {\n        \"startDateTime\": \"2030-09-25\",\n        \"endDateTime\": \"2035-10-27\"\n      }\n    },\n    {\n      \"id\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"name\": \"SD-WAN Edge Device\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"type\": \"Service\",\n      \"compatibilityRelationshipType\": \"\",\n      \"validFor\": {\n        \"startDateTime\": \"2030-09-27\",\n        \"endDateTime\": \"2035-10-27\"\n      }\n    },\n    {\n      \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"name\": \"SD-WAN Controller\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"type\": \"Service\",\n      \"compatibilityRelationshipType\": \"\",\n      \"validFor\": {\n        \"startDateTime\": \"2029-04-03\",\n        \"endDateTime\": \"\"\n      }\n    }\n  ],\n  \"resourceSpecification\": [],\n  \"productSpecCharacteristic\": [\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"0.01\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"0.25\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"0.5\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"1\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"name\": \"Down Time\",\n      \"description\": \"Down Time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-12-13 02:36:15\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1 hr\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"4 hrs\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"name\": \"Mean Time to Restore (MTR)\",\n      \"description\": \"Mean Time to Restore (MTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-12-13 02:39:05\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1 hr\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"4 hrs\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"name\": \"Time to Restore (TTR)\",\n      \"description\": \"Time to Restore (TTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-12-13 02:37:25\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"99.50\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"99.99\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"99.00\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"99.75\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"name\": \"Up Time\",\n      \"description\": \"Up time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-12-13 02:34:30\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"5 Gbps\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"1 Gbps\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"500 Mbps\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"2 Gbps\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"name\": \"Bandwidth\",\n      \"description\": \"Bandwidth\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-12-13 02:32:11\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"name\": \"Application Encryption\",\n      \"description\": \"Application Encryption\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-12-13 02:29:08\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        },\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          },\n          \"isDefault\": false,\n          \"isMandatory\": false\n        }\n      ],\n      \"name\": \"Application Flow Backup\",\n      \"description\": \"Application Flow Backup\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-12-13 02:30:39\"\n      }\n    }\n  ],\n  \"status\": \"published\"\n}\n```\n\n## Product Catalog Open API - PATCH /sn\\_tmf\\_api/catalogmanagement/productOffering/\\{id\\}\n\nUpdates the specified product offering.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOffering/{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 of the product offering to update.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"table_vxh_xvf_hsb\" class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nbundledGroupProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering-entry\">\n\nChild groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects\n\n```\n\"bundledGroupProductOffering\": [\n  {\n    \"bundledGroupProductOfferingOption\": {Object},\n    \"bundledProductOffering\": [Array],\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption-entry\">\n\nA range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object\n\n```\n\"bundledGroupProductOfferingOption\": {\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering-entry\">\n\nChild groups of product offerings associated with the bundle. Same format as **bundledProductOffering** specified below.Data type: Array of Objects\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_id-entry\">\n\nSys\\_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String\n\nTable: Product Offering Relationship Group \\[sn\\_prd\\_pm\\_product\\_offering\\_relationship\\_group\\]\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_name-entry\">\n\nName of the group of child product offerings.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledProductOffering-entry\">\n\nList of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects\n\n```\n\"bundledProductOffering\": [\n  {\n    \"bundledProductOfferingOption\": {Object},\n    \"externalId\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"version\": Number\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption-entry\">\n\nProduct bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object\n\n```\n\"bundledProductOfferingOption\": {\n  \"numberRelOfferDefault\": \"String\",\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferDefault-entry\">\n\nDefault number of product offerings that should be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledProductOffering_id-entry\">\n\nSys\\_id or external ID of the bundled product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nbundledProductOffering.​externalId\n\n</td><td id=\"prodCat-offering-bundledProductOffering_externalId-entry\">\n\nExternal ID of the product offering   relationship.For additional information on product offering relationships, see [Create product offering relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-offering-relationships.md).\n\nData type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledProductOffering_name-entry\">\n\nName of the product offering bundle.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​version\n\n</td><td id=\"prodCat-offering-bundledProductOffering_version-entry\">\n\nCatalog version of the product offering. Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table. \n\n</td></tr><tr><td>\n\ncategory\n\n</td><td>\n\nList of categories that the product belongs to.Data type: Array of Objects\n\n```\n\"category:\" [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\nTable: Category \\[sc\\_category\\]\n\n</td></tr><tr><td>\n\ncategory.id\n\n</td><td>\n\nRequired if using the **category** parameter. ID of the category. Data type: String\n\nTable: Category \\[sc\\_category\\]\n\n</td></tr><tr><td>\n\ncategory.name\n\n</td><td>\n\nName of the category.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nchannel\n\n</td><td>\n\nRequired. Channels to use for selling the product offering.Data type: Array of Objects\n\n```\n\"channel:\" [\n  {\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nchannel.description\n\n</td><td>\n\nDescription of the channel.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nchannel.id\n\n</td><td>\n\nRequired. Sys\\_id of the channel.Data type: String\n\nTable: Distribution Channel \\[sn\\_prd\\_pm\\_distribution\\_channel\\]\n\n</td></tr><tr><td>\n\nchannel.name\n\n</td><td>\n\nName of the channel.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nRequired. Description of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\ndisplayName\n\n</td><td id=\"prodCat-offering-displayName-entry\">\n\nDisplay name of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nExternal ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, external\\_id field\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nRequired. Initial version or external ID of the product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version or external\\_id field\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product offering record.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version field\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product offering.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td id=\"prodCat-offering-isBundle-entry\">\n\nFlag that indicates whether the product offering is a bundle.Possible values:\n\n-   true: Product offering is a bundle.\n-   false: Single product offering.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nisSellable\n\n</td><td id=\"prodCat-offering-isSellable-entry\">\n\nFlag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:\n\n-   true: Can be sold separately.\n-   false: Only sold as part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the product offering was last updated.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the product offering. Possible values:\n\n-   Active\n-   Inactive\n-   Draft\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse-entry\">\n\nProduct offering characteristics.Data type: Array of Objects\n\n```\n\"prodSpecCharValueUse\": [\n   {\n      \"description\": \"String\",\n      \"name\": \"String\",\n      \"productSpecCharacteristicValue\": [Array],\n      \"validFor\": {Object},\n      \"valueType\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​description\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_description-entry\">\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.name\n\n</td><td>\n\nRequired. Name of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue-entry\">\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor-entry\">\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor_startDateTime-entry\">\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​value\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_value-entry\">\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor-entry\">\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor_startDateTime-entry\">\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​valueType\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_valueType-entry\">\n\nData type of the **prodSpecCharValueUse.productSpecCharacteristicValue.value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic\n\n</td><td>\n\nList of product characteristics.Data type: Array of Objects\n\n```\n\"productCharacteristic\": [\n  {\n    \"name\": \"String\",\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductCharacteristic.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic-entry\">\n\nCharacteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time \\(catalog authoring\\), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md).\n\nData type: Array of Objects\n\n```\nproductOfferingCharacteristic\": [  \n  {\n    \"characteristicValueSpecification\": [Array],\n    \"name\": \"String\",\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification-entry\">\n\nList of characteristic values associated with the product offering characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [  \n  { \n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"value\": \"String\"\n  }  \n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isDefault\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:\n\n-   true: Is default value.\n-   false: Isn't the default value.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isMandatory\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:\n\n-   true: Is mandatory.\n-   false: Isn't mandatory.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​value\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_value-entry\">\n\nNumber or text assigned to the associated product specification characteristic .For example:\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"choice 1\"\n  },\n  {\n    \"value\": \"choice 2\"\n  }\n]\n```\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​name\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_name-entry\">\n\nName of the associated product offering characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​valueType\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_valueType-entry\">\n\nData type of the **productOfferingCharacteristic.​characteristicValueSpecification.​value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice\n\n</td><td>\n\nPrice information for the product offering.Data type: Array of Objects\n\n```\n\"productOfferingPrice\": [\n  {\n    \"price\": {Object},\n    \"priceType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"price\": {\n  \"taxIncludedAmount\": {Object}\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.taxIncludedAmount\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"taxIncludedAmount\": {\n  \"unit\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.taxIncludedAmount.unit\n\n</td><td>\n\nCurrency code for the product offering price.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.taxIncludedAmount.value\n\n</td><td>\n\nPrice of the product offering including tax.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductOfferingPrice.priceType\n\n</td><td>\n\nType of product offering type. Required if using the **productOfferingPrice** parameter.Valid values:\n\n-   nonRecurring \\(one-time\\)\n-   recurring\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingTerm\n\n</td><td>\n\nValid contract term length for the product offering.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductSpecification\n\n</td><td>\n\nRequired. Product specification for the product.Data type: Object\n\n```\n\"productSpecification\": {\n  \"id\": \"String\",\n  \"internalId\": \"String\",\n  \"internalVersion\": \"String\",\n  \"name\": \"String\",\n  \"version\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecification.id\n\n</td><td>\n\nRequired. Sys\\_id or external ID of the product specification.Data type: String\n\nTable: In the sys\\_id or external\\_id fields in Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr><tr><td>\n\nproductSpecification.​internalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​name\n\n</td><td>\n\nName of the product specification.Data type: String\n\nTable: In the name field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​version\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td id=\"prodCat-offering-status-entry\">\n\nStatus of the product offering.Possible values:\n\n-   draft\n-   published\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nRequired. Date range the product offering 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\nRequired. End date and time of the product offering.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nRequired. Start date and time of the product offering.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product offering.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON\\)\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|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 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 id=\"table_bts_ybj_4bc\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nbundledGroupProductOffering\n\n</td><td id=\"d3086e285\">\n\nChild groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects\n\n```\n\"bundledGroupProductOffering\": [\n  {\n    \"bundledGroupProductOfferingOption\": {Object},\n    \"bundledProductOffering\": [Array],\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption\n\n</td><td id=\"d3086e298\">\n\nA range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object\n\n```\n\"bundledGroupProductOfferingOption\": {\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"d3086e311\">\n\nLower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"d3086e322\">\n\nUpper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledProductOffering\n\n</td><td id=\"d3086e333\">\n\nChild groups of product offerings associated with the bundle. Same format as **bundledProductOffering** specified below.Data type: Array of Objects\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​id\n\n</td><td id=\"d3086e387\">\n\nSys\\_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String\n\nTable: Product Offering Relationship Group \\[sn\\_prd\\_pm\\_product\\_offering\\_relationship\\_group\\]\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​name\n\n</td><td id=\"d3086e400\">\n\nName of the group of child product offerings.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering\n\n</td><td>\n\nList of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects\n\n```\n\"bundledProductOffering\": [\n  {\n    \"bundledProductOfferingOption\": {Object},\n    \"externalId\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"version\": Number\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption\n\n</td><td id=\"d3086e425\">\n\nProduct bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object\n\n```\n\"bundledProductOfferingOption\": {\n  \"numberRelOfferDefault\": \"String\",\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault\n\n</td><td id=\"d3086e438\">\n\nDefault number of product offerings that should be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"d3086e451\">\n\nLower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"d3086e464\">\n\nUpper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​externalId\n\n</td><td id=\"d3086e477\">\n\nExternal ID of the product offering   relationship.For additional information on product offering relationships, see [Create product offering relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-offering-relationships.md).\n\nData type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​id\n\n</td><td id=\"d3086e505\">\n\nSys\\_id or external ID of the bundled product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nbundledProductOffering.​name\n\n</td><td id=\"d3086e518\">\n\nName of the product offering bundle.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​version\n\n</td><td id=\"d3086e529\">\n\nCatalog version of the product offering. Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table. \n\n</td></tr><tr><td>\n\ncategory\n\n</td><td>\n\nList of categories that the product belongs to.Data type: Array of Objects\n\n```\n\"category:\" [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\ncategory.id\n\n</td><td>\n\nID of the category.Data type: String\n\n</td></tr><tr><td>\n\ncategory.name\n\n</td><td>\n\nName of the category.Data type: String\n\n</td></tr><tr><td>\n\nchannel\n\n</td><td>\n\nChannels to use for selling the product offering.Data type: Array of Objects\n\n```\n\"channel:\" [\n  {\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nchannel.description\n\n</td><td>\n\nDescription of the channel.Data type: String\n\n</td></tr><tr><td>\n\nchannel.id\n\n</td><td>\n\nSys\\_id of the channel.Data type: String\n\nTable: Distribution Channel \\[sn\\_prd\\_pm\\_distribution\\_channel\\]\n\n</td></tr><tr><td>\n\nchannel.name\n\n</td><td>\n\nName of the channel.Data type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the product offering.Data type: String\n\n</td></tr><tr><td>\n\ndisplayName\n\n</td><td id=\"d3086e542\">\n\nDisplay name of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nExternal ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, external\\_id field\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nRequired. Initial version or external ID of the product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version or external\\_id field\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product offering record.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version field\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product offering.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td id=\"d3086e619\">\n\nFlag that indicates whether the product offering is a bundle.Possible values:\n\n-   true: Product offering is a bundle.\n-   false: Single product offering.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nisSellable\n\n</td><td id=\"d3086e642\">\n\nFlag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:\n\n-   true: Can be sold separately.\n-   false: Only sold as part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the product offering was last updated.Data type: String\n\n</td></tr><tr><td>\n\nliftcycleStatus\n\n</td><td>\n\nCurrent lifecycle status. Accepted values:-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse\n\n</td><td id=\"d3086e692\">\n\nProduct offering characteristics.Data type: Array of Objects\n\n```\n\"prodSpecCharValueUse\": [\n   {\n      \"description\": \"String\",\n      \"name\": \"String\",\n      \"productSpecCharacteristicValue\": [Array],\n      \"validFor\": {Object},\n      \"valueType\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​description\n\n</td><td id=\"d3086e705\">\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​name\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_name-entry\">\n\nName of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue\n\n</td><td id=\"d3086e730\">\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault\n\n</td><td id=\"d3086e746\">\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory\n\n</td><td id=\"d3086e767\">\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor\n\n</td><td id=\"d3086e789\">\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td id=\"d3086e802\">\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​value\n\n</td><td id=\"d3086e815\">\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor\n\n</td><td id=\"d3086e829\">\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor.​startDateTime\n\n</td><td id=\"d3086e842\">\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​valueType\n\n</td><td id=\"d3086e855\">\n\nData type of the **prodSpecCharValueUse.productSpecCharacteristicValue.value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic\n\n</td><td>\n\nList of product characteristics.Data type: Array of Objects\n\n```\n\"productCharacteristic\": [\n  {\n    \"name\": \"String\",\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic.​value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic\n\n</td><td id=\"d3086e918\">\n\nCharacteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time \\(catalog authoring\\), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md).\n\nData type: Array of Objects\n\n```\nproductOfferingCharacteristic\": [  \n  {\n    \"characteristicValueSpecification\": [Array],\n    \"name\": \"String\",\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification\n\n</td><td id=\"d3086e936\">\n\nList of characteristic values associated with the product offering characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [  \n  { \n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"value\": \"String\"\n  }  \n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isDefault\n\n</td><td id=\"d3086e949\">\n\nFlag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:\n\n-   true: Is default value.\n-   false: Isn't the default value.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isMandatory\n\n</td><td id=\"d3086e972\">\n\nFlag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:\n\n-   true: Is mandatory.\n-   false: Isn't mandatory.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​value\n\n</td><td id=\"d3086e995\">\n\nNumber or text assigned to the associated product specification characteristic .For example:\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"choice 1\"\n  },\n  {\n    \"value\": \"choice 2\"\n  }\n]\n```\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​name\n\n</td><td id=\"d3086e1010\">\n\nName of the associated product offering characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​valueType\n\n</td><td id=\"d3086e1022\">\n\nData type of the **productOfferingCharacteristic.​characteristicValueSpecification.​value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice\n\n</td><td>\n\nPrice information for the product offering.Data type: Array of Objects\n\n```\n\"productOfferingPrice\": [\n  {\n    \"price\": {Object},\n    \"priceType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"price\": {\n  \"taxIncludedAmount\": {Object}\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"taxIncludedAmount\": {\n  \"unit\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount.unit\n\n</td><td>\n\nCurrency code for the product offering price.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount.​value\n\n</td><td>\n\nPrice of the product offering including tax.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​priceType\n\n</td><td>\n\nProduct offering price type, one-time or recurring payment.Possible values:\n\n-   nonRecurring \\(one-time\\)\n-   recurring\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingTerm\n\n</td><td>\n\nValid contract term length for the product offering.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecification\n\n</td><td>\n\nProduct specification for the product.Data type: Object\n\n```\n\"productSpecification\": {\n  \"id\": \"String\",\n  \"internalId\": \"String\",\n  \"internalVersion\": \"String\",\n  \"name\": \"String\",\n  \"status\": \"String\",\n  \"sys_id\": \"String\",\n  \"version\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecification.​id\n\n</td><td>\n\nSys\\_id of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​status\n\n</td><td>\n\nStatus of the product specification, such as published or draft.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecification.​sys\\_id\n\n</td><td>\n\nSys\\_id of the product specification.Data type: String\n\nTable: Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr><tr><td>\n\nproductSpecification.​version\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td id=\"d3086e1163\">\n\nStatus of the product offering.Possible values:\n\n-   draft\n-   published\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the product offering 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 of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product offering.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr></tbody>\n</table>The following example updates the product offering with the sys\\_id 313b917843235210a82ed6085bb8f2c7 with information provided in the request body.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOffering/313b917843235210a82ed6085bb8f2c7\" \\ \n--request PATCH\\ \n--header \"Accept:application/json\" \\ \n--user 'username':'password'\n--data '{\n  \"id\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"name\": \"Internet bundle\",\n  \"displayName\": \"Internet bundle\",\n  \"description\": \"Internet bundle\",\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"isSellable\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"isBundle\": true,\n  \"lastUpdate\": \"2025-02-05 06:39:45\",\n  \"version\": \"\",\n  \"internalVersion\": \"1\",\n  \"internalId\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"validFor\": {\n    \"startDateTime\": \"2028-12-15\",\n    \"endDateTime\": \"2034-01-14\"\n  },\n  \"productOfferingTerm\": \"not_applicable\",\n  \"productOfferingPrice\": [\n    {\n      \"priceType\": \"recurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    },\n    {\n      \"priceType\": \"nonRecurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    }\n  ],\n  \"productOfferingCharacteristic\": [\n    {\n      \"name\": \"Firewall Security\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"Premium\",\n          \"isMandatory\": false,\n          \"isDefault\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"Connectivity need\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"When in use\",\n          \"isMandatory\": false,\n          \"isDefault\": false\n        }\n      ]\n    }\n  ],\n  \"bundledProductOffering\": [\n    {\n     \n      \"id\": \"0f61dd9fd0a63110f8770dbf976be168\",\n      \"name\": \"Solana Sports streaming channel\",\n      \"version\": \"1\",\n      \"externalId\": \"EXT-123\",\n\n      \"bundledProductOfferingOption\": {\n        \"numberRelOfferDefault\": \"1\",\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"bundledGroupProductOffering\": [\n    {\n      \"id\": \"063b957843235210a82ed6085bb8f205\",\n      \"name\": \"Streaming Channel\",\n      \"bundledProductOffering\": [\n        {\n          \"id\": \"62619d9fd0a63110f8770dbf976be180\",\n          \"name\": \"Solana Movie streaming channel\",\n          \"version\": \"1\",\n          \"externalId\": \"EXT-123\",\n          \"bundledProductOfferingOption\": {\n            \"numberRelOfferDefault\": \"1\",\n            \"numberRelOfferLowerLimit\": \"1\",\n            \"numberRelOfferUpperLimit\": \"1\"\n          }\n        }\n      ],\n      \"bundledGroupProductOfferingOption\": {\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"productSpecification\": {\n    \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n    \"name\": \"SD-WAN Service Package\",\n    \"version\": \"\",\n    \"internalVersion\": \"3\",\n    \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\"\n  },\n  \"prodSpecCharValueUse\": [\n    {\n      \"name\": \"Tenancy\",\n      \"description\": \"Tenancy\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-12-18 21:04:24\"\n      },\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"Premium (>50 sites)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Base (10 site)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"productSpecification\": {\n        \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n        \"name\": \"SD-WAN Controller\",\n        \"version\": \"\",\n        \"internalVersion\": \"1\",\n        \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\"\n      }\n    }\n  ],\n  \"channel\": [\n    {\n      \"id\": \"58ad5522c3702010df4773ce3640ddb2\",\n      \"name\": \"Agent Assist\"\n    }\n  ],\n  \"category\": [\n    {\n      \"id\": \"13e305a143b631105029d1529ab8f267\",\n      \"name\": \"SD-WAN_all_offers\"\n    }\n  ],\n  \"status\": \"draft\"\n}'\n```\n\nResponse body:\n\n```\n{\n  \"id\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/313b917843235210a82ed6085bb8f2c7\",\n  \"externalSystem\": \"Salesforce-TMF620\"\n  \"name\": \"Internet\",\n  \"displayName\": \"Internet\",\n  \"description\": \"Internet bundle\",\n  \"isSellable\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"isBundle\": true,\n  \"lastUpdate\": \"2025-02-05 06:39:45\",\n  \"version\": \"\",\n  \"internalVersion\": \"1\",\n  \"internalId\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"validFor\": {\n    \"startDateTime\": \"2028-12-15\",\n    \"endDateTime\": \"2034-01-14\"\n  },\n  \"productOfferingTerm\": \"not_applicable\",\n  \"productOfferingPrice\": [\n    {\n      \"priceType\": \"recurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    },\n    {\n      \"priceType\": \"nonRecurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    }\n  ],\n  \"productOfferingCharacteristic\": [\n    {\n      \"name\": \"Firewall Security\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"Premium\",\n          \"isMandatory\": false,\n          \"isDefault\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"Connectivity need\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"When in use\",\n          \"isMandatory\": false,\n          \"isDefault\": false\n        }\n      ]\n    }\n  ],\n  \"bundledProductOffering\": [\n    {\n            \"id\": \"0f61dd9fd0a63110f8770dbf976be168\",\n      \"name\": \"Solana Sports streaming channel\",\n      \"version\": \"1\",\n      \"externalId\": \"EXT-123\",\n      \"bundledProductOfferingOption\": {\n        \"numberRelOfferDefault\": \"1\",\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    },\n    {\n      \"id\": \"0f61dd9fd0a63110f8770dbf976be16c\",\n      \"name\": \"Solana TV shows streaming channel\",\n      \"version\": \"1\",\n      \"externalId\": \"EXT-456\",\n\n      \"bundledProductOfferingOption\": {\n        \"numberRelOfferDefault\": \"1\",\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"bundledGroupProductOffering\": [\n    {\n      \"id\": \"063b957843235210a82ed6085bb8f205\",\n      \"name\": \"Streaming Channel\",\n      \"bundledProductOffering\": [\n        {\n          \n          \"name\": \"Internet\",\n          \"version\": \"1\",\n          \"externalId\": \"EXT-678\",\n          \"bundledProductOfferingOption\": {\n            \"numberRelOfferDefault\": \"1\",\n            \"numberRelOfferLowerLimit\": \"1\",\n            \"numberRelOfferUpperLimit\": \"1\"\n          }\n        }\n      ],\n      \"bundledGroupProductOfferingOption\": {\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"3\"\n      }\n    },\n    {\n      \"id\": \"313b917843235210a82ed6085bb8f2c7\",\n      \"name\": \"Streaming Channel\",\n      \"bundledProductOffering\": [\n        {\n          \"id\": \"1161a4f8436b1210a82ed6085bb8f216\",\n          \"name\": \"Internet\",\n          \"version\": \"1\",\n          \"externalId\": \"EXT-910\",\n          \"bundledProductOfferingOption\": {\n            \"numberRelOfferDefault\": \"1\",\n            \"numberRelOfferLowerLimit\": \"1\",\n            \"numberRelOfferUpperLimit\": \"1\"\n          }\n        }\n      ],\n      \"bundledGroupProductOfferingOption\": {\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"productSpecification\": {\n    \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n    \"name\": \"SD-WAN Service Package\",\n    \"version\": \"\",\n    \"internalVersion\": \"3\",\n    \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\"\n  },\n  \"prodSpecCharValueUse\": [\n    {\n      \"name\": \"Tenancy\",\n      \"description\": \"Tenancy\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-12-18 21:04:24\"\n      },\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"Premium (>50 sites)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Advance (50 site)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Base (10 site)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"productSpecification\": {\n        \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n        \"name\": \"SD-WAN Controller\",\n        \"version\": \"\",\n        \"internalVersion\": \"1\",\n        \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\"\n      }\n    }\n  ],\n  \"channel\": [\n    {\n      \"id\": \"58ad5522c3702010df4773ce3640ddb2\",\n      \"name\": \"Agent Assist\"\n    }\n  ],\n  \"category\": [\n    {\n      \"id\": \"13e305a143b631105029d1529ab8f267\",\n      \"name\": \"SD-WAN_all_offers\"\n    }\n  ],\n  \"status\": \"draft\"\n}\n```\n\n## Product Catalog Open API - PATCH /sn\\_tmf\\_api/catalogmanagement/productOfferingPrice/\\{id\\}\n\nUpdates a price list line record with a given sys\\_id in the Price list line \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\] table.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOfferingPrice/{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\nRequired. Sys\\_id of the price list line to retrieve. Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"id_abw_fvw_22c\" class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n@type\n\n</td><td>\n\nRequired. Type of price list line. Always a value of `ProductOfferingPrice`.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nThe external ID of the price list line.Data type: String\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:\n\n-   true: Price list line is part of a bundle.\n-   false: Price list line isn't part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nRequired. Date that the price line was last updated.Format: YYYY-MM-DD\n\nData type: String\n\n</td></tr><tr><td>\n\nlifeCycleStatus\n\n</td><td>\n\nRequired. Current life cycle status of the product list line.Valid values:\n\n-   active\n-   draft\n-   inactive\n\nData type: String\n\nDefault: draft\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name to give the price list line.Data type: String\n\n</td></tr><tr><td>\n\nprice\n\n</td><td>\n\nRequired. List price details of the price list line.Data type: Object\n\n```\n\"price\": {\n  \"unit\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprice.unit\n\n</td><td>\n\nRequired. Currency code of the price list line. For example, `USD` or `EUR`.Table: Currency \\[fx\\_currency\\] table.\n\nData type: String\n\n</td></tr><tr><td>\n\nprice.value\n\n</td><td>\n\nRequired. Value of the price.Data type: String \\(represented with a number. For example, `\"800\"`.\\)\n\n</td></tr><tr><td>\n\npriceList\n\n</td><td>\n\nRequired. Price list information associated with the price list line.Data type: Object\n\n```\n\"priceList\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"@type\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\npriceList.id\n\n</td><td>\n\nRequired. Sys\\_id of the price list line.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\npriceList.name\n\n</td><td>\n\nName of the price list line.Data type: String\n\n</td></tr><tr><td>\n\npriceList.@type\n\n</td><td>\n\nThe type of price list line. When sub-classing, this defines the sub-class extensible name. Value is always `priceList`.Data type: String\n\n</td></tr><tr><td>\n\npriceType\n\n</td><td>\n\nRequired. Filter the price list line by the pricing method of the product offering.Valid values:\n\n-   recurring: Charge recurring pricing amounts with a specified frequency. Frequency is set in the **recurringChargePeriodType** parameter.\n-   one\\_time: Supports one-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\nDefault: recurring\n\n</td></tr><tr><td>\n\nproductOffering\n\n</td><td>\n\nRequired. Product offering of the price list line.Data type: Object\n\n```\n\"productOffering\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"internalVersion\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOffering.​id\n\n</td><td>\n\nRequired. Sys\\_id of the product offering.Table: Product offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOffering.​internalVersion\n\n</td><td>\n\nInternal version number of the product offering.Data type: String \\(represented with a number. For example, `\"1\"`.\\)\n\n</td></tr><tr><td>\n\nproductOffering.​name\n\n</td><td>\n\nName of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nrecurringChargePeriodType\n\n</td><td>\n\nRequired if **priceType** is recurring. Commitment terms that are selected when the product offering was created.Valid values:\n\n-   annually\n-   monthly\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure\n\n</td><td>\n\nRequired. Details about the unit of measure associated with the price list line.Data type: Object\n\n```\n\"unitOfMeasure\": {\n  \"id\": \"String\",\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nunitOfMeasure.​amount\n\n</td><td>\n\nAmount of the unit of measure.Data type: Number\n\n</td></tr><tr><td>\n\nunitOfMeasure.​id\n\n</td><td>\n\nRequired. Sys\\_id of the unit of measure in the Price Line List table.Table: Price List Line \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure.​units\n\n</td><td>\n\nType of the unit of measure associated with the price list line. For example, `each` or `bundle`.Data type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nRequired. The duration of time that the price list line is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDate\": \"String\",\n  \"startDate\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDate\n\n</td><td>\n\nEnd date that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nEnd date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String \\(glide\\_date\\)\n\n</td></tr><tr><td>\n\nvalidFor.startDate\n\n</td><td>\n\nStart date that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String \\(glide\\_date\\)\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\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<table id=\"table_onp_pnw_22c\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON or XML\\)\n\n<table id=\"table_r3r_rvw_22c\"><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 of the price list line. Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nURL to the price list line record in the instance.Data type: String\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nThe duration of time that the price list line is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDate\": \"String\",\n  \"startDate\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDate\n\n</td><td>\n\nEnd date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nvalidFor.startDate\n\n</td><td>\n\nStart date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:\n\n-   true: Price list line is part of a bundle.\n-   false: Price list line isn't part of a bundle.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the price list line.Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOffering\n\n</td><td>\n\nProduct offering that is associated with the price list line.Data type: Object\n\n```\n\"productOffering\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"internalVersion\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOffering.id\n\n</td><td>\n\nSys\\_id of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr><td>\n\nproductOffering.​internalVersion\n\n</td><td>\n\nInternal version number of the product offering. For example, `PRDOF01024`. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr><td>\n\nproductOffering.​name\n\n</td><td>\n\nName of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr><td>\n\npriceType\n\n</td><td>\n\nThe pricing method of the product offering which is associated with this price list line.Possible values:\n\n-   recurring: Charge recurring pricing amounts with a specified frequency. The value of **recurringChargePeriodType** indicates the frequency of the charge.\n-   one\\_time: One-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\n</td></tr><tr><td>\n\nrecurringChargePeriodType\n\n</td><td>\n\nThe periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if **priceType** was set to `recurring`, otherwise returns an empty string.Possible values:\n\n-   annually\n-   monthly\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure\n\n</td><td>\n\nDetails about the unit of measure associated with the price list line.Data type: Object\n\n```\n\"unitOfMeasure\": {\n  \"id\": \"String\",\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nunitOfMeasure.amount\n\n</td><td>\n\nAmount of the unit of measure.Data type: Number\n\n</td></tr><tr><td>\n\nunitOfMeasure.id\n\n</td><td>\n\nSys\\_id of the unit of measure.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure.​units\n\n</td><td>\n\nType of the unit of measure associated with the price list line. For example, `year` or `bundle`.Data type: String\n\n</td></tr><tr><td>\n\nprice\n\n</td><td>\n\nList price details of the price list line.Data type: Object\n\n```\n\"price\": {\n  \"units\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprice.units\n\n</td><td>\n\nCurrency code of the price. For example, `USD` or `EUR`. Table: Currency \\[fx\\_currency\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nprice.value\n\n</td><td>\n\nValue of the price.Data type: String \\(represented with a number\\)\n\n</td></tr><tr><td>\n\npriceList\n\n</td><td>\n\nPrice list information associated with the price list line.Data type: Object\n\n```\n\"priceList\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"@type\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\npriceList.id\n\n</td><td>\n\nSys\\_id of the price list in the Price List \\[sn\\_csm\\_pricing\\_price\\_list\\] table.Data type: String\n\n</td></tr><tr><td>\n\npriceList.name\n\n</td><td>\n\nName of the price list.Data type: String\n\n</td></tr><tr><td>\n\npriceList.@type\n\n</td><td>\n\nThe type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of `priceList`.Data type: String\n\n</td></tr><tr><td>\n\n@type\n\n</td><td>\n\nAlways a value of `ProductOfferingPrice`. When sub-classing, this defines the sub-class extensible name.Data type: String\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nThe state of the price list which is associated with this price list line.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nThe external ID of this price list line.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example updates the dates of when the product offering price with ID 3ddd0... is valid for.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c\" \\\n--request patch\\\n--user 'username':'password'\n--data {\n  \"validFor\": {\n    \"endDateTime\": \"2024-06-25 15:15:58\"\n  }\n}\n```\n\nResponse body:\n\n```\n{\n  \"validFor\": {\n    \"endDateTime\": \"2024-06-25 15:15:58\"\n  },\n  \"id\": \"994d5d364f8b5210f899f61d20ce0b7c\",\n  \"name\": \"new Price list\",\n  \"lastUpdate\": \"2025-01-16 00:15:32\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c\",\n  \"lifecycleStatus\": \"Draft\"\n}\n```\n\n## Product Catalog Open API - PATCH /sn\\_tmf\\_api/catalogmanagement/productSpecification/\\{id\\}\n\nUpdates the specified product specification.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productSpecification/{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 of the product offering to update.Data type: String\n\nTable: Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><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\nRequired. Description of the specification.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nRequired. External ID of the product specification. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.\n\nTable: In the external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\nData type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external ID of the product specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nRequired. Sys\\_id or internal ID of the product specification.\n\nData type: String\n\nTable: In the initial\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether **productSpecification** represents a single product or a bundle of products.Valid values:\n\n-   true: The product specification is a product bundle and contains multiple products.\n-   false: The product specification contains a single product.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the specification was last updated.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic\n\n</td><td>\n\nSpecification characteristic.Data type: Array of Objects\n\n```\n\"productSpecCharacteristic\": [\n  {\n    \"description\": \"String\",\n    \"name\": \"String\",\n    \"productSpecCharacteristicValue\": [Array],\n    \"validFor\": {Object},\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​name\n\n</td><td>\n\nRequired. Name of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue\n\n</td><td>\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isDefault\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor\n\n</td><td>\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td>\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​value\n\n</td><td>\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​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\nproductSpecCharacteristic.​validFor.​endDateTime\n\n</td><td>\n\nEnd date and time of the characteristic.Format: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor.​startDateTime\n\n</td><td>\n\nStart date and time of the characteristic.Format: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​valueType\n\n</td><td>\n\nValue type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String\n\nAccepted values:\n\n-   Date,Address\n-   Integer,Date/Time\n-   Array.Integer\n-   Array.Single Line Test\n-   Single Line Test\n-   Array.Object\n-   Array.Date\n-   Array.Decimal\n-   Yes/No\n-   Object\n-   Array.Datetime\n-   Checkbox\n-   Email\n-   Choice\n\nDefault value: empty string\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship\n\n</td><td>\n\nDetails of the specification's relationships to other product specifications.Data type: Array of Objects\n\n```\n\"productSpecificationRelationship\": [\n  {\n    \"id\": \"String\",\n    \"type\": \"String\",\n    \"validFor\": {Object}\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​id\n\n</td><td>\n\nID of the related specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​type\n\n</td><td>\n\nRequired if using the **productSpecificationRelationship** parameter. Type of relationship.Valid values:\n\n-   bundles\n-   composed\\_of\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor\n\n</td><td>\n\nDate range the relationship 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\nproductSpecificationRelationship.​validFor.​endDateTime\n\n</td><td>\n\nEnd date of the relationship.Format: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor.​startDateTime\n\n</td><td>\n\nStart date of the relationship.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\nresourceSpecification\n\n</td><td>\n\nRequired. Details of the resource specifications related to this product specification.Data type: Array of Objects\n\n```\n\"resourceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresourceSpecification.​id\n\n</td><td>\n\nRequired. Initial version or external ID of the resource specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalId\n\n</td><td>\n\nInitial version \\(sys\\_id\\) of the resource specification record.Data type: String\n\nTable: In the initial\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the resource specification.Data type: String\n\nTable: In the version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​name\n\n</td><td>\n\nName of the resource specification.Data type: String\n\nTable: Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\]\n\n</td></tr><tr><td>\n\nresourceSpecification.​version\n\n</td><td>\n\nExternal version of the resource specification.Data type: String\n\nTable: In the external\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification\n\n</td><td>\n\nList of service specifications related to this product specification.Data type: Array of Objects\n\n```\n\"serviceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nserviceSpecification.​id\n\n</td><td>\n\nInitial version or external ID of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalId\n\n</td><td>\n\nInitial version of the service specification.Data type: String\n\nTable: In the initial\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the service specification.Data type: String\n\nTable: In the version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​name\n\n</td><td>\n\nName of the service specification.Data type: String\n\nTable: Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\]\n\n</td></tr><tr><td>\n\nserviceSpecification.​version\n\n</td><td>\n\nExternal version of the service specification.Data type: String\n\nTable: In the external\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nRequired. Date range the specification 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 specification.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\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date and time of the specification.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\nversion\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\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|Content-Type|Data format of the response 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<table id=\"table_nxj_ykz_gsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td>\n\nRequest successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons: -   Empty payload.\n-   Invalid payload. Mandatory field missing: &lt;field name&gt;\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### Response body parameters\n\n<table id=\"table_xj1_jcj_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 specification.Data type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external ID of the product specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nRequired. Sys\\_id or internal ID of the product specification.\n\nData type: String\n\nTable: In the initial\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the specification was last updated.Format: YYYY-MM-DD 00:00:00.\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic\n\n</td><td>\n\nCharacteristics of the specification.Data type: Array of Objects\n\n```\n\"productSpecCharacteristic\": [\n  {\n    \"description\": \"String\",\n    \"name\": \"String\",\n    \"productSpecCharacteristicValue\": [Array],\n    \"validFor\": {Object},\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue\n\n</td><td>\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isDefault\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor\n\n</td><td>\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td>\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​value\n\n</td><td>\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​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\nproductSpecCharacteristic.​validFor.​endDateTime\n\n</td><td>\n\nEnd date and time of the characteristic.Format: YYYY-MM-DD 00:00:00.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor.​startDateTime\n\n</td><td>\n\nStart date and time of the characteristic.Format: YYYY-MM-DD 00:00:00.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​valueType\n\n</td><td>\n\nValue type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String\n\nAccepted values:\n\n-   Date,Address\n-   Integer,Date/Time\n-   Array.Integer\n-   Array.Single Line Test\n-   Single Line Test\n-   Array.Object\n-   Array.Date\n-   Array.Decimal\n-   Yes/No\n-   Object\n-   Array.Datetime\n-   Checkbox\n-   Email\n-   Choice\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship\n\n</td><td>\n\nThis specification's relationships to other product specifications.Data type: Array of Objects\n\n```\n\"productSpecificationRelationship\": [\n  {\n    \"id\": \"String\",\n    \"type\": \"String\",\n    \"validFor\": {Object}\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​id\n\n</td><td>\n\nSys\\_id of the related specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​type\n\n</td><td>\n\nType of relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor\n\n</td><td>\n\nDate range the relationship 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\nproductSpecificationRelationship.​validFor.​endDateTime\n\n</td><td>\n\nEnd date and type of the relationship.Format: YYYY-MM-DD\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor.​startDateTime\n\n</td><td>\n\nStart date and type of the relationship.Format: YYYY-MM-DD\n\nData type: String\n\n</td></tr><tr><td>\n\nresourceSpecification\n\n</td><td>\n\nList of resource specifications related to this product specification.Data type: Array of Objects\n\n```\n\"resourceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresourceSpecification.​id\n\n</td><td>\n\nSys\\_id or external ID of the resource specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalId\n\n</td><td>\n\nInitial version \\(sys\\_id\\) of the resource specification record.Data type: String\n\nTable: In the initial\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the resource specification.Data type: String\n\nTable: In the version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​name\n\n</td><td>\n\nName of the resource specification.Data type: String\n\nTable: Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\]\n\n</td></tr><tr><td>\n\nresourceSpecification.​version\n\n</td><td>\n\nExternal version of the resource specification.Data type: String\n\nTable: In the external\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification\n\n</td><td>\n\nList of service specifications related to this product specification.Data type: Array of Objects\n\n```\n\"serviceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nserviceSpecification.​id\n\n</td><td>\n\nInitial version or external ID of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalId\n\n</td><td>\n\nInitial version of the service specification.Data type: String\n\nTable: In the initial\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the service specification.Data type: String\n\nTable: In the version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​name\n\n</td><td>\n\nName of the service specification.Data type: String\n\nTable: Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\]\n\n</td></tr><tr><td>\n\nserviceSpecification.​version\n\n</td><td>\n\nExternal version of the service specification.Data type: String\n\nTable: In the external\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the specification 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 specification.Format: YYYY-MM-DD HH:mm:SS.\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date and time of the specification.Format: YYYY-MM-DD HH:mm:SS.\n\nData type: String\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr></tbody>\n</table>The following example updates the product specification ID d6f8d9995b020210235d85cced81c7eb with information provided in the request body.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productSpecification/d6f8d9995b020210235d85cced81c7eb\" \\ \n--request PATCH\\ \n--header \"Accept:application/json\" \\ \n--user 'username':'password'\n--data '{\n  \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"name\": \"SD-WAN Service Package\",\n  \"displayName\": \"SD-WAN Service Package v3\",\n  \"version\": \"\",\n  \"internalVersion\": \"3\",\n  \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"description\": \"SD WAN Service Package\",\n  \"lastUpdate\": \"2027-10-11 06:58:12\",\n  \"isBundle\": true,\n  \"validFor\": {\n    \"startDateTime\": \"2029-02-05\",\n    \"endDateTime\": \"\"\n  },\n  \"serviceSpecification\": [],\n  \"productSpecificationRelationship\": [\n    {\n      \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"name\": \"SD-WAN Controller\",\n      \"version\": \"\",\n      \"internalVersion\": \"1\",\n      \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2025-01-24\",\n        \"endDateTime\": \"\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"1\",\n        \"numberSpecRelUpperLimit\": \"1\"\n      }\n    },\n    {\n      \"id\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"name\": \"SD-WAN Edge Device\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-05\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"2\",\n        \"numberSpecRelUpperLimit\": \"4\"\n      }\n    },\n    {\n      \"id\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"name\": \"SD-WAN Security\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-03\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"4\",\n        \"numberSpecRelUpperLimit\": \"20\"\n      }\n    }\n  ],\n  \"resourceSpecification\": [],\n  \"productSpecCharacteristic\": [\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.25\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.01\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.5\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Down Time\",\n      \"description\": \"Down Time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:36:15\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"500 Mbps\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"5 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Bandwidth\",\n      \"description\": \"Bandwidth\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:32:11\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Time to Restore (TTR)\",\n      \"description\": \"Time to Restore (TTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:37:25\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Mean Time to Restore (MTR)\",\n      \"description\": \"Mean Time to Restore (MTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:39:05\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Flow Backup\",\n      \"description\": \"Application Flow Backup\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:30:39\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"99.00\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.50\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.75\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.99\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Up Time\",\n      \"description\": \"Up time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:34:30\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Encryption\",\n      \"description\": \"Application Encryption\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:29:08\"\n      }\n    }\n  ],\n  \"status\": \"published\"\n}'\n```\n\nResponse body:\n\n```\n{ \n  \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"name\": \"SD-WAN Service Package\",\n  \"displayName\": \"SD-WAN Service Package v3\",\n  \"version\": \"\",\n  \"internalVersion\": \"3\",\n  \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"description\": \"SD WAN Service Package\",\n  \"lastUpdate\": \"2027-10-11 06:58:12\",\n  \"isBundle\": true,\n  \"validFor\": {\n    \"startDateTime\": \"2029-02-05\",\n    \"endDateTime\": \"\"\n  },\n  \"serviceSpecification\": [],\n  \"productSpecificationRelationship\": [\n    {\n      \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"name\": \"SD-WAN Controller\",\n      \"version\": \"\",\n      \"internalVersion\": \"1\",\n      \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2025-01-24\",\n        \"endDateTime\": \"\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"1\",\n        \"numberSpecRelUpperLimit\": \"1\"\n      }\n    },\n    {\n      \"id\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"name\": \"SD-WAN Edge Device\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-05\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"2\",\n        \"numberSpecRelUpperLimit\": \"4\"\n      }\n    },\n    {\n      \"id\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"name\": \"SD-WAN Security\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-03\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"4\",\n        \"numberSpecRelUpperLimit\": \"20\"\n      }\n    }\n  ],\n  \"resourceSpecification\": [],\n  \"productSpecCharacteristic\": [\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.25\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.01\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.5\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Down Time\",\n      \"description\": \"Down Time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:36:15\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"500 Mbps\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"5 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Bandwidth\",\n      \"description\": \"Bandwidth\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:32:11\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Time to Restore (TTR)\",\n      \"description\": \"Time to Restore (TTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:37:25\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Mean Time to Restore (MTR)\",\n      \"description\": \"Mean Time to Restore (MTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:39:05\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Flow Backup\",\n      \"description\": \"Application Flow Backup\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:30:39\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"99.00\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.50\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.75\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.99\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Up Time\",\n      \"description\": \"Up time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:34:30\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Encryption\",\n      \"description\": \"Application Encryption\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:29:08\"\n      }\n    }\n  ],\n  \"status\": \"published\"\n}'\n```\n\n## Product Catalog Open API - POST /sn\\_tmf\\_api/catalogmanagement/catalog\n\nCreates a product offering catalog.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/catalog`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><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 product offering catalog.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nUnique identifier for the product offering catalog from the external system.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the product offering catalog.Data type: String\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<table id=\"table_fbw_k3z_gsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n201\n\n</td><td>\n\nRequest successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad Request. Could be any of the following reasons: -   Empty payload.\n-   Invalid payload. Mandatory field missing: &lt;field name&gt;\n\n</td></tr></tbody>\n</table>### Response body parameters \\(JSON\\)\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 product offering catalog.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id of the product offering catalogData type: String\n\nTable: Product Offering Catalog \\[sn\\_prd\\_pm\\_product\\_offering\\_catalog\\]\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product offering catalog.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis example creates a product offering catalog.\n\n```\ncurl --location --request POST \"https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog\" \\\n--header \"Content-Type: application/json\" \\\n--data-raw '{\n    \"id\": \"testId\",\n    \"name\": \"Catalog\",\n    \"description\": \"Description\"\n}'\n--user 'username':'password'\n```\n\nResponse body:\n\n```\n{\n   \"id\": \"45715d02c3510110bc0526083c40dd6b\",\n   \"description\": \"Description\",\n   \"name\": \"Catalog1\"\n}\n```\n\n## Product Catalog Open API - POST /sn\\_tmf\\_api/catalogmanagement/productOffering\n\nCreates a product offering and associated product offering bundles.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOffering`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"table_vxh_xvf_hsb\" class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nbundledGroupProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering-entry\">\n\nChild groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects\n\n```\n\"bundledGroupProductOffering\": [\n  {\n    \"bundledGroupProductOfferingOption\": {Object},\n    \"bundledProductOffering\": [Array],\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption-entry\">\n\nA range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object\n\n```\n\"bundledGroupProductOfferingOption\": {\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledGroupProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering-entry\">\n\nChild groups of product offerings associated with the bundle. Same format as **bundledProductOffering** specified below.Data type: Array of Objects\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_id-entry\">\n\nSys\\_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String\n\nTable: Product Offering Relationship Group \\[sn\\_prd\\_pm\\_product\\_offering\\_relationship\\_group\\]\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledGroupProductOffering_bundledProductOffering_name-entry\">\n\nName of the group of child product offerings.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering\n\n</td><td id=\"prodCat-offering-bundledProductOffering-entry\">\n\nList of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects\n\n```\n\"bundledProductOffering\": [\n  {\n    \"bundledProductOfferingOption\": {Object},\n    \"externalId\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"version\": Number\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption-entry\">\n\nProduct bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object\n\n```\n\"bundledProductOfferingOption\": {\n  \"numberRelOfferDefault\": \"String\",\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferDefault-entry\">\n\nDefault number of product offerings that should be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferLowerLimit-entry\">\n\nLower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"prodCat-offering-bundledProductOffering_bundledProductOfferingOption_numberRelOfferUpperLimit-entry\">\n\nUpper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​externalId\n\n</td><td id=\"prodCat-offering-bundledProductOffering_externalId-entry\">\n\nExternal ID of the product offering   relationship.For additional information on product offering relationships, see [Create product offering relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-offering-relationships.md).\n\nData type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​id\n\n</td><td id=\"prodCat-offering-bundledProductOffering_id-entry\">\n\nSys\\_id or external ID of the bundled product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nbundledProductOffering.​name\n\n</td><td id=\"prodCat-offering-bundledProductOffering_name-entry\">\n\nName of the product offering bundle.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​version\n\n</td><td id=\"prodCat-offering-bundledProductOffering_version-entry\">\n\nCatalog version of the product offering. Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table. \n\n</td></tr><tr><td>\n\ncategory\n\n</td><td>\n\nList of categories that the product belongs to.Data type: Array of Objects\n\n```\n\"category:\" [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\ncategory.id\n\n</td><td>\n\nRequired if using the **category** parameter. ID of the category.Data type: String\n\nTable: Category \\[sc\\_category\\]\n\n</td></tr><tr><td>\n\ncategory.name\n\n</td><td>\n\nName of the category.Data type: String\n\nTable: Category \\[sc\\_category\\]\n\n</td></tr><tr><td>\n\nchannel\n\n</td><td>\n\nRequired. Channels to use for selling the product offering.Data type: Array of Objects\n\n```\n\"channel:\" [\n  {\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nchannel.description\n\n</td><td>\n\nDescription of the channel.Data type: String\n\n</td></tr><tr><td>\n\nchannel.id\n\n</td><td>\n\nRequired. Sys\\_id of the channel.Data type: String\n\nTable: Distribution Channel \\[sn\\_prd\\_pm\\_distribution\\_channel\\]\n\n</td></tr><tr><td>\n\nchannel.name\n\n</td><td>\n\nName of the channel.Data type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nRequired. Description of the product offering.Data type: String\n\n</td></tr><tr><td>\n\ndisplayName\n\n</td><td id=\"prodCat-offering-displayName-entry\">\n\nDisplay name of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nUnique identifier for the product offering from the external system.Data type: String\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nRequired. Initial version or external ID of the product offering.Data type: String\n\nTable: In the initial\\_version or external\\_id fields of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product offering record.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version field\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product offering.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td id=\"prodCat-offering-isBundle-entry\">\n\nFlag that indicates whether the product offering is a bundle.Possible values:\n\n-   true: Product offering is a bundle.\n-   false: Single product offering.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nisSellable\n\n</td><td id=\"prodCat-offering-isSellable-entry\">\n\nFlag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:\n\n-   true: Can be sold separately.\n-   false: Only sold as part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the product offering was last updated.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent lifecycle status. Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse-entry\">\n\nProduct offering characteristics.Data type: Array of Objects\n\n```\n\"prodSpecCharValueUse\": [\n   {\n      \"description\": \"String\",\n      \"name\": \"String\",\n      \"productSpecCharacteristicValue\": [Array],\n      \"validFor\": {Object},\n      \"valueType\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​description\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_description-entry\">\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​name\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_name-entry\">\n\nName of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue-entry\">\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor-entry\">\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_validFor_startDateTime-entry\">\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​value\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_productSpecCharacteristicValue_value-entry\">\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor-entry\">\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor.​startDateTime\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_validFor_startDateTime-entry\">\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​valueType\n\n</td><td id=\"prodCat-offering-prodSpecCharValueUse_valueType-entry\">\n\nData type of the **prodSpecCharValueUse.productSpecCharacteristicValue.value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic\n\n</td><td>\n\nList of product characteristics.Data type: Array of Objects\n\n```\n\"productCharacteristic\": [\n  {\n    \"name\": \"String\",\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductCharacteristic.name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic.value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic-entry\">\n\nCharacteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time \\(catalog authoring\\), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md).\n\nData type: Array of Objects\n\n```\nproductOfferingCharacteristic\": [  \n  {\n    \"characteristicValueSpecification\": [Array],\n    \"name\": \"String\",\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification-entry\">\n\nList of characteristic values associated with the product offering characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [  \n  { \n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"value\": \"String\"\n  }  \n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isDefault\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isDefault-entry\">\n\nFlag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:\n\n-   true: Is default value.\n-   false: Isn't the default value.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isMandatory\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_isMandatory-entry\">\n\nFlag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:\n\n-   true: Is mandatory.\n-   false: Isn't mandatory.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​value\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_characteristicValueSpecification_value-entry\">\n\nNumber or text assigned to the associated product specification characteristic .For example:\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"choice 1\"\n  },\n  {\n    \"value\": \"choice 2\"\n  }\n]\n```\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​name\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_name-entry\">\n\nName of the associated product offering characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​valueType\n\n</td><td id=\"prodCat-offering-productOfferingCharacteristic_valueType-entry\">\n\nData type of the **productOfferingCharacteristic.​characteristicValueSpecification.​value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice\n\n</td><td>\n\nPrice information for the product offering.Data type: Array of Objects\n\n```\n\"productOfferingPrice\": [\n  {\n    \"price\": {Object},\n    \"priceType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"price\": {\n  \"taxIncludedAmount\": {Object}\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.taxIncludedAmount\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"taxIncludedAmount\": {\n  \"unit\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.taxIncludedAmount.unit\n\n</td><td>\n\nCurrency code for the product offering price.Data type: String\n\nFormat: ISO 4217\n\n</td></tr><tr><td>\n\nproductOfferingPrice.price.taxIncludedAmount.value\n\n</td><td>\n\nPrice of the product offering including tax.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.priceType\n\n</td><td>\n\nRequired if using the **productOfferingPrice** parameter. Product offering price type, one-time or recurring payment.Valid values:\n\n-   nonRecurring \\(one-time\\)\n-   recurring\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingTerm\n\n</td><td>\n\nValid contract term length for the product offering, such as 12 months, 24 months, or not\\_applicable.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecification\n\n</td><td>\n\nRequired. Product specification for the product.Data type: Object\n\n```\n\"productSpecification\": {\n  \"id\": \"String\",\n  \"internalId\": \"String\",\n  \"internalVersion\": \"String\",\n  \"name\"\n  \"version\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecification.id\n\n</td><td>\n\nRequired. Initial version or external ID of the product specification.Data type: String\n\nTable: In the initial\\_version or externa\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​name\n\n</td><td>\n\nName of the product specification.Data type: String\n\nTable: In the name field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​version\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nRequired. Date range the product offering 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 of the product offering.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date of the product offering.Data type: String\n\nFormat: YYYY-MM-DD\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product offering.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\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 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<table id=\"table_fbw_k3z_gsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n201\n\n</td><td>\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons: -   Empty payload.\n-   Invalid payload. Mandatory field missing: &lt;field name&gt;\n\n</td></tr></tbody>\n</table>### Response body parameters\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nbundledGroupProductOffering\n\n</td><td id=\"d3086e285\">\n\nChild groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects\n\n```\n\"bundledGroupProductOffering\": [\n  {\n    \"bundledGroupProductOfferingOption\": {Object},\n    \"bundledProductOffering\": [Array],\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption\n\n</td><td id=\"d3086e298\">\n\nA range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object\n\n```\n\"bundledGroupProductOfferingOption\": {\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"d3086e311\">\n\nLower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"d3086e322\">\n\nUpper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​bundledProductOffering\n\n</td><td id=\"d3086e333\">\n\nChild groups of product offerings associated with the bundle. Same format as **bundledProductOffering** specified below.Data type: Array of Objects\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​id\n\n</td><td id=\"d3086e387\">\n\nSys\\_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String\n\nTable: Product Offering Relationship Group \\[sn\\_prd\\_pm\\_product\\_offering\\_relationship\\_group\\]\n\n</td></tr><tr><td>\n\nbundledGroupProductOffering.​name\n\n</td><td id=\"d3086e400\">\n\nName of the group of child product offerings.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering\n\n</td><td id=\"d3086e411\">\n\nList of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects\n\n```\n\"bundledProductOffering\": [\n  {\n    \"bundledProductOfferingOption\": {Object},\n    \"externalId\": \"String\",\n    \"href\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\",\n    \"version\": Number\n  }\n]\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption\n\n</td><td id=\"d3086e425\">\n\nProduct bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object\n\n```\n\"bundledProductOfferingOption\": {\n  \"numberRelOfferDefault\": \"String\",\n  \"numberRelOfferLowerLimit\": \"String\",\n  \"numberRelOfferUpperLimit\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault\n\n</td><td id=\"d3086e438\">\n\nDefault number of product offerings that should be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit\n\n</td><td id=\"d3086e451\">\n\nLower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit\n\n</td><td id=\"d3086e464\">\n\nUpper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String\n\nPossible values: 0 to unbound.\n\n</td></tr><tr><td>\n\nbundledProductOffering.​externalId\n\n</td><td id=\"d3086e477\">\n\nExternal ID of the product offering   relationship.For additional information on product offering relationships, see [Create product offering relationships](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-offering-relationships.md).\n\nData type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​href\n\n</td><td id=\"prodCat-offering-bundledProductOffering_href-entry\">\n\nRelative link to the associated product offering.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​id\n\n</td><td id=\"d3086e505\">\n\nSys\\_id or external ID of the bundled product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nbundledProductOffering.​name\n\n</td><td id=\"d3086e518\">\n\nName of the product offering bundle.Data type: String\n\n</td></tr><tr><td>\n\nbundledProductOffering.​version\n\n</td><td id=\"d3086e529\">\n\nCatalog version of the product offering. Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table. \n\n</td></tr><tr><td>\n\ncategory\n\n</td><td>\n\nList of categories that the product belongs to.Data type: Array of Objects\n\n```\n\"category:\" [\n  {\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\ncategory.id\n\n</td><td>\n\nID of the category.Data type: String\n\n</td></tr><tr><td>\n\ncategory.name\n\n</td><td>\n\nName of the category.Data type: String\n\n</td></tr><tr><td>\n\nchannel\n\n</td><td>\n\nChannels to use for selling the product offering.Data type: Array of Objects\n\n```\n\"channel:\" [\n  {\n    \"description\": \"String\",\n    \"id\": \"String\",\n    \"name\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nchannel.​description\n\n</td><td>\n\nDescription of the channel.Data type: String\n\n</td></tr><tr><td>\n\nchannel.id\n\n</td><td>\n\nSys\\_id of the channel.Data type: String\n\nTable: Distribution Channel \\[sn\\_prd\\_pm\\_distribution\\_channel\\]\n\n</td></tr><tr><td>\n\nchannel.name\n\n</td><td>\n\nName of the channel.Data type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td>\n\nDescription of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nExternal ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, external\\_id field\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product offering, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nRequired. Initial version or external ID of the product offering.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version or external\\_id field\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nSys\\_id or internal ID of the product offering record.Data type: String\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table, initial\\_version field\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product offering.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td id=\"d3086e619\">\n\nFlag that indicates whether the product offering is a bundle.Possible values:\n\n-   true: Product offering is a bundle.\n-   false: Single product offering.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nisSellable\n\n</td><td id=\"d3086e642\">\n\nFlag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:\n\n-   true: Can be sold separately.\n-   false: Only sold as part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the product offering was last updated.Data type: String\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the product offering. Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse\n\n</td><td id=\"d3086e692\">\n\nProduct offering characteristics.Data type: Array of Objects\n\n```\n\"prodSpecCharValueUse\": [\n   {\n      \"description\": \"String\",\n      \"name\": \"String\",\n      \"productSpecCharacteristicValue\": [Array],\n      \"validFor\": {Object},\n      \"valueType\": \"String\"\n   }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​description\n\n</td><td id=\"d3086e705\">\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​name\n\n</td><td id=\"d3086e716\">\n\nName of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue\n\n</td><td id=\"d3086e730\">\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault\n\n</td><td id=\"d3086e746\">\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory\n\n</td><td id=\"d3086e767\">\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor\n\n</td><td id=\"d3086e789\">\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td id=\"d3086e802\">\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​productSpecCharacteristicValue.​value\n\n</td><td id=\"d3086e815\">\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor\n\n</td><td id=\"d3086e829\">\n\nDate range the characteristic is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​validFor.​startDateTime\n\n</td><td id=\"d3086e842\">\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nprodSpecCharValueUse.​valueType\n\n</td><td id=\"d3086e855\">\n\nData type of the **prodSpecCharValueUse.productSpecCharacteristicValue.value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic\n\n</td><td>\n\nList of product characteristics.Data type: Array of Objects\n\n```\n\"productCharacteristic\": [\n  {\n    \"name\": \"String\",\n    \"value\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductCharacteristic.​value\n\n</td><td>\n\nValue of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic\n\n</td><td id=\"d3086e918\">\n\nCharacteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time \\(catalog authoring\\), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md).\n\nData type: Array of Objects\n\n```\nproductOfferingCharacteristic\": [  \n  {\n    \"characteristicValueSpecification\": [Array],\n    \"name\": \"String\",\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification\n\n</td><td id=\"d3086e936\">\n\nList of characteristic values associated with the product offering characteristic.Data type: Array of Objects\n\n```\n\"characteristicValueSpecification\": [  \n  { \n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"value\": \"String\"\n  }  \n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isDefault\n\n</td><td id=\"d3086e949\">\n\nFlag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:\n\n-   true: Is default value.\n-   false: Isn't the default value.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​isMandatory\n\n</td><td id=\"d3086e972\">\n\nFlag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:\n\n-   true: Is mandatory.\n-   false: Isn't mandatory.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​characteristicValueSpecification.​value\n\n</td><td id=\"d3086e995\">\n\nNumber or text assigned to the associated product specification characteristic .For example:\n\n```\n\"characteristicValueSpecification\": [\n  {\n    \"value\": \"choice 1\"\n  },\n  {\n    \"value\": \"choice 2\"\n  }\n]\n```\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​name\n\n</td><td id=\"d3086e1010\">\n\nName of the associated product offering characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingCharacteristic.​valueType\n\n</td><td id=\"d3086e1022\">\n\nData type of the **productOfferingCharacteristic.​characteristicValueSpecification.​value** parameter.Possible values:\n\n-   Array.Date\n-   Array.Datetime\n-   Array.Decimal\n-   Array.Integer\n-   Array.Object\n-   Array.Single Line Test\n-   Checkbox\n-   Choice\n-   Date,Address\n-   Email\n-   Integer,Date/Time\n-   Object\n-   Single Line Text\n-   Yes/No\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice\n\n</td><td>\n\nPrice information for the product offering.Data type: Array of Objects\n\n```\n\"productOfferingPrice\": [\n  {\n    \"price\": {Object},\n    \"priceType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"price\": {\n  \"taxIncludedAmount\": {Object}\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount\n\n</td><td>\n\nPrice information for the product offering.Data type: Object\n\n```\n\"taxIncludedAmount\": {\n  \"unit\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount.unit\n\n</td><td>\n\nCurrency code for the product offering price.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​price.​taxIncludedAmount.​value\n\n</td><td>\n\nPrice of the product offering including tax.Data type: String\n\n</td></tr><tr><td>\n\nproductOfferingPrice.​priceType\n\n</td><td>\n\nProduct offering price type, one-time or recurring payment.Possible values:\n\n-   nonRecurring \\(one-time\\)\n-   recurring\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOfferingTerm\n\n</td><td>\n\nValid contract term length for the product offering.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecification\n\n</td><td>\n\nProduct specification for the product.Data type: Object\n\n```\n\"productSpecification\": {\n  \"id\": \"String\",\n  \"internalId\": \"String\",\n  \"internalVersion\": \"String\",\n  \"name\": \"String\",\n  \"version\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecification.​id\n\n</td><td>\n\nSys\\_id of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalId\n\n</td><td>\n\nSys\\_id or internal ID of the product specification record.Data type: String\n\nTable: In the initial\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​internalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nproductSpecification.​version\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td id=\"prodCat-offering-status-entry\">\n\nStatus of the product offering.Possible values:\n\n-   draft\n-   published\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the product offering 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 of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product offering.Data type: String\n\nTable: In the external\\_version field of the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.\n\n</td></tr></tbody>\n</table>This example creates a product offering.\n\n```\ncurl --location --request POST \"https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering\" \\\n--header \"Content-Type: application/json\" \\\n--header \"Accept:application/json\" \\\n--data-raw '{\n  \"id\": \"313b917843235210a82ed6085bb8f2c7\",,\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"name\": \"Internet bundle\",\n  \"displayName\": \"Internet bundle\",\n  \"description\": \"Internet bundle\",\n  \"isSellable\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"isBundle\": true,\n  \"lastUpdate\": \"2025-02-05 06:39:45\",\n  \"version\": \"\",\n  \"internalVersion\": \"1\",\n  \"internalId\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"validFor\": {\n    \"startDateTime\": \"2028-12-15\",\n    \"endDateTime\": \"2034-01-14\"\n  },\n  \"productOfferingTerm\": \"not_applicable\",\n  \"productOfferingPrice\": [\n    {\n      \"priceType\": \"recurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    },\n    {\n      \"priceType\": \"nonRecurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    }\n  ],\n  \"productOfferingCharacteristic\": [\n    {\n      \"name\": \"Firewall Security\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"Premium\",\n          \"isMandatory\": false,\n          \"isDefault\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"Connectivity need\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"When in use\",\n          \"isMandatory\": false,\n          \"isDefault\": false\n        }\n      ]\n    }\n  ],\n  \"bundledProductOffering\": [\n    {\n      \n\n      \"id\": \"0f61dd9fd0a63110f8770dbf976be168\",\n      \"name\": \"Solana Sports streaming channel\",\n      \"version\": \"1\",\n      \"externalId\": \"EXT-123\",\n      \"bundledProductOfferingOption\": {\n        \"numberRelOfferDefault\": \"1\",\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"bundledGroupProductOffering\": [\n    {\n      \"id\": \"063b957843235210a82ed6085bb8f205\",\n      \"name\": \"Streaming Channel\",\n      \"bundledProductOffering\": [\n        { \n        \n\n          \"id\": \"62619d9fd0a63110f8770dbf976be180\",\n          \"name\": \"Solana Movie streaming channel\",\n          \"version\": \"1\",\n          \"externalId\": \"EXT-345\",\n          \"bundledProductOfferingOption\": {\n            \"numberRelOfferDefault\": \"1\",\n            \"numberRelOfferLowerLimit\": \"1\",\n            \"numberRelOfferUpperLimit\": \"1\"\n          }\n        }\n      ],\n      \"bundledGroupProductOfferingOption\": {\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"productSpecification\": {\n    \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n    \"name\": \"SD-WAN Service Package\",\n    \"version\": \"\",\n    \"internalVersion\": \"3\",\n    \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\"\n  },\n  \"prodSpecCharValueUse\": [\n    {\n      \"name\": \"Tenancy\",\n      \"description\": \"Tenancy\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-12-18 21:04:24\"\n      },\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"Premium (>50 sites)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Base (10 site)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"productSpecification\": {\n        \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n        \"name\": \"SD-WAN Controller\",\n        \"version\": \"\",\n        \"internalVersion\": \"1\",\n        \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\"\n      }\n    }\n  ],\n  \"channel\": [\n    {\n      \"id\": \"58ad5522c3702010df4773ce3640ddb2\",\n      \"name\": \"Agent Assist\"\n    }\n  ],\n  \"category\": [\n    {\n      \"id\": \"13e305a143b631105029d1529ab8f267\",\n      \"name\": \"SD-WAN_all_offers\"\n    }\n  ],\n  \"status\": \"draft\"\n}'\n--user 'username':'password'\n```\n\nResponse body:\n\n```\n{\n  \"id\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"name\": \"Internet bundle\",\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"displayName\": \"Internet bundle\",\n  \"description\": \"Internet bundle\",\n  \"isSellable\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"isBundle\": true,\n  \"lastUpdate\": \"2025-04-09 15:59:09\",\n  \"version\": \"\",\n  \"internalVersion\": \"1\",\n  \"validFor\": {\n    \"startDateTime\": \"2028-12-15\",\n    \"endDateTime\": \"2034-01-14\"\n  },\n  \"productOfferingTerm\": \"not_applicable\",\n  \"productOfferingPrice\": [\n    {\n      \"priceType\": \"recurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    },\n    {\n      \"priceType\": \"nonRecurring\",\n      \"price\": {\n        \"taxIncludedAmount\": {\n          \"unit\": \"USD\",\n          \"value\": \"0\"\n        }\n      }\n    }\n  ],\n  \"productOfferingCharacteristic\": [\n    {\n      \"name\": \"Firewall Security\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"Premium\",\n          \"isMandatory\": false,\n          \"isDefault\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"Connectivity need\",\n      \"valueType\": \"choice\",\n      \"characteristicValueSpecification\": [\n        {\n          \"value\": \"When in use\",\n          \"isMandatory\": false,\n          \"isDefault\": false\n        }\n      ]\n    }\n  ],\n  \"bundledProductOffering\": [\n    {\n      \"id\": \"0f61dd9fd0a63110f8770dbf976be168\",\n      \"name\": \"Solana Sports streaming channel\",\n      \"version\": \"1\",\n      \"externalId\": \"EXT-123\",\n      \"bundledProductOfferingOption\": {\n        \"numberRelOfferDefault\": \"1\",\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"bundledGroupProductOffering\": [\n    {\n      \"id\": \"063b957843235210a82ed6085bb8f205\",\n      \"name\": \"Streaming Channel\",\n      \"bundledProductOffering\": [\n        {\n          \"id\": \"62619d9fd0a63110f8770dbf976be180\",\n          \"name\": \"Solana Movie streaming channel\",\n          \"version\": \"1\",\n          \"externalId\": \"EXT-345\",\n          \"bundledProductOfferingOption\": {\n            \"numberRelOfferDefault\": \"1\",\n            \"numberRelOfferLowerLimit\": \"1\",\n            \"numberRelOfferUpperLimit\": \"1\"\n          }\n        }\n      ],\n      \"bundledGroupProductOfferingOption\": {\n        \"numberRelOfferLowerLimit\": \"1\",\n        \"numberRelOfferUpperLimit\": \"1\"\n      }\n    }\n  ],\n  \"productSpecification\": {\n    \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n    \"name\": \"SD-WAN Service Package\",\n    \"version\": \"\",\n    \"internalVersion\": \"3\",\n    \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\"\n  },\n  \"prodSpecCharValueUse\": [\n    {\n      \"name\": \"Tenancy\",\n      \"description\": \"Tenancy\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2024-12-18 21:04:24\"\n      },\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"Premium (>50 sites)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Base (10 site)\",\n          \"isDefault\": false,\n          \"isMandatory\": false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"productSpecification\": {\n        \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n        \"name\": \"SD-WAN Controller\",\n        \"version\": \"\",\n        \"internalVersion\": \"1\",\n        \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\"\n      }\n    }\n  ],\n  \"channel\": [\n    {\n      \"id\": \"58ad5522c3702010df4773ce3640ddb2\",\n      \"name\": \"Agent Assist\"\n    }\n  ],\n  \"category\": [\n    {\n      \"id\": \"13e305a143b631105029d1529ab8f267\",\n      \"name\": \"SD-WAN_all_offers\"\n    }\n  ],\n  \"status\": \"draft\",\n  \"externalId\": \"313b917843235210a82ed6085bb8f2c7\",\n  \"internalId\": \"03c99cb53bf066509b48d69a04e45a11\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11\"\n}\n```\n\n## Product Catalog Open API - POST /sn\\_tmf\\_api/catalogmanagement/productOfferingPrice\n\nCreates a new price list line record in the Price List Line \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\] table.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productOfferingPrice`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"id_b21_1nc_f2c\" class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n@type\n\n</td><td>\n\nRequired. Type of price list line. Always a value of `ProductOfferingPrice`.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nThe external ID of the price list line.Data type: String\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:\n\n-   true: Price list line is part of a bundle.\n-   false: Price list line isn't part of a bundle.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nRequired. Date that the price line was last updated.Format: YYYY-MM-DD\n\nData type: String\n\n</td></tr><tr><td>\n\nlifeCycleStatus\n\n</td><td>\n\nRequired. Current life cycle status of the product list line.Valid values:\n\n-   active\n-   draft\n-   inactive\n\nData type: String\n\nDefault: draft\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name to give the price list line.Data type: String\n\n</td></tr><tr><td>\n\nprice\n\n</td><td>\n\nRequired. List price details of the price list line.Data type: Object\n\n```\n\"price\": {\n  \"unit\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprice.unit\n\n</td><td>\n\nRequired. Currency code of the price list line. For example, `USD` or `EUR`.Table: Currency \\[fx\\_currency\\] table.\n\nData type: String\n\n</td></tr><tr><td>\n\nprice.value\n\n</td><td>\n\nRequired. Value of the price.Data type: String \\(represented with a number. For example, `\"800\"`.\\)\n\n</td></tr><tr><td>\n\npriceList\n\n</td><td>\n\nRequired. Price list information associated with the price list line.Data type: Object\n\n```\n\"priceList\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"@type\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\npriceList.id\n\n</td><td>\n\nRequired. Sys\\_id of the price list line.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\npriceList.name\n\n</td><td>\n\nName of the price list line.Data type: String\n\n</td></tr><tr><td>\n\npriceList.@type\n\n</td><td>\n\nThe type of price list line. When sub-classing, this defines the sub-class extensible name. Value is always `priceList`.Data type: String\n\n</td></tr><tr><td>\n\npriceType\n\n</td><td>\n\nRequired. Filter the price list line by the pricing method of the product offering.Valid values:\n\n-   recurring: Charge recurring pricing amounts with a specified frequency. Frequency is set in the **recurringChargePeriodType** parameter.\n-   one\\_time: Supports one-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\nDefault: recurring\n\n</td></tr><tr><td>\n\nproductOffering\n\n</td><td>\n\nRequired. Product offering of the price list line.Data type: Object\n\n```\n\"productOffering\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"internalVersion\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOffering.​id\n\n</td><td>\n\nRequired. Sys\\_id of the product offering.Table: Product offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOffering.​internalVersion\n\n</td><td>\n\nInternal version number of the product offering.Data type: String \\(represented with a number. For example, `\"1\"`.\\)\n\n</td></tr><tr><td>\n\nproductOffering.​name\n\n</td><td>\n\nName of the product offering.Data type: String\n\n</td></tr><tr><td>\n\nrecurringChargePeriodType\n\n</td><td>\n\nRequired if **priceType** is recurring. Commitment terms that are selected when the product offering was created.Valid values:\n\n-   annually\n-   monthly\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure\n\n</td><td>\n\nRequired. Details about the unit of measure associated with the price list line.Data type: Object\n\n```\n\"unitOfMeasure\": {\n  \"id\": \"String\",\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nunitOfMeasure.​amount\n\n</td><td>\n\nAmount of the unit of measure.Data type: Number\n\n</td></tr><tr><td>\n\nunitOfMeasure.​id\n\n</td><td>\n\nRequired. Sys\\_id of the unit of measure in the Price Line List table.Table: Price List Line \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure.​units\n\n</td><td>\n\nType of the unit of measure associated with the price list line. For example, `each` or `bundle`.Data type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nRequired. The duration of time that the price list line is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDate\": \"String\",\n  \"startDate\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDate\n\n</td><td>\n\nEnd date that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nvalidFor.endDateTime\n\n</td><td>\n\nEnd date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String \\(glide\\_date\\)\n\n</td></tr><tr><td>\n\nvalidFor.startDate\n\n</td><td>\n\nStart date that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nvalidFor.startDateTime\n\n</td><td>\n\nStart date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String \\(glide\\_date\\)\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\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<table id=\"table_onp_pnw_22c\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n200\n\n</td><td id=\"entry-200-status-code\">\n\nSuccessful. The request was successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons:\n\n-   Invalid path parameter\n-   Invalid URI\n\n</td></tr><tr><td>\n\n404\n\n</td><td id=\"entry-404-status-code\">\n\nNot found. The requested item wasn't found.\n\n</td></tr></tbody>\n</table>### 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\nid\n\n</td><td>\n\nSys\\_id of the price list line. Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nURL to the price list line record in the instance.Data type: String\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss\n\nData type: String\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nThe duration of time that the price list line is valid for.Data type: Object\n\n```\n\"validFor\": {\n  \"endDate\": \"String\",\n  \"startDate\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nvalidFor.endDate\n\n</td><td>\n\nEnd date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nvalidFor.startDate\n\n</td><td>\n\nStart date and time that the price list line is valid for.Data type: String \\(glide\\_date\\_time\\)\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:\n\n-   true: Price list line is part of a bundle.\n-   false: Price list line isn't part of a bundle.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent life cycle status of the price list line.Valid values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\n</td></tr><tr><td>\n\nproductOffering\n\n</td><td>\n\nProduct offering that is associated with the price list line.Data type: Object\n\n```\n\"productOffering\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"internalVersion\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductOffering.id\n\n</td><td>\n\nSys\\_id of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr><td>\n\nproductOffering.​internalVersion\n\n</td><td>\n\nInternal version number of the product offering. For example, `PRDOF01024`. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr><td>\n\nproductOffering.​name\n\n</td><td>\n\nName of the product offering. Located in the Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\] table.Data type: String\n\n</td></tr><tr><td>\n\npriceType\n\n</td><td>\n\nThe pricing method of the product offering which is associated with this price list line.Possible values:\n\n-   recurring: Charge recurring pricing amounts with a specified frequency. The value of **recurringChargePeriodType** indicates the frequency of the charge.\n-   one\\_time: One-time or recurring add-on charges and fees for a product offering.\n\nData type: String\n\n</td></tr><tr><td>\n\nrecurringChargePeriodType\n\n</td><td>\n\nThe periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if **priceType** was set to `recurring`, otherwise returns an empty string.Possible values:\n\n-   annually\n-   monthly\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure\n\n</td><td>\n\nDetails about the unit of measure associated with the price list line.Data type: Object\n\n```\n\"unitOfMeasure\": {\n  \"id\": \"String\",\n  \"amount\": Number,\n  \"units\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nunitOfMeasure.amount\n\n</td><td>\n\nAmount of the unit of measure.Data type: Number\n\n</td></tr><tr><td>\n\nunitOfMeasure.id\n\n</td><td>\n\nSys\\_id of the unit of measure.Table: Price List Lines \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nunitOfMeasure.​units\n\n</td><td>\n\nType of the unit of measure associated with the price list line. For example, `year` or `bundle`.Data type: String\n\n</td></tr><tr><td>\n\nprice\n\n</td><td>\n\nList price details of the price list line.Data type: Object\n\n```\n\"price\": {\n  \"units\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nprice.units\n\n</td><td>\n\nCurrency code of the price. For example, `USD` or `EUR`. Table: Currency \\[fx\\_currency\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nprice.value\n\n</td><td>\n\nValue of the price.Data type: String \\(represented with a number\\)\n\n</td></tr><tr><td>\n\npriceList\n\n</td><td>\n\nPrice list information associated with the price list line.Data type: Object\n\n```\n\"priceList\": {\n  \"id\": \"String\",\n  \"name\": \"String\",\n  \"@type\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\npriceList.id\n\n</td><td>\n\nSys\\_id of the price list in the Price List \\[sn\\_csm\\_pricing\\_price\\_list\\] table.Data type: String\n\n</td></tr><tr><td>\n\npriceList.name\n\n</td><td>\n\nName of the price list.Data type: String\n\n</td></tr><tr><td>\n\npriceList.@type\n\n</td><td>\n\nThe type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of `priceList`.Data type: String\n\n</td></tr><tr><td>\n\n@type\n\n</td><td>\n\nAlways a value of `ProductOfferingPrice`. When sub-classing, this defines the sub-class extensible name.Data type: String\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nThe state of the price list which is associated with this price list line.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nThe external ID of this price list line.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example creates a new price list line record according to data specified in the request body, and inserts it in the Price list line \\[sn\\_csm\\_pricing\\_price\\_list\\_line\\] table.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice \" \\\n--request POST\\\n--user 'username':'password'\n--data {\n  \"name\": \"new Price list\",\n  \"validFor\": {\n    \"startDateTime\": \"2024-05-28 15:15:58\",\n    \"endDateTime\": \"2025-06-28 15:15:58\"\n  },\n  \"priceType\": \"recurring\",\n  \"recurringChargePeriodType\": \"monthly\",\n  \"lastUpdate\": \"2023-09-23 00:00:00\",\n  \"isBundle\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"unitOfMeasure\": {\n    \"id\": \"1eaa559953020110286eddeeff7b12c7\",\n    \"amount\": 1,\n    \"units\": \"Year\"\n  },\n  \"price\": {\n    \"unit\": \"USD\",\n    \"value\": \"800\"\n  },\n  \"productOffering\": {\n    \"id\": \"9e3dd57a4fcb5210f899f61d20ce0bf2\",\n    \"name\": \"Maintenance Fee\",\n    \"internalVersion\": \"1\"\n  },\n  \"priceList\": {\n    \"name\": \"new price list\",\n    \"@type\": \"priceList\"\n  },\n  \"externalId\": \"test123\",\n  \"@type\": \"ProductOfferingPrice\"\n}\n```\n\nResponse body. This new price list line record is assigned a unique ID; the response body returns this information along with a URL to the new record using the **href** response parameter.\n\n```\n{\n  \"name\": \"new Price list\",\n  \"validFor\": {\n    \"startDateTime\": \"2024-05-28 15:15:58\",\n    \"endDateTime\": \"2025-06-28 15:15:58\"\n  },\n  \"priceType\": \"recurring\",\n  \"recurringChargePeriodType\": \"monthly\",\n  \"lastUpdate\": \"2023-09-23 00:00:00\",\n  \"isBundle\": false,\n  \"lifecycleStatus\": \"Draft\",\n  \"unitOfMeasure\": {\n    \"id\": \"1eaa559953020110286eddeeff7b12c7\",\n    \"amount\": 1,\n    \"units\": \"Year\"\n  },\n  \"price\": {\n    \"unit\": \"USD\",\n    \"value\": \"800\"\n  },\n  \"productOffering\": {\n    \"id\": \"9e3dd57a4fcb5210f899f61d20ce0bf2\",\n    \"name\": \"Maintenance Fee\",\n    \"internalVersion\": \"1\"\n  },\n  \"priceList\": {\n    \"id\": \"194d5d364f8b5210f899f61d20ce0b7a\",\n    \"name\": \"new Price list\",\n    \"@type\": \"priceList\"\n  },\n  \"externalId\": \"test123\",\n  \"@type\": \"ProductOfferingPrice\",\n  \"id\": \"994d5d364f8b5210f899f61d20ce0b7c\",\n  \"state\": \"draft\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c\"\n}\n```\n\n## Product Catalog Open API - POST /sn\\_tmf\\_api/catalogmanagement/productSpecification\n\nCreates a product specification record with the specified values.\n\n### URL format\n\nDefault URL: `/api/sn_tmf_api/catalogmanagement/productSpecification`\n\n### Supported request parameters\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n|Name|Description|\n|----|-----------|\n|None| |\n\n<table id=\"table_db1_q51_jsb\" class=\"rest_api_request_body\"><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\nRequired. Description of the specification.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nUnique identifier for the product specification from the external system.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product specification, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nRequired. Sys\\_id or external ID of the product specification.Data type: String\n\nTable: In the initial\\_version or external\\_id of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nRequired. Sys\\_id or internal ID of the product specification.\n\nData type: String\n\nTable: In the initial\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the specification was last updated.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nRequired. Name of the specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic\n\n</td><td>\n\nSpecification characteristic.Data type: Array of Objects\n\n```\n\"productSpecCharacteristic\": [\n  {\n    \"description\": \"String\",\n    \"name\": \"String\",\n    \"productSpecCharacteristicValue\": [Array],\n    \"validFor\": {Object},\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​name\n\n</td><td>\n\nRequired. Name of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue\n\n</td><td>\n\nRequired. List of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isDefault\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor\n\n</td><td>\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td>\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​value\n\n</td><td>\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​value\n\n</td><td>\n\nRequired. Value of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​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\nproductSpecCharacteristic.​validFor.​endDateTime\n\n</td><td>\n\nEnd date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor.​startDateTime\n\n</td><td>\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​valueType\n\n</td><td>\n\nValue type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String\n\nAccepted values:\n\n-   Date,Address\n-   Integer,Date/Time\n-   Array.Integer\n-   Array.Single Line Test\n-   Single Line Test\n-   Array.Object\n-   Array.Date\n-   Array.Decimal\n-   Yes/No\n-   Object\n-   Array.Datetime\n-   Checkbox\n-   Email\n-   Choice\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship\n\n</td><td>\n\nThis specification's relationships to other product specifications.Data type: Array\n\n```\n\"productSpecificationRelationship\": [\n  {\n    \"id\": \"String\",\n    \"type\": \"String\",\n    \"validFor\": Object\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​id\n\n</td><td>\n\nID of the related specification.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​type\n\n</td><td>\n\nRequired if using the **productSpecificationRelationship** parameter. Type of relationship.Valid values:\n\n-   bundles\n-   composed\\_of\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor\n\n</td><td>\n\nDate range the relationship 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\nproductSpecificationRelationship.​validFor.​endDateTime\n\n</td><td>\n\nEnd date of the relationship.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor.​startDateTime\n\n</td><td>\n\nStart date of the relationship.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nresourceSpecification\n\n</td><td>\n\nRequired. Resource specifications related to this product specification.Data type: Array of Objects\n\n```\n\"resourceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresourceSpecification.​id\n\n</td><td>\n\nRequired. Initial version or external ID of the resource specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalId\n\n</td><td>\n\nInitial version \\(sys\\_id\\) of the resource specification record.Data type: String\n\nTable: In the initial\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the resource specification.Data type: String\n\nTable: In the version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​name\n\n</td><td>\n\nName of the resource specification.Data type: String\n\nTable: Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\]\n\n</td></tr><tr><td>\n\nresourceSpecification.​version\n\n</td><td>\n\nExternal version of the resource specification.Data type: String\n\nTable: In the external\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification\n\n</td><td>\n\nList of service specifications related to this product specification.Data type: Array of Objects\n\n```\n\"serviceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nserviceSpecification.​id\n\n</td><td>\n\nInitial version or external ID of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalId\n\n</td><td>\n\nInitial version of the service specification.Data type: String\n\nTable: In the initial\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the service specification.Data type: String\n\nTable: In the version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​name\n\n</td><td>\n\nName of the service specification.Data type: String\n\nTable: Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\]\n\n</td></tr><tr><td>\n\nserviceSpecification.​version\n\n</td><td>\n\nExternal version of the service specification.Data type: String\n\nTable: In the external\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nRequired. Date range the specification 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 of the specification.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date of the specification.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS. For example, `2025-01-31 09:35:43`.\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\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 response 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<table id=\"table_fbw_k3z_gsb\"><thead><tr><th>\n\nStatus code\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n201\n\n</td><td>\n\nRequest successfully processed.\n\n</td></tr><tr><td>\n\n400\n\n</td><td>\n\nBad request. Possible reasons: -   Empty payload.\n-   Invalid payload. Mandatory field missing: &lt;field name&gt;\n\n</td></tr></tbody>\n</table>### Response body parameters\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 specification.Data type: String\n\n</td></tr><tr><td>\n\nexternalSystem\n\n</td><td>\n\nExternal system of the product specification, appended with `TMF620`. For example, if the external system is ABC then the value is `ABC-TMF620`.\n\nData Type: String\n\n</td></tr><tr><td>\n\nhref\n\n</td><td>\n\nRelative link to the resource record.Data type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id or external ID of the product specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalId\n\n</td><td>\n\nRequired. Sys\\_id or internal ID of the product specification.\n\nData type: String\n\nTable: In the initial\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\ninternalVersion\n\n</td><td>\n\nVersion of the product specification.Data type: String\n\nTable: In the version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr><tr><td>\n\nisBundle\n\n</td><td>\n\nFlag that indicates whether **productSpecification** represents a single product or a bundle of products.Valid values:\n\n-   true: The product specification is a product bundle and contains multiple products.\n-   false: The product specification contains a single product.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nlastUpdate\n\n</td><td>\n\nDate the specification was last updated.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nlifecycleStatus\n\n</td><td>\n\nCurrent lifecycle status of the product specification. Possible values:\n\n-   Active\n-   Draft\n-   Inactive\n\nData type: String\n\nDefault: Blank string\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic\n\n</td><td>\n\nSpecification characteristic.Data type: Array of Objects\n\n```\n\"productSpecCharacteristic\": [\n  {\n    \"description\": \"String\",\n    \"name\": \"String\",\n    \"productSpecCharacteristicValue\": [Array],\n    \"validFor\": {Object},\n    \"valueType\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​description\n\n</td><td>\n\nDescription of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​name\n\n</td><td>\n\nName of the characteristic.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue\n\n</td><td>\n\nList of the possible values of the characteristic.\n\nData type: Array of Objects\n\n```\n\"productSpecCharacteristicValue\": [\n {\n    \"isDefault\": Boolean,\n    \"isMandatory\": Boolean,\n    \"validFor\": {Object},\n    \"value\": \"String\"\n }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isDefault\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:\n\n-   true: Default value.\n-   false: Not the default value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory\n\n</td><td>\n\nFlag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:\n\n-   true: Mandatory value.\n-   false: Not a mandatory value.\n\nDefault: false\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor\n\n</td><td>\n\nDate and time of when the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime\n\n</td><td>\n\nStart date and time of when the characteristic value is valid.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​productSpecCharacteristicValue.​value\n\n</td><td>\n\nValue of the characteristic.\n\nData type: String\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor\n\n</td><td>\n\nDate range for which the characteristic is valid.Data type: Object\n\n```\n\"validFor\": {\n  \"endDateTime\": \"String\",\n  \"startDateTime\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor.​endDateTime\n\n</td><td>\n\nEnd date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​validFor.​startDateTime\n\n</td><td>\n\nStart date of the characteristic.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecCharacteristic.​valueType\n\n</td><td>\n\nValue type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String\n\nAccepted values:\n\n-   Date,Address\n-   Integer,Date/Time\n-   Array.Integer\n-   Array.Single Line Test\n-   Single Line Test\n-   Array.Object\n-   Array.Date\n-   Array.Decimal\n-   Yes/No\n-   Object\n-   Array.Datetime\n-   Checkbox\n-   Email\n-   Choice\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship\n\n</td><td>\n\nThis specification's relationships to other product specifications.Data type: Array of Objects\n\n```\n\"productSpecificationRelationship\": [\n  {\n    \"id\": \"String\",\n    \"type\": \"String\",\n    \"validFor\": Object\n  }\n]\n```\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​id\n\n</td><td>\n\nSys\\_id of the related specification.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​type\n\n</td><td>\n\nType of relationship.Data type: String\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor\n\n</td><td>\n\nDate range the relationship 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\nproductSpecificationRelationship.​validFor.​endDateTime\n\n</td><td>\n\nEnd date of the relationship.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nproductSpecificationRelationship.​validFor.​startDateTime\n\n</td><td>\n\nStart date of the relationship.Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nresourceSpecification\n\n</td><td>\n\nList of resource specifications related to this product specification.Data type: Array of Objects\n\n```\n\"resourceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresourceSpecification.​id\n\n</td><td>\n\nSys\\_id or external ID of the resource specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalId\n\n</td><td>\n\nInitial version \\(sys\\_id\\) of the resource specification record.Data type: String\n\nTable: In the initial\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the resource specification.Data type: String\n\nTable: In the version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nresourceSpecification.​name\n\n</td><td>\n\nName of the resource specification.Data type: String\n\nTable: Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\]\n\n</td></tr><tr><td>\n\nresourceSpecification.​version\n\n</td><td>\n\nExternal version of the resource specification.Data type: String\n\nTable: In the external\\_version field of the Resource Specification \\[sn\\_prd\\_pm\\_resource\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification\n\n</td><td>\n\nList of service specifications related to this product specification.Data type: Array of Objects\n\n```\n\"serviceSpecification\": [\n  {\n    \"id\": \"String\",\n    \"internalId\": \"String\",\n    \"internalVersion\": \"String\",\n    \"name\": \"String\",\n    \"version\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nserviceSpecification.​id\n\n</td><td>\n\nInitial version or external ID of the service specification.Data type: String\n\nTable: In the sys\\_id or external\\_id field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalId\n\n</td><td>\n\nInitial version of the service specification.Data type: String\n\nTable: In the initial\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​internalVersion\n\n</td><td>\n\nVersion of the service specification.Data type: String\n\nTable: In the version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nserviceSpecification.​name\n\n</td><td>\n\nName of the service specification.Data type: String\n\nTable: Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\]\n\n</td></tr><tr><td>\n\nserviceSpecification.​version\n\n</td><td>\n\nExternal version of the service specification.Data type: String\n\nTable: In the external\\_version field of the Service Specification \\[sn\\_prd\\_pm\\_service\\_specification\\] table.\n\n</td></tr><tr><td>\n\nvalidFor\n\n</td><td>\n\nDate range the specification 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 of the specification. Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nvalidFor.​startDateTime\n\n</td><td>\n\nStart date of the specification. Data type: String\n\nFormat: YYYY-MM-DD HH:mm:SS\n\n</td></tr><tr><td>\n\nversion\n\n</td><td>\n\nExternal version of the product specification.Data type: String\n\nTable: In the external\\_version field of the Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\] table.\n\n</td></tr></tbody>\n</table>This example creates a product specification record with the specified values.\n\n```\ncurl --location --request POST \"https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification\" \\\n--header \"Content-Type: application/json\" \\\n--data-raw '{\n  \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"name\": \"SD-WAN Service Package\",\n  \"displayName\": \"SD-WAN Service Package v3\",\n  \"version\": \"\",\n  \"internalVersion\": \"3\",\n  \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"description\": \"SD WAN Service Package\",\n  \"lastUpdate\": \"2027-10-11 06:58:12\",\n  \"isBundle\": true,\n  \"validFor\": {\n    \"startDateTime\": \"2029-02-05\",\n    \"endDateTime\": \"\"\n  },\n  \"serviceSpecification\": [],\n  \"productSpecificationRelationship\": [\n    {\n      \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"name\": \"SD-WAN Controller\",\n      \"version\": \"\",\n      \"internalVersion\": \"1\",\n      \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2025-01-24\",\n        \"endDateTime\": \"\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"1\",\n        \"numberSpecRelUpperLimit\": \"1\"\n      }\n    },\n    {\n      \"id\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"name\": \"SD-WAN Edge Device\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-05\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"2\",\n        \"numberSpecRelUpperLimit\": \"4\"\n      }\n    },\n    {\n      \"id\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"name\": \"SD-WAN Security\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-03\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"4\",\n        \"numberSpecRelUpperLimit\": \"20\"\n      }\n    }\n  ],\n  \"resourceSpecification\": [],\n  \"productSpecCharacteristic\": [\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.25\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.01\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.5\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Down Time\",\n      \"description\": \"Down Time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:36:15\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"500 Mbps\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"5 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Bandwidth\",\n      \"description\": \"Bandwidth\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:32:11\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Time to Restore (TTR)\",\n      \"description\": \"Time to Restore (TTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:37:25\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Mean Time to Restore (MTR)\",\n      \"description\": \"Mean Time to Restore (MTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:39:05\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Flow Backup\",\n      \"description\": \"Application Flow Backup\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:30:39\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"99.00\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.50\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.75\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.99\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Up Time\",\n      \"description\": \"Up time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:34:30\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Encryption\",\n      \"description\": \"Application Encryption\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:29:08\"\n      }\n    }\n  ],\n  \"status\": \"published\"\n}'\n\n--user 'username':'password'\n\n```\n\nResponse body.\n\n```\n{\n  \"id\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"href\": \"/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"externalSystem\": \"Salesforce-TMF620\",\n  \"name\": \"SD-WAN Service Package\",\n  \"displayName\": \"SD-WAN Service Package v3\",\n  \"version\": \"\",\n  \"internalVersion\": \"3\",\n  \"internalId\": \"cfe5ef6a53702010cd6dddeeff7b12f6\",\n  \"description\": \"SD WAN Service Package\",\n  \"lastUpdate\": \"2027-10-11 06:58:12\",\n  \"isBundle\": true,\n  \"validFor\": {\n    \"startDateTime\": \"2029-02-05\",\n    \"endDateTime\": \"\"\n  },\n  \"serviceSpecification\": [],\n  \"productSpecificationRelationship\": [\n    {\n      \"id\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"name\": \"SD-WAN Controller\",\n      \"version\": \"\",\n      \"internalVersion\": \"1\",\n      \"internalId\": \"216663aa53702010cd6dddeeff7b12b5\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2025-01-24\",\n        \"endDateTime\": \"\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"1\",\n        \"numberSpecRelUpperLimit\": \"1\"\n      }\n    },\n    {\n      \"id\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"name\": \"SD-WAN Edge Device\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"39b627aa53702010cd6dddeeff7b1202\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-05\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"2\",\n        \"numberSpecRelUpperLimit\": \"4\"\n      }\n    },\n    {\n      \"id\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"name\": \"SD-WAN Security\",\n      \"version\": \"\",\n      \"internalVersion\": \"2\",\n      \"internalId\": \"a6514bd3534560102f18ddeeff7b1247\",\n      \"type\": \"Service\",\n      \"validFor\": {\n        \"startDateTime\": \"2026-06-03\",\n        \"endDateTime\": \"2031-07-05\"\n      },\n      \"relationshipType\": \"bundles\",\n      \"ProdSpecRelationshipOption\": {\n        \"numberSpecRelLowerLimit\": \"1\",\n        \"numberSpecRelDefault\": \"4\",\n        \"numberSpecRelUpperLimit\": \"20\"\n      }\n    }\n  ],\n  \"resourceSpecification\": [],\n  \"productSpecCharacteristic\": [\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.25\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.01\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"0.5\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Down Time\",\n      \"description\": \"Down Time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:36:15\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"500 Mbps\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"5 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 Gbps\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Bandwidth\",\n      \"description\": \"Bandwidth\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:32:11\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Time to Restore (TTR)\",\n      \"description\": \"Time to Restore (TTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:37:25\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"1 hr\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"2 hrs\",\n          \"isMandatory\":true,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"4 hrs\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Mean Time to Restore (MTR)\",\n      \"description\": \"Mean Time to Restore (MTR)\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:39:05\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Flow Backup\",\n      \"description\": \"Application Flow Backup\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:30:39\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"99.00\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.50\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.75\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"99.99\",\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Up Time\",\n      \"description\": \"Up time\",\n      \"valueType\": \"choice\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:34:30\"\n      }\n    },\n    {\n      \"productSpecCharacteristicValue\": [\n        {\n          \"value\": \"No\",\n          \"isMandatory\":true,\n          \"isDefault\":true,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        },\n        {\n          \"value\": \"Yes\",\n          \"isMandatory\":false,\n          \"isDefault\":false,\n          \"validFor\": {\n            \"startDateTime\": \"\"\n          }\n        }\n      ],\n      \"name\": \"Application Encryption\",\n      \"description\": \"Application Encryption\",\n      \"valueType\": \"yes_no\",\n      \"validFor\": {\n        \"startDatetime\": \"2027-10-11 02:29:08\"\n      }\n    }\n  ],\n  \"status\": \"published\"\n}'\n```\n\n"}}