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

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Product Catalog Open API

# Product Catalog Open API {#ariaid-title1}

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

The Product Catalog Open API provides endpoints to create and
retrieve product catalogs, product offerings, and product specifications.
Use 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 REST Specification
Version 4](https://www.tmforum.org/resources/standard/tmf620-product-catalog-management-api-user-guide-v4-1-0/), April 2021.

This API is included in the Product Catalog Advanced application, which is available on the
ServiceNow Store.

This API is provided within the `sn_tmf_api` namespace.

The calling user must have the sn_prd_pm_adv.catalog_integrator role.  
This API creates and updates data in the following tables.

* Characteristic \[sn_prd_pm_characteristic\]
* Characteristic Option \[sn_prd_pm_characteristic_option\]
* Product Offering \[sn_prd_pm_product_offering\]
* Product Offering Catalog \[sn_prd_pm_product_offering_catalog\]
* Product Offering Characteristic \[sn_prd_pm_product_offering_characteristic\]
* Product Specification \[sn_prd_pm_product_specification\]
* Specification Relationship \[sn_prd_pm_specification_relationship\]
{#product-catalog-open-api__ul_fhn_pjj_hsb}

## Product Catalog Open API - DELETE /sn_tmf_api/catalogmanagement/productOffering/{id} {#ariaid-title2}

Deletes the specified product offering.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOffering/{id}

### Supported request parameters

{#tmf_prod_cat-DELETE-prodOffer-id__entry__2}

| Name | Description |
|-|-|
| id | Sys_id of the product offering to delete. Located in the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[Table 1. Path parameters]

{#tmf_prod_cat-DELETE-prodOffer-id__entry__6}

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

{#tmf_prod_cat-DELETE-prodOffer-id__entry__10}

| Name | Description |
|-|-|
| None |   |
[Table 3. Request body parameters (XML or JSON)]

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-DELETE-prodOffer-id__entry__14}{#tmf_prod_cat-DELETE-prodOffer-id__accept-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
[Table 4. Request headers]

{#tmf_prod_cat-DELETE-prodOffer-id__entry__18}

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

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-DELETE-prodOffer-id__table_tmr_dgq_mbc__entry__2}{#tmf_prod_cat-DELETE-prodOffer-id__entry-200-status-code}{#tmf_prod_cat-DELETE-prodOffer-id__entry-400-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
[Table 6. Status codes]

{#tmf_prod_cat-DELETE-prodOffer-id__table_tmr_dgq_mbc}

### Response body parameters (JSON or XML)

{#tmf_prod_cat-DELETE-prodOffer-id__entry__28}

| Name | Description |
|-|-|
| message | A failure or success message about the deletion or archival of the product specification. |
[ ]

### cURL request

The following example deletes the product offering with an ID of d6f8d9995b020210235d85cced81c7eb.

    curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOffering/d6f8d9995b020210235d85cced81c7eb" \ 
    --request DELETE\ 
    --header "Accept:application/json" \ 
    --user 'username':'password'

The response body returns a successful deletion message:

    "The product offering (d6f8d9995b020210235d85cced81c7eb) is successfully deleted"

## Product Catalog Open API - DELETE /sn_tmf_api/catalogmanagement/productSpecification/{id} {#ariaid-title3}

Deletes or archives the specified product specification.
When calling this DELETE method, a product specification may either be deleted or archived depending on the state it is in:  
* A product specification in the draft state is successfully deleted. The response returns a success message.
* A product specification in the archived state can't be deleted. The response returns a message that the specification is already archived.
* 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.
* A product specification associated with an active product specification or offering cannot be deleted. The response returns an error message.
{#tmf_prod_cat-DELETE-prodSpec-id__ul_rmw_mw4_4bc}

### URL format

Default URL: /sn_tmf_api/catalogmanagement/productSpecification/{id}

### Supported request parameters

{#tmf_prod_cat-DELETE-prodSpec-id__entry__2}

| Name | Description |
|-|-|
| id | Sys_id of the product specification to delete. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[Table 7. Path parameters]

{#tmf_prod_cat-DELETE-prodSpec-id__entry__6}

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

{#tmf_prod_cat-DELETE-prodSpec-id__entry__10}

| Name | Description |
|-|-|
| None |   |
[Table 9. Request body parameters (XML or JSON)]

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-DELETE-prodSpec-id__table_u3k_cgq_mbc__entry__2}{#tmf_prod_cat-DELETE-prodSpec-id__accept-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
[Table 10. Request headers]

{#tmf_prod_cat-DELETE-prodSpec-id__table_u3k_cgq_mbc} {#tmf_prod_cat-DELETE-prodSpec-id__entry__18}

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

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-DELETE-prodSpec-id__table_tmr_dgq_mbc__entry__2}{#tmf_prod_cat-DELETE-prodSpec-id__entry-200-status-code}{#tmf_prod_cat-DELETE-prodSpec-id__entry-400-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
[Table 12. Status codes]

{#tmf_prod_cat-DELETE-prodSpec-id__table_tmr_dgq_mbc}

### Response body parameters (JSON or XML)

{#tmf_prod_cat-DELETE-prodSpec-id__entry__28}

| Name | Description |
|-|-|
| message | A failure or success message about the deletion or archival of the product specification. |
[ ]

### cURL request

The following example deletes the product specification with an ID of 8ef57fa05b308210235d85cced81c7d8.

    curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productSpecification/8ef57fa05b308210235d85cced81c7d8" \ 
    --request DELETE\ 
    --header "Accept:application/json" \ 
    --user 'username':'password'

The response body returns a success or failure message:

    "The product specification (8ef57fa05b308210235d85cced81c7d8) is successfully deleted"

## Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/catalog {#ariaid-title4}

Retrieves a list of all product offering catalogs.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/catalog

### Supported request parameters

{#tmf_prod_cat-GET-catalog__table_ofr_vgy_fsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 13. Path parameters]

{#tmf_prod_cat-GET-catalog__table_ofr_vgy_fsb} {#tmf_prod_cat-GET-catalog__table_c3q_ylz_gsb__entry__2}

| Name | Description |
|-|-|
| fields | List of fields to return in the response. Invalid fields are ignored. If this parameter is not used, all fields are returned. Data type: String |
| limit | Maximum number of records to return. For requests that exceed this number of records, use the offset parameter to paginate record retrieval. Default: 20 Maximum: 100 Data type: Number |
| offset | Starting 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. Default: 0 Data type: Number |
[Table 14. Query parameters]

{#tmf_prod_cat-GET-catalog__table_c3q_ylz_gsb} {#tmf_prod_cat-GET-catalog__table_gld_vkz_gsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 15. Request body parameters (JSON)]

{#tmf_prod_cat-GET-catalog__table_gld_vkz_gsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-catalog__table_kqy_wgy_fsb__entry__2}

| Header | Description |
|-|-|
| None |   |
[Table 16. Request headers]

{#tmf_prod_cat-GET-catalog__table_kqy_wgy_fsb} {#tmf_prod_cat-GET-catalog__table_nww_xgm_lsb__entry__2}{#tmf_prod_cat-GET-catalog__content-range-row}{#tmf_prod_cat-GET-catalog__content-type-row}{#tmf_prod_cat-GET-catalog__links-pagination-row}{#tmf_prod_cat-GET-catalog__x-total-count-descr}

| Header | Description |
|-|-|
| Content-Range | Specifies the range of content returned in a paginated call. For example, if `offset=2` and `limit=3`, the value of the Content-Range header is `items 3-5`. |
| Content-Type | Data format of the response body. Only supports application/json. |
| Link | Contains the following links to navigate through query results. * first * last * next * previous {#tmf_prod_cat-GET-catalog__ul_zzk_sdm_lsb} |
| X-Total-Count | For paginated queries, this header specifies the total number of records available on the server. |
[Table 17. Response headers]

{#tmf_prod_cat-GET-catalog__table_nww_xgm_lsb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-catalog__table_v1h_tcm_lsb__entry__2}{#tmf_prod_cat-GET-catalog__tmf-get-status-200-p}{#tmf_prod_cat-GET-catalog__tmf-get-status-206-entry}{#tmf_prod_cat-GET-catalog__tmf-get-status-400-entry}{#tmf_prod_cat-GET-catalog__tmf-get-status-404-entry}

| Status code | Description |
|-|-|
| 200 | Request successfully processed. Full resource returned in response (no pagination). |
| 206 | Partial resource returned in response (with pagination). |
| 400 | Bad request. Possible reasons: * Invalid path parameter * Invalid URI {#tmf_prod_cat-GET-catalog__ul_rys_1gy_fsb} |
| 404 | Record not found. No records matching the query parameters are found in the table. |
[Table 18. Status codes]

{#tmf_prod_cat-GET-catalog__table_v1h_tcm_lsb}

### Response body parameters (JSON) {#tmf_prod_cat-GET-catalog__section_g2r_kmz_gsb}

{#tmf_prod_cat-GET-catalog__table_m2z_clz_gsb__entry__2}

| Name | Description |
|-|-|
| description | Description of the product offering catalog. Data type: String |
| id | Sys_id of the product offering catalog from the Product Offering Catalog \[sn_prd_pm_product_offering_catalog\] table. Data type: String |
| name | Name of the product offering catalog. Data type: String |
[ ]

{#tmf_prod_cat-GET-catalog__table_m2z_clz_gsb}  

### cURL request

This example retrieves all product offering catalogs.

    curl --location --request GET "https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog" \
    --user 'username':'password'

Response body.

    [
        {
            "id": "SD-WAN1344314wrfw14345",
            "name": "New Catalog",
            "description": "New Catalog"
        },
        {
            "id": "9919291ac34c20105252716b7d40dd0f",
            "name": "Enterprise Mobile Plan",
            "description": " Product Catalog for Enterprise Mobile Plan"
        }
    ]

## Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/catalog/{id} {#ariaid-title5}

Retrieves a product offering catalog.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/catalog/{id}

### Supported request parameters

{#tmf_prod_cat-GET-catalog-id__table_apt_nkz_gsb__entry__2}

| Name | Description |
|-|-|
| id | Sys_id of the product offering catalog to retrieve. Located in the Product Offering Catalog \[sn_prd_pm_product_offering_catalog\] table. Data type: String |
[Table 19. Path parameters]

{#tmf_prod_cat-GET-catalog-id__table_apt_nkz_gsb} {#tmf_prod_cat-GET-catalog-id__table_l5k_tkz_gsb__entry__2}

| Name | Description |
|-|-|
| fields | List of fields to return in the response. Invalid fields are ignored. If this parameter is not used, all fields are returned. Data type: String |
[Table 20. Query parameters]

{#tmf_prod_cat-GET-catalog-id__table_l5k_tkz_gsb} {#tmf_prod_cat-GET-catalog-id__table_gld_vkz_gsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 21. Request body parameters (JSON)]

{#tmf_prod_cat-GET-catalog-id__table_gld_vkz_gsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-catalog-id__table_kqy_wgy_fsb__entry__2}

| Header | Description |
|-|-|
| None |   |
[Table 22. Request headers]

{#tmf_prod_cat-GET-catalog-id__table_kqy_wgy_fsb} {#tmf_prod_cat-GET-catalog-id__table_tzy_thy_ksb__entry__2}{#tmf_prod_cat-GET-catalog-id__content_type-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Content-Type | Data format of the request body. Only supports application/json. |
[Table 23. Response headers]

{#tmf_prod_cat-GET-catalog-id__table_tzy_thy_ksb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-catalog-id__table_nxj_ykz_gsb__entry__2}{#tmf_prod_cat-GET-catalog-id__entry-200-status-code}{#tmf_prod_cat-GET-catalog-id__entry-404-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. Could be any of the following reasons: * Invalid path parameter * Invalid URI {#tmf_prod_cat-GET-catalog-id__ul_rys_1gy_fsb} |
| 404 | Not found. The requested item wasn't found. |
[Table 24. Status codes]

{#tmf_prod_cat-GET-catalog-id__table_nxj_ykz_gsb}

### Response body parameters (JSON)

{#tmf_prod_cat-GET-catalog-id__table_m2z_clz_gsb__entry__2}

| Name | Description |
|-|-|
| description | Description of the product offering catalog. Data type: String |
| id | Sys_id of the product offering catalog from the Product Offering Catalog \[sn_prd_pm_product_offering_catalog\] table. Data type: String |
| name | Name of the product offering catalog. Data type: String |
[ ]

{#tmf_prod_cat-GET-catalog-id__table_m2z_clz_gsb}  

### cURL request

This example retrieves a product offering catalog for an enterprise mobile plan.

    curl --location --request GET "https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog/9919291ac34c20105252716b7d40dd0f" \
    --user 'username':'password'

Response body.

    {
       "id": "9919291ac34c20105252716b7d40dd0f",
       "name": "Enterprise Mobile Plan",
       "description": " Product Catalog for Enterprise Mobile Plan"
    }

## Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productOffering {#ariaid-title6}

Retrieves all product offerings.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOffering

### Supported request parameters {#tmf_prod_cat-GET-prodoffering__section_fcz_2t1_jsb}

{#tmf_prod_cat-GET-prodoffering__table_ofr_vgy_fsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 25. Path parameters]

{#tmf_prod_cat-GET-prodoffering__table_ofr_vgy_fsb} {#tmf_prod_cat-GET-prodoffering__table_pfr_vgy_fsb__entry__2}

| Name | Description |
|-|-|
| fields | List of fields to return in the response. Invalid fields are ignored. Valid fields: * category * channel * description * externalId * id * internalId * internalVersion * lastUpdate * name * productCharacteristic * productOfferingPrice * productOfferingTerm * productSpecification * prodSpecCharValueUse * validFor * version {#tmf_prod_cat-GET-prodoffering__ul_irb_sdg_5tb} Default: All fields are returned. Data type: String |
| limit | Maximum number of records to return. For requests that exceed this number of records, use the offset parameter to paginate record retrieval. Default: 20 Maximum: 100 Data type: Number |
| offset | Starting 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. Default: 0 Data type: Number |
| specification | Filter product offerings by product specification sys_id. Only product offerings with the specified product specification sys_id are returned in the response. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| state | Filter product offerings by state. Only product offerings in the specified state are returned in the response. Accepted values: * archived * draft * published * retired {#tmf_prod_cat-GET-prodoffering__ul_ndy_pcb_ccc} Data type: String |
[Table 26. Query parameters]

{#tmf_prod_cat-GET-prodoffering__table_pfr_vgy_fsb} {#tmf_prod_cat-GET-prodoffering__table_gld_vkz_gsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 27. Request body parameters (JSON)]

{#tmf_prod_cat-GET-prodoffering__table_gld_vkz_gsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodoffering__table_kqy_wgy_fsb__entry__2}

| Header | Description |
|-|-|
| None |   |
[Table 28. Request headers]

{#tmf_prod_cat-GET-prodoffering__table_kqy_wgy_fsb} {#tmf_prod_cat-GET-prodoffering__table_ug4_sgm_lsb__entry__2}{#tmf_prod_cat-GET-prodoffering__content-range-row}{#tmf_prod_cat-GET-prodoffering__content-type-row}{#tmf_prod_cat-GET-prodoffering__links-pagination-row}{#tmf_prod_cat-GET-prodoffering__x-total-count-descr}

| Header | Description |
|-|-|
| Content-Range | Specifies the range of content returned in a paginated call. For example, if `offset=2` and `limit=3`, the value of the Content-Range header is `items 3-5`. |
| Content-Type | Data format of the response body. Only supports application/json. |
| Link | Contains the following links to navigate through query results. * first * last * next * previous {#tmf_prod_cat-GET-prodoffering__ul_zzk_sdm_lsb} |
| X-Total-Count | For paginated queries, this header specifies the total number of records available on the server. |
[Table 29. Response headers]

{#tmf_prod_cat-GET-prodoffering__table_ug4_sgm_lsb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodoffering__table_qhs_scm_lsb__entry__2}{#tmf_prod_cat-GET-prodoffering__tmf-get-status-200-p}{#tmf_prod_cat-GET-prodoffering__tmf-get-status-206-entry}{#tmf_prod_cat-GET-prodoffering__tmf-get-status-400-entry}{#tmf_prod_cat-GET-prodoffering__tmf-get-status-404-entry}

| Status code | Description |
|-|-|
| 200 | Request successfully processed. Full resource returned in response (no pagination). |
| 206 | Partial resource returned in response (with pagination). |
| 400 | Bad request. Possible reasons: * Invalid path parameter * Invalid URI {#tmf_prod_cat-GET-prodoffering__ul_rys_1gy_fsb} |
| 404 | Record not found. No records matching the query parameters are found in the table. |
[Table 30. Status codes]

{#tmf_prod_cat-GET-prodoffering__table_qhs_scm_lsb}

### Response body parameters (JSON) {#tmf_prod_cat-GET-prodoffering__section_qqr_2s1_jsb}

{#tmf_prod_cat-GET-prodoffering__table_rqr_2s1_jsb__entry__2}

| Name | Description |
|-|-|
| category | List of categories that the product belongs to. Data type: Array of Objects "category:" [ { "id": "String", "name": "String" } ] |
| category.id | ID of the category. Data type: String |
| category.name | Name of the category. Data type: String |
| channel | Channels to use for selling the product offering. Data type: Array of Objects "channel:" [ { "description": "String", "id": "String", "name": "String" } ] |
| channel.description | Description of the channel. Data type: String |
| channel.id | Sys_id of the channel from the Distribution Channel \[sn_prd_pm_distribution_channel\] table. Data type: String |
| channel.name | Name of the channel. Data type: String |
| description | Description of the product offering. Data type: String |
| externalId | external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| href | A relative link to the resource record. Data type: String Default: Blank string |
| id | Required. initial_version or external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalId | initial_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalVersion | Version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| lastUpdate | Date the product offering was last updated. Data type: String |
| lifecycleStatus | Current life cycle status of the product offering. Accepted values: * Active * Inactive * Draft {#tmf_prod_cat-GET-prodoffering__ul_vrb_d35_dcc} Data type: String Default: Blank string |
| name | Name of the product offering. Data type: String |
| productCharacteristic | List of product characteristics. Data type: Array of Objects "productCharacteristic": [ { "name": "String", "value": "String" } ] |
| productCharacteristic.name | Name of the characteristic. Data type: String |
| productCharacteristic.value | Value of the characteristic. Data type: String |
| productOfferingPrice | Price information for the product offering. Data type: Array of Objects "productOfferingPrice": [ { "price": {Object}, "priceType": "String" } ] |
| productOfferingPrice.price | Price information for the product offering. Data type: Object "price": { "taxIncludedAmount": {Object} } |
| productOfferingPrice.price.taxIncludedAmount | Price information for the product offering. Data type: Object "taxIncludedAmount": { "unit": "String", "value": "String" } |
| productOfferingPrice.price.taxIncludedAmount.unit | Currency code for the product offering price. Data type: String |
| productOfferingPrice.price.taxIncludedAmount.value | Price of the product offering including tax. Data type: String |
| productOfferingPrice.priceType | Type of product offering price, one-time or recurring payment. Valid values: * nonRecurring (one-time) * recurring Data type: String |
| productOfferingTerm | Valid contract term length for the product offering. Data type: String |
| productSpecification | Product specification for the product. Data type: Object "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } |
| productSpecification.id | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalId | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalVersion | Version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.version | external_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| prodSpecCharValueUse | Product offering characteristics. Data type: Array of Objects "prodSpecCharValueUse": [ { "productSpecCharacteristicValue": [Array], "description": "String", "name": "String", "validFor": {Object}, "valueType": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue | Possible values of the characteristic. Data type: Array of Objects "productSpecCharacteristicValue": [ { "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| prodSpecCharValueUse.description | Description of the characteristic. Data type: String |
| prodSpecCharValueUse.name | Name of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| prodSpecCharValueUse.validFor.endDateTime | End date of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor.startDateTime | Start date of the characteristic. Data type: String |
| prodSpecCharValueUse.valueType | Value type of the characteristic, such as choice or email. |
| validFor | Date range the product offering is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the product offering. Data type: String |
| validFor.startDateTime | Start date of the product offering. Data type: String |
| version | external_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[ ]

{#tmf_prod_cat-GET-prodoffering__table_rqr_2s1_jsb}  

### cURL request

This example retrieves all product offerings.

    curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering" \
    --user 'username':'password'

Response body:

    [
       {
          "id": "24413",
          "name": "Premium SD-WAN Offering New",
          "version": "",
          "internalVersion": "1",
          "internalId": "0199f8e65b430110235d85cced81c7d2",
          "description": "Premium SD-WAN Offering",
          "lastUpdate": "2022-01-27 05:41:16",
          "validFor": {
             "startDateTime": "2021-08-05",
             "endDateTime": "2026-09-04"
          },
          "productOfferingTerm": "not_applicable",
          "productOfferingPrice": [
             {
                "priceType": "recurring",
                "price": {
                   "taxIncludedAmount": {
                      "unit": "JPY",
                      "value": 984.0913
                   }
                }
             },
             {
                "priceType": "nonRecurring",
                "price": {
                   "taxIncludedAmount": {
                      "unit": "GBP",
                      "value": 2434
                   }
                }
             }
          ],
          "productSpecification": {
             "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
             "name": "SD-WAN Service Package",
             "version": "v1",
             "internalVersion": "1",
             "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"
          },
          "prodSpecCharValueUse": [
             {
                "name": "Routing",
                "description": "Routing",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2021-12-15 21:08:20"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Premium",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Base",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Advance",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ],
                "productSpecification": {
                   "id": "39b627aa53702010cd6dddeeff7b1202",
                   "name": "SD-WAN Edge Device",
                   "version": "v1",
                   "internalVersion": "1",
                   "internalId": "39b627aa53702010cd6dddeeff7b1202"
                }
             },
             {
                "name": "WAN Optimization",
                "description": "WAN Optimization",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2021-12-15 21:10:28"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Base",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Advance",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Premium",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ],
                "productSpecification": {
                   "id": "39b627aa53702010cd6dddeeff7b1202",
                   "name": "SD-WAN Edge Device",
                   "version": "v1",
                   "internalVersion": "1",
                   "internalId": "39b627aa53702010cd6dddeeff7b1202"
                }
             },
             {
                "name": "CPE Model",
                "description": "CPE Model",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2021-12-15 21:11:54"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "ISR",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "ASR",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ],
                "productSpecification": {
                   "id": "39b627aa53702010cd6dddeeff7b1202",
                   "name": "SD-WAN Edge Device",
                   "version": "v1",
                   "internalVersion": "1",
                   "internalId": "39b627aa53702010cd6dddeeff7b1202"
                }
             },
             {
                "name": "Security Type",
                "description": "Security Type",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2021-12-30 12:51:13"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Premium",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Advance",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Base",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ],
                "productSpecification": {
                   "id": "a6514bd3534560102f18ddeeff7b1247",
                   "name": "SD-WAN Security",
                   "version": "v1",
                   "internalVersion": "1",
                   "internalId": "a6514bd3534560102f18ddeeff7b1247"
                }
             },
             {
                "name": "CPE Type",
                "description": "CPE Type",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2021-12-15 21:11:16"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Virtual",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Physical",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ],
                "productSpecification": {
                   "id": "39b627aa53702010cd6dddeeff7b1202",
                   "name": "SD-WAN Edge Device",
                   "version": "v1",
                   "internalVersion": "1",
                   "internalId": "39b627aa53702010cd6dddeeff7b1202"
                }
             },
             {
                "name": "Tenancy",
                "description": "Tenancy",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2021-12-15 21:04:24"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "Advance (50 site)",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Base (10 site)",
                      "validFor": {
                         "startDateTime": ""
                      }
                   },
                   {
                      "value": "Premium (>50 sites)",
                      "validFor": {
                         "startDateTime": ""
                      }
                   }
                ],
                "productSpecification": {
                   "id": "216663aa53702010cd6dddeeff7b12b5",
                   "name": "SD-WAN Controller",
                   "version": "v1",
                   "internalVersion": "1",
                   "internalId": "216663aa53702010cd6dddeeff7b12b5"
                }
             }
          ],
          "channel": [
             {
                "id": "e561aae4c3e710105252716b7d40dd8f",
                "name": "Web"
             }
          ],
          "category": {
             "id": "c0ed043653b02010cd6dddeeff7b1277",
             "name": "SD-WAN"
          }
       }
    ]

## Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productOffering/{id} {#ariaid-title7}

Retrieves a product offering.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOffering/{id}

### Supported request parameters {#tmf_prod_cat-GET-prodoffering-id__section_jjg_dr1_jsb}

{#tmf_prod_cat-GET-prodoffering-id__table_apt_nkz_gsb__entry__2}

| Name | Description |
|-|-|
| id | Initial_version of the product offering to retrieve. Located in the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[Table 31. Path parameters]

{#tmf_prod_cat-GET-prodoffering-id__table_apt_nkz_gsb} {#tmf_prod_cat-GET-prodoffering-id__table_pfr_vgy_fsb__entry__2}

| Name | Description |
|-|-|
| fields | List of fields to return in the response. Invalid fields are ignored. Valid fields: * category * channel * description * externalId * id * internalId * internalVersion * lastUpdate * name * productCharacteristic * productOfferingPrice * productOfferingTerm * productSpecification * prodSpecCharValueUse * validFor * version {#tmf_prod_cat-GET-prodoffering-id__ul_irb_sdg_5tb} Default: All fields are returned. Data type: String |
| specification | Filter product offerings by product specification sys_id. Only product offerings with the specified product specification sys_id are returned in the response. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| state | Filter product offerings by state. Only product offerings in the specified state are returned in the response. Accepted values: * archived * draft * published * retired {#tmf_prod_cat-GET-prodoffering-id__ul_ndy_pcb_ccc} Data type: String |
[Table 32. Query parameters]

{#tmf_prod_cat-GET-prodoffering-id__table_pfr_vgy_fsb} {#tmf_prod_cat-GET-prodoffering-id__table_gld_vkz_gsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 33. Request body parameters (JSON)]

{#tmf_prod_cat-GET-prodoffering-id__table_gld_vkz_gsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodoffering-id__table_kqy_wgy_fsb__entry__2}

| Header | Description |
|-|-|
| None |   |
[Table 34. Request headers]

{#tmf_prod_cat-GET-prodoffering-id__table_kqy_wgy_fsb} {#tmf_prod_cat-GET-prodoffering-id__table_tzy_thy_ksb__entry__2}

| Header | Description |
|-|-|
| Content-Type | Data format of the response body. Only supports application/json. |
[Table 35. Response headers]

{#tmf_prod_cat-GET-prodoffering-id__table_tzy_thy_ksb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodoffering-id__table_nxj_ykz_gsb__entry__2}{#tmf_prod_cat-GET-prodoffering-id__entry-200-status-code}{#tmf_prod_cat-GET-prodoffering-id__entry-404-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad request. Possible reasons: * Invalid path parameter * Invalid URI {#tmf_prod_cat-GET-prodoffering-id__ul_rys_1gy_fsb} |
| 404 | Not found. The requested item wasn't found. |
[Table 36. Status codes]

{#tmf_prod_cat-GET-prodoffering-id__table_nxj_ykz_gsb}

### Response body parameters (JSON) {#tmf_prod_cat-GET-prodoffering-id__section_qqr_2s1_jsb}

{#tmf_prod_cat-GET-prodoffering-id__table_rqr_2s1_jsb__entry__2}

| Name | Description |
|-|-|
| category | List of categories that the product belongs to. Data type: Array "category:" [ { "id": "String", "name": "String" } ] |
| category.id | Id of the category. Data type: String |
| category.name | Name of the category. Data type: String |
| channel | Channels to use for selling the product offering. Data type: Array "channel:" [ { "description": "String", "id": "String", "name": "String" } ] |
| channel.description | Description of the channel. Data type: String |
| channel.id | Sys_id of the channel from the Distribution Channel \[sn_prd_pm_distribution_channel\] table. Data type: String |
| channel.name | Name of the channel. Data type: String |
| description | Description of the product offering. Data type: String |
| externalId | external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| href | A relative link to the resource record. Data type: String Default: Blank string |
| id | Required. initial_version or external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalId | initial_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalVersion | Version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| lastUpdate | Date the product offering was last updated. Data type: String |
| lifecycleStatus | Indicates the current lifecycle status of the product offering. Accepted values: * Active * Inactive * Draft {#tmf_prod_cat-GET-prodoffering-id__ul_lj5_gg4_4bc} Data type: String Default: Blank string |
| name | Name of the product offering. Data type: String |
| productCharacteristic | List of product characteristics. Data type: Array "productCharacteristic": [ { "name": "String", "value": "String" } ] |
| productCharacteristic.name | Name of the characteristic. Data type: String |
| productCharacteristic.value | Value of the characteristic. Data type: String |
| productOfferingPrice | Price information for the product offering. Data type: Array "productOfferingPrice": [ { "price": Object, "priceType": "String" } ] |
| productOfferingPrice.price | Price information for the product offering. Data type: Object "price": { "taxIncludedAmount": Object } |
| productOfferingPrice.price.taxIncludedAmount | Price information for the product offering. Data type: Object "taxIncludedAmount": { "unit": "String", "value": "String" } |
| productOfferingPrice.price.taxIncludedAmount.unit | Currency code for the product offering price. Data type: String |
| productOfferingPrice.price.taxIncludedAmount.value | Price of the product offering including tax. Data type: String |
| productOfferingPrice.priceType | Identifies if the product offering price is a one-time or recurring payment. Valid values: * nonRecurring * recurring {#tmf_prod_cat-GET-prodoffering-id__ul_nl4_jqh_hsb} Data type: String |
| productOfferingTerm | Valid contract term length for the product offering. Data type: String |
| productSpecification | Product specification for the product. Data type: Object "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } |
| productSpecification.id | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalId | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalVersion | Version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.version | external_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| prodSpecCharValueUse | Product offering characteristic. Data type: Array "prodSpecCharValueUse": [ { "productSpecCharacteristicValue": Array, "description": "String", "name": "String", "validFor": Object, "valueType": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue | Array containing the possible values of the characteristic. Data type: Array "productSpecCharacteristicValue": [ { "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| prodSpecCharValueUse.description | Description of the characteristic. Data type: String |
| prodSpecCharValueUse.name | Name of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| prodSpecCharValueUse.validFor.endDateTime | End date of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor.startDateTime | Start date of the characteristic. Data type: String |
| prodSpecCharValueUse.valueType | The value type of the characteristic, such as choice or email. |
| validFor | Date range the product offering is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the product offering. Data type: String |
| validFor.startDateTime | Start date of the product offering. Data type: String |
| version | external_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[ ]

{#tmf_prod_cat-GET-prodoffering-id__table_rqr_2s1_jsb}  

### cURL request

This example retrieves a product offering.

    curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering/24413" \
    --user 'username':'password'

Response body:

    {
       "id": "24413",
       "name": "Premium SD-WAN Offering New",
       "description": "Premium SD-WAN Offering",
       "lastUpdate": "2022-01-27 05:41:16",
       "version": "",
       "internalVersion": "2",
       "internalId": "69017a0f536520103b6bddeeff7b127d",
       "validFor": {
          "startDateTime": "2021-08-05",
          "endDateTime": "2026-09-04"
       },
       "productOfferingTerm": "not_applicable",
       "productOfferingPrice": [
          {
             "priceType": "recurring",
             "price": {
                "taxIncludedAmount": {
                   "unit": "JPY",
                   "value": 984.0913
                }
             }
          },
          {
             "priceType": "nonRecurring",
             "price": {
                "taxIncludedAmount": {
                   "unit": "GBP",
                   "value": 2434
                }
             }
          }
       ],
       "productSpecification": {
          "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
          "name": "SD-WAN Service Package",
          "version": "v1",
          "internalVersion": "1",
          "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"
       },
       "prodSpecCharValueUse": [
          {
             "name": "Routing",
             "description": "Routing",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-12-15 21:08:20"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v2",
                "internalVersion": "2",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "WAN Optimization",
             "description": "WAN Optimization",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-12-15 21:10:28"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v2",
                "internalVersion": "2",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "CPE Model",
             "description": "CPE Model",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-12-15 21:11:54"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "ISR",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "ASR",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v2",
                "internalVersion": "2",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "Security Type",
             "description": "Security Type",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-12-30 12:51:13"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "a6514bd3534560102f18ddeeff7b1247",
                "name": "SD-WAN Security",
                "version": "abc",
                "internalVersion": "1",
                "internalId": "a6514bd3534560102f18ddeeff7b1247"
             }
          },
          {
             "name": "CPE Type",
             "description": "CPE Type",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-12-15 21:11:16"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Virtual",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Physical",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "",
                "internalVersion": "2",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "Tenancy",
             "description": "Tenancy",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-12-15 21:04:24"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Advance (50 site)",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Base (10 site)",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Premium (>50 sites)",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "216663aa53702010cd6dddeeff7b12b5",
                "name": "SD-WAN Controller",
                "version": "",
                "internalVersion": "1",
                "internalId": "216663aa53702010cd6dddeeff7b12b5"
             }
          }
       ],
       "channel": [
          {
             "id": "e561aae4c3e710105252716b7d40dd8f",
             "name": "Web"
          }
       ],
       "category": {
          "id": "c0ed043653b02010cd6dddeeff7b1277",
          "name": "SD-WAN"
       }
    }

## Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productSpecification {#ariaid-title8}

Retrieves all product specifications.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productSpecification

### Supported request parameters {#tmf_prod_cat-GET-prodspec__section_fcz_2t1_jsb}

{#tmf_prod_cat-GET-prodspec__table_ofr_vgy_fsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 37. Path parameters]

{#tmf_prod_cat-GET-prodspec__table_ofr_vgy_fsb} {#tmf_prod_cat-GET-prodspec__table_pfr_vgy_fsb__entry__2}

| Name | Description |
|-|-|
| fields | List of fields to return in the response. Invalid fields are ignored. Valid fields: * description * externalId * id * internalId * internalVersion * lastUpdate * name * productSpecCharacteristic * productSpecificationRelationship * resourceSpecification * serviceSpecification * validFor * version {#tmf_prod_cat-GET-prodspec__ul_n1h_htz_54b} Default: All fields are returned. Data type: String |
| limit | Maximum number of records to return. For requests that exceed this number of records, use the offset parameter to paginate record retrieval. Default: 20 Maximum: 100 Data type: Number |
| offset | Starting 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. Default: 0 Data type: Number |
| state | Filter product specifications by state. Only product specifications in the specified state are returned in the response. Accepted values: * archived * draft * published * retired {#tmf_prod_cat-GET-prodspec__ul_ngb_qcb_ccc} Data type: String |
[Table 38. Query parameters]

{#tmf_prod_cat-GET-prodspec__table_pfr_vgy_fsb} {#tmf_prod_cat-GET-prodspec__table_gld_vkz_gsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 39. Request body parameters (JSON)]

{#tmf_prod_cat-GET-prodspec__table_gld_vkz_gsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodspec__table_kqy_wgy_fsb__entry__2}

| Header | Description |
|-|-|
| None |   |
[Table 40. Request headers]

{#tmf_prod_cat-GET-prodspec__table_kqy_wgy_fsb} {#tmf_prod_cat-GET-prodspec__table_pkr_rgm_lsb__entry__2}{#tmf_prod_cat-GET-prodspec__content-range-row}{#tmf_prod_cat-GET-prodspec__content-type-row}{#tmf_prod_cat-GET-prodspec__links-pagination-row}{#tmf_prod_cat-GET-prodspec__x-total-count-descr}

| Header | Description |
|-|-|
| Content-Range | Specifies the range of content returned in a paginated call. For example, if `offset=2` and `limit=3`, the value of the Content-Range header is `items 3-5`. |
| Content-Type | Data format of the response body. Only supports application/json. |
| Link | Contains the following links to navigate through query results. * first * last * next * previous {#tmf_prod_cat-GET-prodspec__ul_zzk_sdm_lsb} |
| X-Total-Count | For paginated queries, this header specifies the total number of records available on the server. |
[Table 41. Response headers]

{#tmf_prod_cat-GET-prodspec__table_pkr_rgm_lsb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodspec__table_xss_rcm_lsb__entry__2}{#tmf_prod_cat-GET-prodspec__tmf-get-status-200-p}{#tmf_prod_cat-GET-prodspec__tmf-get-status-206-entry}{#tmf_prod_cat-GET-prodspec__tmf-get-status-400-entry}{#tmf_prod_cat-GET-prodspec__tmf-get-status-404-entry}

| Status code | Description |
|-|-|
| 200 | Request successfully processed. Full resource returned in response (no pagination). |
| 206 | Partial resource returned in response (with pagination). |
| 400 | Bad request. Possible reasons: * Invalid path parameter * Invalid URI {#tmf_prod_cat-GET-prodspec__ul_rys_1gy_fsb} |
| 404 | Record not found. No records matching the query parameters are found in the table. |
[Table 42. Status codes]

{#tmf_prod_cat-GET-prodspec__table_xss_rcm_lsb}

### Response body parameters (JSON) {#tmf_prod_cat-GET-prodspec__section_ymb_ccb_jsb}

{#tmf_prod_cat-GET-prodspec__table_zmb_ccb_jsb__entry__2}

| Name | Description |
|-|-|
| description | Description of the specification. Data type: String |
| externalId | Required. External_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| href | Relative link to the resource record. Data type: String Default: Blank string |
| id | Initial_version or external_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalId | Required. Initial_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalVersion | Version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| isBundle | Flag that indicates whether productSpecification represents a single product or a bundle of products. Valid values: * true: The product specification is a product bundle and contains multiple products. * false: The product specification contains a single product. {#tmf_prod_cat-GET-prodspec__ul_rry_rz4_4bc} Data type: Boolean Default: false |
| lastUpdate | Date the specification was last updated. Data type: String |
| lifecycleStatus | Current lifecycle status of the product specification. Accepted values: * Active * Inactive * Draft {#tmf_prod_cat-GET-prodspec__ul_lj5_gg4_4bc} Data type: String Default: Blank string |
| name | Name of the specification. Data type: String |
| productSpecCharacteristic | Specification characteristic. Data type: Array of Objects "productSpecCharacteristic": [ { "description": "String", "name": "String", "productSpecCharacteristicValue": [Array], "validFor": {Object}, "valueType": "String" } ] |
| productSpecCharacteristic.description | Description of the characteristic. Data type: String |
| productSpecCharacteristic.name | Name of the characteristic. Data type: String |
| productSpecCharacteristic.productSpecCharacteristicValue | List of possible values of the characteristic. Data type: Array of Objects "productSpecCharacteristicValue": [ { "value": "String" } ] |
| productSpecCharacteristic.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| productSpecCharacteristic.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecCharacteristic.validFor.endDateTime | End date of the characteristic. Data type: String |
| productSpecCharacteristic.validFor.startDateTime | Start date of the characteristic. Data type: String |
| productSpecCharacteristic.valueType | Value type of the characteristic, such as choice or email. Data type: String |
| productSpecificationRelationship | This specification's relationships to other product specifications. Data type: Array of Objects "productSpecificationRelationship": [ { "id": "String", "type": "String", "validFor": {Object} } ] |
| productSpecificationRelationship.id | ID of the related specification. Data type: String |
| productSpecificationRelationship.type | Type of relationship. Data type: String |
| productSpecificationRelationship.validFor | Date range the relationship is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecificationRelationship.validFor.endDateTime | End date of the relationship. Data type: String |
| productSpecificationRelationship.validFor.startDateTime | Start date of the relationship. Data type: String |
| resourceSpecification | List of resource specifications related to this product specification. Data type: Array of Objects "resourceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| resourceSpecification.id | Initial_version or external_id of the resource specification. Located in the sys_id or external_id field of the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalId | Initial_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalVersion | Version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.name | Name of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.version | External_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| serviceSpecification | List of service specifications related to this product specification. Data type: Array of Objects "serviceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| serviceSpecification.id | Initial_version or external_id of the service specification. Located in the sys_id or external_id field of the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalId | Initial_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalVersion | Version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.version | External_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| validFor | Date range the specification is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the specification. Data type: String |
| validFor.startDateTime | Start date of the specification. Data type: String |
| version | External_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[ ]

{#tmf_prod_cat-GET-prodspec__table_zmb_ccb_jsb}  

### cURL request

This example retrieves all product specifications.

    curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification" \
    --user 'username':'password'

Response body:

    [
       {
          "id": "0c47f2257441c110f877ca57242ff9bd",
          "name": "SD-WAN My Device",
          "version": "v1",
          "internalVersion": "1",
          "internalId": "0c47f2257441c110f877ca57242ff9bd",
          "description": "This is my product specification ...",
          "lastUpdate": "2022-01-14 17:57:23",
          "validFor": {
             "startDateTime": "2022-01-11",
             "endDateTime": "2027-01-10"
          },
          "serviceSpecification": [
             {
                "id": "e23ae2d01bb420106ba59acf034bcb56",
                "name": "IP Sec Tunnel",
                "version": "v1",
                "internalVersion": "1",
                "internalId": "e23ae2d01bb420106ba59acf034bcb56"
             }
          ],
          "productSpecificationRelationship": [
             {
                "id": "a6514bd3534560102f18ddeeff7b1247",
                "name": "SD-WAN Security",
                "version": "1",
                "type": "Service",
                "validFor": {
                   "startDateTime": "2022-01-11",
                   "endDateTime": "2027-02-12"
                }
             }
          ],
          "resourceSpecification": [
             {
                "id": "493fa60b536520103b6bddeeff7b12b6",
                "name": "Customer Premise SD-WAN Router",
                "version": "v1",
                "internalVersion": "1",
                "internalId": "493fa60b536520103b6bddeeff7b12b6"
             }
          ],
          "productSpecCharacteristic": [
             {
                "name": "New characteristic",
                "description": "This product has new spec characteristic.",
                "valueType": "choice",
                "validFor": {
                   "startDatetime": "2022-01-13 06:47:43"
                },
                "productSpecCharacteristicValue": [
                   {
                      "value": "TestValue",
                      "validFor": {
                         "startDateTime": "2022-01-11"
                      }
                   }
                ]
             }
          ]
       }
    ]

## Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productSpecification/{id} {#ariaid-title9}

Retrieves a specified product specification.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productSpecification/{id}

### Supported request parameters {#tmf_prod_cat-GET-prodspec-id__section_jjg_dr1_jsb}

{#tmf_prod_cat-GET-prodspec-id__table_apt_nkz_gsb__entry__2}

| Name | Description |
|-|-|
| specificationId | The initial_version of the product specification to retrieve. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[Table 43. Path parameters]

{#tmf_prod_cat-GET-prodspec-id__table_apt_nkz_gsb} {#tmf_prod_cat-GET-prodspec-id__table_pfr_vgy_fsb__entry__2}

| Name | Description |
|-|-|
| fields | List of fields to return in the response. Invalid fields are ignored. Valid fields: * description * externalId * id * internalId * internalVersion * lastUpdate * name * productSpecCharacteristic * productSpecificationRelationship * resourceSpecification * serviceSpecification * validFor * version {#tmf_prod_cat-GET-prodspec-id__ul_n1h_htz_54b} Default: All fields are returned. Data type: String |
| state | Filter product specifications by state. Only product specifications in the specified state are returned in the response. Accepted values: * archived * draft * published * retired {#tmf_prod_cat-GET-prodspec-id__ul_ngb_qcb_ccc} Data type: String |
[Table 44. Query parameters]

{#tmf_prod_cat-GET-prodspec-id__table_pfr_vgy_fsb} {#tmf_prod_cat-GET-prodspec-id__table_gld_vkz_gsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 45. Request body parameters (JSON)]

{#tmf_prod_cat-GET-prodspec-id__table_gld_vkz_gsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodspec-id__table_kqy_wgy_fsb__entry__2}

| Header | Description |
|-|-|
| None |   |
[Table 46. Request headers]

{#tmf_prod_cat-GET-prodspec-id__table_kqy_wgy_fsb} {#tmf_prod_cat-GET-prodspec-id__table_tzy_thy_ksb__entry__2}{#tmf_prod_cat-GET-prodspec-id__content_type-JSON-only-entry-RESTAPI}

| Header | Description |
|-|-|
| Content-Type | Data format of the request body. Only supports application/json. |
[Table 47. Response headers]

{#tmf_prod_cat-GET-prodspec-id__table_tzy_thy_ksb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-GET-prodspec-id__table_nxj_ykz_gsb__entry__2}{#tmf_prod_cat-GET-prodspec-id__entry-200-status-code}{#tmf_prod_cat-GET-prodspec-id__entry-404-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad request. Possible reasons: * Invalid path parameter * Invalid URI {#tmf_prod_cat-GET-prodspec-id__ul_rys_1gy_fsb} |
| 404 | Not found. The requested item wasn't found. |
[Table 48. Status codes]

{#tmf_prod_cat-GET-prodspec-id__table_nxj_ykz_gsb}

### Response body parameters (JSON) {#tmf_prod_cat-GET-prodspec-id__section_ymb_ccb_jsb}

{#tmf_prod_cat-GET-prodspec-id__table_zmb_ccb_jsb__entry__2}

| Name | Description |
|-|-|
| description | Description of the specification. Data type: String |
| externalId | Required. External_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| href | Relative link to the resource record. Data type: String Default: Blank string |
| id | Initial_version or external_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalId | Required. Initial_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalVersion | Version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| isBundle | Flag that indicates whether productSpecification represents a single product or a bundle of products. Valid values: * true: The product specification is a product bundle and contains multiple products. * false: The product specification contains a single product. {#tmf_prod_cat-GET-prodspec-id__ul_rry_rz4_4bc} Data type: Boolean Default: false |
| lastUpdate | Date the specification was last updated. Data type: String |
| lifecycleStatus | Indicates the current lifecycle status of the product specification. Valid values: * Active * Inactive * Draft {#tmf_prod_cat-GET-prodspec-id__ul_lj5_gg4_4bc} Data type: String Default: Blank string |
| name | Name of the specification. Data type: String |
| productSpecCharacteristic | Specification characteristics. Data type: Array of Objects "productSpecCharacteristic": [ { "description": "String", "name": "String", "productSpecCharacteristicValue": [Array], "validFor": {Object}, "valueType": "String" } ] |
| productSpecCharacteristic.description | Description of the characteristic. Data type: String |
| productSpecCharacteristic.name | Name of the characteristic. Data type: String |
| productSpecCharacteristic.productSpecCharacteristicValue | Possible values of the characteristic. Data type: Array of Objects "productSpecCharacteristicValue": [ { "value": "String" } ] |
| productSpecCharacteristic.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| productSpecCharacteristic.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecCharacteristic.validFor.endDateTime | End date of the characteristic. Data type: String |
| productSpecCharacteristic.validFor.startDateTime | Start date of the characteristic. Data type: String |
| productSpecCharacteristic.valueType | Value type of the characteristic, such as choice or email. Data type: String |
| productSpecificationRelationship | This specification's relationships to other product specifications. Data type: Array of Objects "productSpecificationRelationship": [ { "id": "String", "type": "String", "validFor": {Object} } ] |
| productSpecificationRelationship.id | ID of the related specification. Data type: String |
| productSpecificationRelationship.type | Type of relationship. Data type: String |
| productSpecificationRelationship.validFor | Date range that the relationship is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecificationRelationship.validFor.endDateTime | End date of the relationship. Data type: String |
| productSpecificationRelationship.validFor.startDateTime | Start date of the relationship. Data type: String |
| resourceSpecification | List of resource specifications related to this product specification. Data type: Array of Objects "resourceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| resourceSpecification.id | Initial_version or external_id of the resource specification. Located in the sys_id or external_id field of the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalId | Initial_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalVersion | Version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.name | Name of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.version | External_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| serviceSpecification | List of service specifications related to this product specification. Data type: Array of Objects "serviceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| serviceSpecification.id | Initial_version or external_id of the service specification. Located in the sys_id or external_id field of the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalId | Initial_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalVersion | Version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.version | External_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| validFor | Date range that the specification is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the specification. Data type: String |
| validFor.startDateTime | Start date of the specification. Data type: String |
| version | External_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[ ]

{#tmf_prod_cat-GET-prodspec-id__table_zmb_ccb_jsb}  

### cURL request

This example retrieves a product specification.

    curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification/0c47f2257441c110f877ca57242ff9bd" \
    --user 'username':'password'

Response body:

    {
       "id": "0c47f2257441c110f877ca57242ff9bd",
       "name": "SD-WAN My Device",
       "version": "v1",
       "internalVersion": "1",
       "internalId": "0c47f2257441c110f877ca57242ff9bd",
       "description": "This is my product specification ...",
       "lastUpdate": "2022-01-14 17:57:23",
       "validFor": {
          "startDateTime": "2022-01-11",
          "endDateTime": "2027-01-10"
       },
       "serviceSpecification": [
          {
             "id": "e23ae2d01bb420106ba59acf034bcb56",
             "name": "IP Sec Tunnel",
             "version": "v1",
             "internalVersion": "1",
             "internalId": "e23ae2d01bb420106ba59acf034bcb56"
          }
       ],
       "productSpecificationRelationship": [
          {
             "id": "a6514bd3534560102f18ddeeff7b1247",
             "name": "SD-WAN Security",
             "version": "v1",
             "internalVersion": "1",
             "internalId": " a6514bd3534560102f18ddeeff7b1247",
             "type": "Service",
             "validFor": {
                "startDateTime": "2022-01-11",
                "endDateTime": "2027-02-12"
             }
          }
       ],
       "resourceSpecification": [
          {
             "id": "493fa60b536520103b6bddeeff7b12b6",
             "name": "Customer Premise SD-WAN Router",
             "version": "v1",
             "internalVersion": "1",
             "internalId": "493fa60b536520103b6bddeeff7b12b6"
          }
       ],
       "productSpecCharacteristic": [
          {
             "name": "New characteristic",
             "description": "This product has new spec characteristic.",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2022-01-13 06:47:43"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "TestValue",
                   "validFor": {
                      "startDateTime": "2022-01-11"
                   }
                }
             ]
          }
       ]
    }

## Product Catalog Open API - PATCH /sn_tmf_api/catalogmanagement/productOffering/{id} {#ariaid-title10}

Updates the specified product offering.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOffering/{id}

### Supported request parameters

{#tmf_prod_cat-PATCH-prodOffering-id__entry__2}

| Name | Description |
|-|-|
| id | Sys_id of the product offering to update. Located in the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[Table 49. Path parameters]

{#tmf_prod_cat-PATCH-prodOffering-id__entry__6}

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

{#tmf_prod_cat-PATCH-prodOffering-id__table_vxh_xvf_hsb__entry__2}

| Name | Description |
|-|-|
| category | List of categories that the product belongs to. Located in the Category \[sc_category\] table. Data type: Array of Objects "category:" [ { "id": "String", "name": "String" } ] |
| category.id | Required if using the category parameter. ID of the category. Located in the Category \[sc_category\] table. Data type: String |
| category.name | Name of the category. Data type: String Default: Blank string |
| channel | Required. Channels to use for selling the product offering. Data type: Array of Objects "channel:" [ { "description": "String", "id": "String", "name": "String" } ] |
| channel.description | Description of the channel. Data type: String Default: Blank string |
| channel.id | Required. Sys_id of the channel from the Distribution Channel \[sn_prd_pm_distribution_channel\] table. Data type: String |
| channel.name | Name of the channel. Data type: String Default: Blank string |
| description | Required. Description of the product offering. Data type: String |
| externalId | external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| id | Required. initial_version or external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalId | initial_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalVersion | Version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| lastUpdate | Date the product offering was last updated. Format: YYYY-MM-DD 00:00:00 Data type: String Default: Blank string |
| name | Required. Name of the product offering. Data type: String |
| productCharacteristic | List of product characteristics. Data type: Array of Objects "productCharacteristic": [ { "name": "String", "value": "String" } ] |
| productCharacteristic.name | Name of the characteristic. Data type: String Default: Blank string |
| productCharacteristic.value | Value of the characteristic. Data type: String Default: Blank string |
| productOfferingPrice | Price information for the product offering. Data type: Array of Objects "productOfferingPrice": [ { "price": {Object}, "priceType": "String" } ] |
| productOfferingPrice.price | Price information for the product offering. Data type: Object "price": { "taxIncludedAmount": {Object} } |
| productOfferingPrice.price.taxIncludedAmount | Price information for the product offering. Data type: Object "taxIncludedAmount": { "unit": "String", "value": "String" } |
| productOfferingPrice.price.taxIncludedAmount.unit | Currency code for the product offering price. Data type: String Default: Blank string |
| productOfferingPrice.price.taxIncludedAmount.value | Price of the product offering including tax. Use a decimal value, for example 123.45. Data type: String Default: Blank string |
| productOfferingPrice.priceType | The type of product offering type. Required if using the productOfferingPrice parameter. Valid values: * nonRecurring (one-time) * recurring {#tmf_prod_cat-PATCH-prodOffering-id__ul_g3z_bcj_4bc} Data type: String |
| productOfferingTerm | Valid contract term length in months for the product offering. Data type: String Default: Blank string |
| productSpecification | Required. Product specification for the product. Data type: Object "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } |
| productSpecification.id | Required. Initial_version or external_id of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalId | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalVersion | Version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.version | external_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| prodSpecCharValueUse | Characteristics of the product offering. Data type: Array of Objects "prodSpecCharValueUse": [ { "productSpecCharacteristicValue": [Array], "description": "String", "name": "String", "validFor": {Object}, "valueType": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue | Array containing the possible values of the characteristic. Data type: Array of objects "productSpecCharacteristicValue": [ { "validFor": { "startDateTime": "String" }, "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor | The date and time of when the characteristic is valid. Data type: Object "validFor": { "startDateTime": "String" } |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor.startDateTime | Start date and time of when the characteristic is valid. Format: YYYY-MM-DD 00:00:00 Data type: String |
| prodSpecCharValueUse.description | Description of the characteristic. Data type: String |
| prodSpecCharValueUse.name | Required. Name of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| prodSpecCharValueUse.validFor.endDateTime | End date and time of the characteristic. Format: YYYY-MM-DD 00:00:00 Data type: String |
| prodSpecCharValueUse.validFor.startDateTime | Start date and time of the characteristic. Format: YYYY-MM-DD 00:00:00 Data type: String |
| prodSpecCharValueUse.valueType | Value type of the characteristic, such as choice or email. Data type: String |
| validFor | Required. Date range the product offering is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | Required. End date and time of the product offering. Format: YYYY-MM-DD 00:00:00 Data type: String |
| validFor.startDateTime | Required. Start date and time of the product offering. Format: YYYY-MM-DD 00:00:00 Data type: String |
| version | external_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[Table 51. Request body parameters (JSON)]

{#tmf_prod_cat-PATCH-prodOffering-id__table_vxh_xvf_hsb}

### Response body parameters (JSON) {#tmf_prod_cat-PATCH-prodOffering-id__section_cjr_vbj_4bc}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-PATCH-prodOffering-id__entry__100}{#tmf_prod_cat-PATCH-prodOffering-id__accept-RESTAPI}{#tmf_prod_cat-PATCH-prodOffering-id__content_type-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
| Content-Type | Data format of the request body. Supported types: application/json or application/xml. Default: application/json |
[Table 52. Request headers]

{#tmf_prod_cat-PATCH-prodOffering-id__entry__106}

| Header | Description |
|-|-|
| Content-Type | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
[Table 53. Response headers]

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-PATCH-prodOffering-id__entry__110}{#tmf_prod_cat-PATCH-prodOffering-id__entry-200-status-code}{#tmf_prod_cat-PATCH-prodOffering-id__entry-400-status-code}{#tmf_prod_cat-PATCH-prodOffering-id__entry-404-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. A bad request type or malformed request was detected. |
| 404 | Not found. The requested item wasn't found. |
[Table 54. Status codes]

### Response body parameters (JSON or XML)

{#tmf_prod_cat-PATCH-prodOffering-id__table_bts_ybj_4bc__entry__2}

| Name | Description |
|-|-|
| category | List of categories that the product belongs to. Data type: Array of Objects "category:" [ { "id": "String", "name": "String" } ] |
| category.id | ID of the category. Data type: String |
| category.name | Name of the category. Data type: String |
| channel | Channels to use for selling the product offering. Data type: Array of Objects "channel:" [ { "description": "String", "id": "String", "name": "String" } ] |
| channel.description | Description of the channel. Data type: String |
| channel.id | Sys_id of the channel from the Distribution Channel \[sn_prd_pm_distribution_channel\] table. Data type: String |
| channel.name | Name of the channel. Data type: String |
| description | Description of the product offering. Data type: String |
| externalId | external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| href | A relative link to the resource record. Data type: String Default: Blank string |
| id | Required. initial_version or external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalId | initial_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalVersion | Version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| lastUpdate | Date the product offering was last updated. Data type: String |
| liftcycleStatus | Indicates the current lifecycle status. Accepted values: * Active * Draft * Inactive {#tmf_prod_cat-PATCH-prodOffering-id__ul_lj5_gg4_4bc} Data type: String Default: Blank string |
| name | Name of the product offering. Data type: String |
| productCharacteristic | List of product characteristics. Data type: Array of Objects "productCharacteristic": [ { "name": "String", "value": "String" } ] |
| productCharacteristic.name | Name of the characteristic. Data type: String |
| productCharacteristic.value | Value of the characteristic. Data type: String |
| productOfferingPrice | Price information for the product offering. Data type: Array of Objects "productOfferingPrice": [ { "price": {Object}, "priceType": "String" } ] |
| productOfferingPrice.price | Price information for the product offering. Data type: Object "price": { "taxIncludedAmount": {Object} } |
| productOfferingPrice.price.taxIncludedAmount | Price information for the product offering. Data type: Object "taxIncludedAmount": { "unit": "String", "value": "String" } |
| productOfferingPrice.price.taxIncludedAmount.unit | Currency code for the product offering price. Data type: String |
| productOfferingPrice.price.taxIncludedAmount.value | Price of the product offering including tax. Data type: String |
| productOfferingPrice.priceType | Product offering price type, one-time or recurring payment.Possible values: * nonRecurring (one-time) * recurring {#tmf_prod_cat-PATCH-prodOffering-id__ul_cts_ybj_4bc} Data type: String |
| productOfferingTerm | Valid contract term length for the product offering. Data type: String |
| productSpecification | Product specification for the product. Data type: Object "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } |
| productSpecification.id | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalId | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalVersion | Version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.version | external_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| prodSpecCharValueUse | Product offering characteristics. Data type: Array of Objects "prodSpecCharValueUse": [ { "productSpecCharacteristicValue": [Array], "description": "String", "name": "String", "validFor": {Object} "productSpecCharacteristicValue": [Array], "valueType": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue | Array containing the possible values of the characteristic. Data type: Array of objects "productSpecCharacteristicValue": [ { "validFor": { "startDateTime": "String" }, "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor | The date and time of when the characteristic is valid. Data type: Object "validFor": { "startDateTime": "String" } |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor.startDateTime | Start date and time of when the characteristic is valid. Format: YYYY-MM-DD 00:00:00 Data type: String |
| prodSpecCharValueUse.description | Description of the characteristic. Data type: String |
| prodSpecCharValueUse.name | Name of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| prodSpecCharValueUse.validFor.endDateTime | End date of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor.startDateTime | Start date of the characteristic. Data type: String |
| prodSpecCharValueUse.valueType | Value type of the characteristic, such as choice or email. |
| validFor | Date range the product offering is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the product offering. Data type: String |
| validFor.startDateTime | Start date of the product offering. Data type: String |
| version | external_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[ ]

{#tmf_prod_cat-PATCH-prodOffering-id__table_bts_ybj_4bc}  

### cURL request

The following example updates the product offering with ID d6f8d9995b020210235d85cced81c7eb with information provided in the request body.

    curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOffering/d6f8d9995b020210235d85cced81c7eb" \ 
    --request PATCH\ 
    --header "Accept:application/json" \ 
    --user 'username':'password'
    --data '{
      "name": "Offering 1",
      "displayName": "Offering 1",
      "description": "Offering 1 desc",
      "lastUpdate": "2024-04-01 16:05:19",
      "version": "Offering 1 EXTV",
      "validFor": {
        "startDateTime": "2028-02-29",
        "endDateTime": "2033-03-30"
      },
      "productOfferingTerm": "12_months",
      "productOfferingPrice": [
        {
          "priceType": "recurring",
          "price": {
            "taxIncludedAmount": {
              "unit": "USD",
              "value": 632.1483
            }
          }
        },
        {
          "priceType": "nonRecurring",
          "price": {
            "taxIncludedAmount": {
              "unit": "USD",
              "value": 1264.2966
            }
          }
        }
      ],
      "productSpecification": {
        "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
        "name": "SD-WAN Service Package",
        "internalVersion": "3"
      },
      "prodSpecCharValueUse": [
        {
          "name": "Bandwidth",
          "description": "Bandwidth",
          "valueType": "choice",
          "validFor": {
            "startDatetime": "2026-12-06 02:32:11"
          },
          "productSpecCharacteristicValue": [
            {
              "value": "1 Gbps",
              "validFor": {
                "startDateTime": ""
              }
            },
            {
              "value": "5 Gbps",
              "validFor": {
                "startDateTime": ""
              }
            },
            {
              "value": "2 Gbps",
              "validFor": {
                "startDateTime": ""
              }
            },
            {
              "value": "500 Mbps",
              "validFor": {
                "startDateTime": ""
              }
            }
          ],
          "productSpecification": {
            "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
            "name": "SD-WAN Service Package",
            "internalVersion": "3"
          }
        }
      ],
      "channel": [
        {
          "id": "e561aae4c3e710105252716b7d40dd8f",
          "name": "Web"
        }
      ],
      "category": [
        {
          "id": "13e305a143b631105029d1529ab8f267",
          "name": "SD-WAN_all_offers"
        }
      ]
    }'

Response body:

    {
      "result": {
        "name": "Offering 1",
        "displayName": "Offering 1",
        "description": "Offering 1 desc",
        "lastUpdate": "2024-04-01 16:05:19",
        "version": "Offering 1 EXTV",
        "validFor": {
          "startDateTime": "2028-02-29",
          "endDateTime": "2033-03-30"
        },
        "productOfferingTerm": "12_months",
        "productOfferingPrice": [
          {
            "priceType": "recurring",
            "price": {
              "taxIncludedAmount": {
                "unit": "USD",
                "value": 632.1483
              }
            }
          },
          {
            "priceType": "nonRecurring",
            "price": {
              "taxIncludedAmount": {
                "unit": "USD",
                "value": 1264.2966
              }
            }
          }
        ],
        "productSpecification": {
          "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
          "name": "SD-WAN Service Package",
          "internalVersion": "3",
          "sys_id": "79fa17da775131108e191e599a5a997b",
          "version": "",
          "status": "published",
          "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"
        },
        "prodSpecCharValueUse": [
          {
            "name": "Bandwidth",
            "description": "Bandwidth",
            "valueType": "choice",
            "validFor": {
              "startDatetime": "2026-12-06 02:32:11"
            },
            "productSpecCharacteristicValue": [
              {
                "value": "1 Gbps",
                "validFor": {
                  "startDateTime": ""
                }
              },
              {
                "value": "5 Gbps",
                "validFor": {
                  "startDateTime": ""
                }
              },
              {
                "value": "2 Gbps",
                "validFor": {
                  "startDateTime": ""
                }
              },
              {
                "value": "500 Mbps",
                "validFor": {
                  "startDateTime": ""
                }
              }
            ],
            "productSpecification": {
              "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
              "name": "SD-WAN Service Package",
              "internalVersion": "3",
              "version": "",
              "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"
            }
          }
        ],
        "channel": [
          {
            "id": "e561aae4c3e710105252716b7d40dd8f",
            "name": "Web"
          }
        ],
        "category": [
          {
            "id": "13e305a143b631105029d1529ab8f267",
            "name": "SD-WAN_all_offers"
          }
        ],
        "href": "/api/sn_tmf_api/catalogmanagement/productOffering/d6f8d9995b020210235d85cced81c7eb"
      }
    }

## Product Catalog Open API - PATCH /sn_tmf_api/catalogmanagement/productSpecification/{id} {#ariaid-title11}

Updates the specified product specification.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productSpecification/{id}

### Supported request parameters

{#tmf_prod_order-PATCH-productSpec-id__entry__2}

| Name | Description |
|-|-|
| id | Sys_id of the product offering to update. Located in the Product Specification\[sn_prd_pm_product_specification\] table. Data type: String |
[Table 55. Path parameters]

{#tmf_prod_order-PATCH-productSpec-id__entry__6}

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

{#tmf_prod_order-PATCH-productSpec-id__entry__10}

| Name | Description |
|-|-|
| description | Required. Description of the specification. Data type: String |
| externalId | Required. External_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| id | Initial_version or external_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalId | Required. Initial_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalVersion | Version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| isBundle | Flag that indicates whether productSpecification represents a single product or a bundle of products. Valid values: * true: The product specification is a product bundle and contains multiple products. * false: The product specification contains a single product. {#tmf_prod_order-PATCH-productSpec-id__ul_rry_rz4_4bc} Data type: Boolean Default: false |
| lastUpdate | Date the specification was last updated. Data type: String Default: Blank string |
| name | Required. Name of the specification. Data type: String |
| productSpecCharacteristic | Specification characteristic. Data type: Array of Objects "productSpecCharacteristic": [ { "description": "String", "name": "String", "productSpecCharacteristicValue": [Array], "validFor": {Object}, "valueType": "String" } ] |
| productSpecCharacteristic.description | Description of the characteristic. Data type: String |
| productSpecCharacteristic.name | Required. Name of the characteristic. Data type: String |
| prodSpecCharValueUse.productSpecCharacteristicValue | Array containing the possible values of the characteristic. Data type: Array of objects "productSpecCharacteristicValue": [ { "validFor": { "startDateTime": "String" }, "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor | The date and time of when the characteristic is valid. Data type: Object "validFor": { "startDateTime": "String" } |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor.startDateTime | Start date and time of when the characteristic is valid. Format: YYYY-MM-DD 00:00:00 Data type: String |
| productSpecCharacteristic.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecCharacteristic.validFor.endDateTime | End date and time of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String |
| productSpecCharacteristic.validFor.startDateTime | Start date and time of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String |
| productSpecCharacteristic.valueType | The value type of the characteristic, such as choice or email. Data type: String |
| productSpecificationRelationship | This specification's relationships to other product specifications. Data type: Array of Objects "productSpecificationRelationship": [ { "id": "String", "type": "String", "validFor": Object } ] |
| productSpecificationRelationship.id | Id of the related specification. Data type: String |
| productSpecificationRelationship.type | Required if using the productSpecificationRelationship parameter. Type of relationship. Valid values: * bundles * composed_of {#tmf_prod_order-PATCH-productSpec-id__ul_kjr_xnx_fsb} Data type: String |
| productSpecificationRelationship.validFor | Date range the relationship is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecificationRelationship.validFor.endDateTime | End date of the relationship. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String |
| productSpecificationRelationship.validFor.startDateTime | Start date of the relationship. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String |
| resourceSpecification | Required. Array of resource specifications related to this product specification. Data type: Array of Objects "resourceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| resourceSpecification.id | Required. Initial_version or external_id of the resource specification. Located in the sys_id or external_id field of the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalId | Initial_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalVersion | Version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.name | Name of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.version | External_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| serviceSpecification | List of service specifications related to this product specification. Data type: Array of Objects "serviceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| serviceSpecification.id | Initial_version or external_id of the service specification. Located in the sys_id or external_id field of the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalId | Initial_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalVersion | Version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.version | External_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| validFor | Required. Date range the specification is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date and time of the specification. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String |
| validFor.startDateTime | Start date and time of the specification. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String |
| version | External_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[Table 57. Request body parameters (JSON)]

### Headers {#tmf_prod_order-PATCH-productSpec-id__section_rbn_cdj_4bc}

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_order-PATCH-productSpec-id__table_kqy_wgy_fsb__entry__2}

| Header | Description |
|-|-|
| Content-Type | Data format of the request body. Supported types: application/json or application/xml. Default: application/json |
[Table 58. Request headers]

{#tmf_prod_order-PATCH-productSpec-id__table_kqy_wgy_fsb} {#tmf_prod_order-PATCH-productSpec-id__table_tzy_thy_ksb__entry__2}

| Header | Description |
|-|-|
| Content-Type | Data format of the response body. Only supports application/json. |
[Table 59. Response headers]

{#tmf_prod_order-PATCH-productSpec-id__table_tzy_thy_ksb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_order-PATCH-productSpec-id__table_nxj_ykz_gsb__entry__2}{#tmf_prod_order-PATCH-productSpec-id__entry-404-status-code}

| Status code | Description |
|-|-|
| 200 | Request successfully processed. |
| 400 | Bad request. Possible reasons: * Empty payload. * Invalid payload. Mandatory field missing: \<field name\> {#tmf_prod_order-PATCH-productSpec-id__ul_rys_1gy_fsb} |
| 404 | Not found. The requested item wasn't found. |
[Table 60. Status codes]

{#tmf_prod_order-PATCH-productSpec-id__table_nxj_ykz_gsb}

### Response body parameters (JSON or XML)

{#tmf_prod_order-PATCH-productSpec-id__table_xj1_jcj_4bc__entry__2}

| Name | Description |
|-|-|
| description | Description of the specification. Data type: String |
| href | A relative link to the resource record. Data type: String |
| id | Initial_version or external_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalId | Required. Initial_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalVersion | Version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| lastUpdate | Date the specification was last updated. Format: YYYY-MM-DD 00:00:00. Data type: String |
| name | Name of the specification. Data type: String |
| productSpecCharacteristic | Characteristics of the specification. Data type: Array of Objects "productSpecCharacteristic": [ { "description": "String", "name": "String", "productSpecCharacteristicValue": Array, "validFor": Object, "valueType": "String" } ] |
| productSpecCharacteristic.description | Description of the characteristic. Data type: String |
| productSpecCharacteristic.name | Name of the characteristic. Data type: String |
| prodSpecCharValueUse.productSpecCharacteristicValue | Array containing the possible values of the characteristic. Data type: Array of objects "productSpecCharacteristicValue": [ { "validFor": { "startDateTime": "String" }, "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor | The date and time of when the characteristic is valid. Data type: Object "validFor": { "startDateTime": "String" } |
| prodSpecCharValueUse.productSpecCharacteristicValue.validFor.startDateTime | Start date and time of when the characteristic is valid. Format: YYYY-MM-DD 00:00:00 Data type: String |
| productSpecCharacteristic.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecCharacteristic.validFor.endDateTime | End date and time of the characteristic. Format: YYYY-MM-DD 00:00:00. Data type: String |
| productSpecCharacteristic.validFor.startDateTime | Start date and time of the characteristic. Format: YYYY-MM-DD 00:00:00. Data type: String |
| productSpecCharacteristic.valueType | The value type of the characteristic, such as choice or email. Data type: String |
| productSpecificationRelationship | This specification's relationships to other product specifications. Data type: Array of Objects "productSpecificationRelationship": [ { "id": "String", "type": "String", "validFor": Object } ] |
| productSpecificationRelationship.id | Sys_id of the related specification. Data type: String |
| productSpecificationRelationship.type | Type of relationship. Data type: String |
| productSpecificationRelationship.validFor | Date range the relationship is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecificationRelationship.validFor.endDateTime | End date and type of the relationship. Format: YYYY-MM-DD 00:00:00. Data type: String |
| productSpecificationRelationship.validFor.startDateTime | Start date and type of the relationship. Format: YYYY-MM-DD 00:00:00. Data type: String |
| resourceSpecification | List of resource specifications related to this product specification. Data type: Array of Objects "resourceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| resourceSpecification.id | Initial_version or external_id of the resource specification. Located in the sys_id or external_id field of the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalId | Initial_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalVersion | Version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.name | Name of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.version | External_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| serviceSpecification | List of service specifications related to this product specification. Data type: Array of Objects "serviceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| serviceSpecification.id | Initial_version or external_id of the service specification. Located in the sys_id or external_id field of the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalId | Initial_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalVersion | Version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.version | External_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| validFor | Date range the specification is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date and time of the specification. Format: YYYY-MM-DD 00:00:00. Data type: String |
| validFor.startDateTime | Start date and time of the specification. Format: YYYY-MM-DD 00:00:00. Data type: String |
| version | External_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[ ]

{#tmf_prod_order-PATCH-productSpec-id__table_xj1_jcj_4bc}  

### cURL request

The following example updates the product specification ID d6f8d9995b020210235d85cced81c7eb with information provided in the request body.

    curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productSpecification/d6f8d9995b020210235d85cced81c7eb" \ 
    --request PATCH\ 
    --header "Accept:application/json" \ 
    --user 'username':'password'
    --data '{
      "id": "1001",
      "name": "SD-WAN 0322 test",
      "description": "This is my product specification ...",
      "validFor": {
        "startDateTime": "2017-06-19T00:00",
        "endDateTime": "2018-01-13T00:00"
      },
      "productSpecCharacteristic": [
        {
          "name": "New characteristic",
          "description": "This product has new spec characteristic.",
          "valueType": "label",
          "validFor": {
            "startDateTime": "2017-06-20T00:00"
          }
        }
      ],
      "serviceSpecification": [
        {
          "id": "e23ae2d01bb420106ba59acf034bcb56",
          "name": "IP Sec Tunnel",
          "internalVersion": "2"
        }
      ],
      "productSpecificationRelationship": [
        {
          "id": "a6514bd3534560102f18ddeeff7b1247",
          "name": "SD-WAN Security",
          "internalVersion": "2",
          "type": "bundles",
          "validFor": {
            "startDateTime": "2017-06-16T00:00"
          }
        }
      ],
      "resourceSpecification": [
        {
          "id": "493fa60b536520103b6bddeeff7b12b6",
          "name": "Customer Premise SD-WAN Router"
        }
      ],
      "@type": "ProductSpecification"
    }

Response body:

    {
      "result": {
        "id": "1001",
        "name": "SD-WAN 0322 test",
        "description": "This is my product specification ...",
        "validFor": {
          "startDateTime": "2017-06-19T00:00",
          "endDateTime": "2018-01-13T00:00"
        },
        "productSpecCharacteristic": [
          {
            "name": "New characteristic",
            "description": "This product has new spec characteristic.",
            "valueType": "label",
            "validFor": {
              "startDateTime": "2017-06-20T00:00"
            }
          }
        ],
        "serviceSpecification": [
          {
            "id": "e23ae2d01bb420106ba59acf034bcb56",
            "name": "IP Sec Tunnel",
            "internalVersion": "2",
            "sys_id": "dd8354205b550210235d85cced81c7cd",
            "version": "",
            "status": "published",
            "internalId": "e23ae2d01bb420106ba59acf034bcb56"
          }
        ],
        "productSpecificationRelationship": [
          {
            "id": "a6514bd3534560102f18ddeeff7b1247",
            "name": "SD-WAN Security",
            "internalVersion": "2",
            "type": "bundles",
            "validFor": {
              "startDateTime": "2017-06-16T00:00"
            },
            "sys_id": "7a491dd3776301108b2a1e599a5a99d3",
            "version": "",
            "status": "published",
            "internalId": "a6514bd3534560102f18ddeeff7b1247"
          }
        ],
        "resourceSpecification": [
          {
            "id": "493fa60b536520103b6bddeeff7b12b6",
            "name": "Customer Premise SD-WAN Router",
            "sys_id": "493fa60b536520103b6bddeeff7b12b6",
            "internalVersion": "1",
            "version": "",
            "status": "published",
            "internalId": "493fa60b536520103b6bddeeff7b12b6"
          }
        ],
        "@type": "ProductSpecification",
        "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/3d140fe85be1c210235d85cced81c73a"
      }
    }

## Product Catalog Open API - POST /sn_tmf_api/catalogmanagement/catalog {#ariaid-title12}

Creates a product offering catalog.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/catalog

### Supported request parameters

{#tmf_prod_cat-POST-catalog__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 61. Path parameters]

{#tmf_prod_cat-POST-catalog__entry__6}

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

{#tmf_prod_cat-POST-catalog__entry__10}

| Name | Description |
|-|-|
| description | Description of the product offering catalog. Data type: String Default: Blank string |
| externalId | Unique identifier for the product offering catalog from the external system. Data type: String Default: Blank string |
| name | Required. Name of the product offering catalog. Data type: String |
[Table 63. Request body parameters (JSON)]

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-POST-catalog__table_ett_h3z_gsb__entry__2}{#tmf_prod_cat-POST-catalog__accept-JSON-only-entry-RESTAPI}{#tmf_prod_cat-POST-catalog__content_type-JSON-only-entry-RESTAPI}

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

{#tmf_prod_cat-POST-catalog__table_ett_h3z_gsb} {#tmf_prod_cat-POST-catalog__table_tzy_thy_ksb__entry__2}

| Header | Description |
|-|-|
| Content-Type | Data format of the response body. Only supports application/json. |
[Table 65. Response headers]

{#tmf_prod_cat-POST-catalog__table_tzy_thy_ksb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-POST-catalog__table_fbw_k3z_gsb__entry__2}

| Status code | Description |
|-|-|
| 201 | Request successfully processed. |
| 400 | Bad Request. Could be any of the following reasons: * Empty payload. * Invalid payload. Mandatory field missing: \<field name\> {#tmf_prod_cat-POST-catalog__ul_nc5_myx_fsb} |
[Table 66. Status codes]

{#tmf_prod_cat-POST-catalog__table_fbw_k3z_gsb}

### Response body parameters (JSON)

{#tmf_prod_cat-POST-catalog__entry__34}

| Name | Description |
|-|-|
| description | Description of the product offering catalog. Data type: String |
| id | Sys_id of the product offering catalog from the Product Offering Catalog \[sn_prd_pm_product_offering_catalog\] table. Data type: String |
| name | Name of the product offering catalog. Data type: String |
[ ]

### cURL request

This example creates a product offering catalog.

    curl --location --request POST "https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog" \
    --header "Content-Type: application/json" \
    --data-raw '{
        "id": "testId",
        "name": "Catalog",
        "description": "Description"
    }'
    --user 'username':'password'

Response body.

    {
       "id": "45715d02c3510110bc0526083c40dd6b",
       "description": "Description",
       "name": "Catalog1"
    }

## Product Catalog Open API - POST /sn_tmf_api/catalogmanagement/productOffering {#ariaid-title13}

Creates a product offering.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOffering

### Supported request parameters

{#tmf_prod_cat-POST-prodoffering__table_o3n_mvf_hsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 67. Path parameters]

{#tmf_prod_cat-POST-prodoffering__table_o3n_mvf_hsb} {#tmf_prod_cat-POST-prodoffering__entry__6}

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

{#tmf_prod_cat-POST-prodoffering__table_vxh_xvf_hsb__entry__2}

| Name | Description |
|-|-|
| category | List of categories that the product belongs to. Located in the Category \[sc_category\] table. Data type: Array of Objects "category:" [ { "id": "String", "name": "String" } ] |
| category.id | Required if using the category parameter. ID of the category. Data type: String |
| category.name | Name of the category. Data type: String |
| channel | Required. Channels to use for selling the product offering. Data type: Array "channel:" [ { "description": "String", "id": "String", "name": "String" } ] |
| channel.description | Description of the channel. Data type: String |
| channel.id | Required. Sys_id of the channel from the Distribution Channel \[sn_prd_pm_distribution_channel\] table. Data type: String |
| channel.name | Name of the channel. Data type: String |
| description | Required. Description of the product offering. Data type: String |
| externalId | Unique identifier for the product offering from the external system. Data type: String |
| href | A relative link to the resource record. Data type: String |
| id | Required. Initial_version or external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalId | initial_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalVersion | Version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| lastUpdate | Date the product offering was last updated. Data type: String |
| lifecycleStatus | Indicates the current lifecycle status. Accepted values: * Active * Inactive * Draft {#tmf_prod_cat-POST-prodoffering__ul_lj5_gg4_4bc} Data type: String |
| name | Required. Name of the product offering. Data type: String |
| productCharacteristic | List of product characteristics. Data type: Array of Objects "productCharacteristic": [ { "name": "String", "value": "String" } ] |
| productCharacteristic.name | Name of the characteristic. Data type: String |
| productCharacteristic.value | Value of the characteristic. Data type: String |
| productOfferingPrice | Price information for the product offering. Data type: Array of Objects "productOfferingPrice": [ { "price": {Object}, "priceType": "String" } ] |
| productOfferingPrice.price | Price information for the product offering. Data type: Object "price": { "taxIncludedAmount": {Object} } |
| productOfferingPrice.price.taxIncludedAmount | Price information for the product offering. Data type: Object "taxIncludedAmount": { "unit": "String", "value": "String" } |
| productOfferingPrice.price.taxIncludedAmount.unit | Currency code for the product offering price. Data type: String |
| productOfferingPrice.price.taxIncludedAmount.value | Price of the product offering including tax. Data type: String |
| productOfferingPrice.priceType | Required if using the productOfferingPrice parameter. Product offering price type, one-time or recurring payment. Valid values: * nonRecurring (one-time) * recurring Data type: String |
| productOfferingTerm | Valid contract term length for the product offering. Data type: String |
| productSpecification | Required. Product specification for the product. Data type: Object "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } |
| productSpecification.id | Required. Initial_version or external_id of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalId | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalVersion | Version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.version | external_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| prodSpecCharValueUse | Product offering characteristics. Data type: Array of Objects "prodSpecCharValueUse": [ { "productSpecCharacteristicValue": Array, "description": "String", "name": "String", "validFor": {Object}, "valueType": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue | Required. List of the possible values of the characteristic. Data type: Array of Objects "productSpecCharacteristicValue": [ { "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Required. Value of the characteristic. Data type: String |
| prodSpecCharValueUse.description | Description of the characteristic. Data type: String |
| prodSpecCharValueUse.name | Required. Name of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| prodSpecCharValueUse.validFor.endDateTime | End date of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor.startDateTime | Start date of the characteristic. Data type: String |
| prodSpecCharValueUse.valueType | Value type of the characteristic, such as choice or email. Data type: String |
| validFor | Required. Date range the product offering is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the product offering. Data type: String |
| validFor.startDateTime | Start date of the product offering. Data type: String |
| version | external_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[Table 69. Request body parameters (JSON)]

{#tmf_prod_cat-POST-prodoffering__table_vxh_xvf_hsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-POST-prodoffering__table_ett_h3z_gsb__entry__2}{#tmf_prod_cat-POST-prodoffering__accept-JSON-only-entry-RESTAPI}{#tmf_prod_cat-POST-prodoffering__content_type-JSON-only-entry-RESTAPI}

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

{#tmf_prod_cat-POST-prodoffering__table_ett_h3z_gsb} {#tmf_prod_cat-POST-prodoffering__table_tzy_thy_ksb__entry__2}

| Header | Description |
|-|-|
| Content-Type | Data format of the response body. Only supports application/json. |
[Table 71. Response headers]

{#tmf_prod_cat-POST-prodoffering__table_tzy_thy_ksb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-POST-prodoffering__table_fbw_k3z_gsb__entry__2}

| Status code | Description |
|-|-|
| 201 | Successful. The request was successfully processed. |
| 400 | Bad request. Possible reasons: * Empty payload. * Invalid payload. Mandatory field missing: \<field name\> {#tmf_prod_cat-POST-prodoffering__ul_nc5_myx_fsb} |
[Table 72. Status codes]

{#tmf_prod_cat-POST-prodoffering__table_fbw_k3z_gsb}

### Response
body parameters (JSON)

{#tmf_prod_cat-POST-prodoffering__entry__116}

| Name | Description |
|-|-|
| category | List of categories that the product belongs to. Data type: Array "category:" [ { "id": "String", "name": "String" } ] |
| category.id | ID of the category. Data type: String |
| category.name | Name of the category. Data type: String |
| channel | Channels to use for selling the product offering. Data type: Array of Objects "channel:" [ { "description": "String", "id": "String", "name": "String" } ] |
| channel.description | Description of the channel. Data type: String |
| channel.id | Sys_id of the channel from the Distribution Channel \[sn_prd_pm_distribution_channel\] table. Data type: String |
| channel.name | Name of the channel. Data type: String |
| description | Description of the product offering. Data type: String |
| externalId | external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| href | A relative link to the resource record. Data type: String Default: Blank string |
| id | Required. initial_version or external_id of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalId | initial_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| internalVersion | Version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
| lastUpdate | Date the product offering was last updated. Data type: String |
| lifecycleStatus | Current life cycle status of the product offering. Accepted values: * Active * Inactive * Draft {#tmf_prod_cat-POST-prodoffering__ul_vrb_d35_dcc} Data type: String Default: Blank string |
| name | Name of the product offering. Data type: String |
| productCharacteristic | List of product characteristics. Data type: Array of Objects "productCharacteristic": [ { "name": "String", "value": "String" } ] |
| productCharacteristic.name | Name of the characteristic. Data type: String |
| productCharacteristic.value | Value of the characteristic. Data type: String |
| productOfferingPrice | Price information for the product offering. Data type: Array of Objects "productOfferingPrice": [ { "price": {Object}, "priceType": "String" } ] |
| productOfferingPrice.price | Price information for the product offering. Data type: Object "price": { "taxIncludedAmount": {Object} } |
| productOfferingPrice.price.taxIncludedAmount | Price information for the product offering. Data type: Object "taxIncludedAmount": { "unit": "String", "value": "String" } |
| productOfferingPrice.price.taxIncludedAmount.unit | Currency code for the product offering price. Data type: String |
| productOfferingPrice.price.taxIncludedAmount.value | Price of the product offering including tax. Data type: String |
| productOfferingPrice.priceType | Product offering price type, one-time or recurring payment. Possible values: * nonRecurring (one-time) * recurring Data type: String |
| productOfferingTerm | Valid contract term length for the product offering. Data type: String |
| productSpecification | Product specification for the product. Data type: Object "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } |
| productSpecification.id | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalId | initial_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.internalVersion | Version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| productSpecification.version | external_version of the product specification. Located in the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| prodSpecCharValueUse | Product offering characteristics. Data type: Array of Objects "prodSpecCharValueUse": [ { "productSpecCharacteristicValue": Array, "description": "String", "name": "String", "validFor": Object, "valueType": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue | List of the possible values of the characteristic. Data type: Array of Objects "productSpecCharacteristicValue": [ { "value": "String" } ] |
| prodSpecCharValueUse.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| prodSpecCharValueUse.description | Description of the characteristic. Data type: String |
| prodSpecCharValueUse.name | Name of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| prodSpecCharValueUse.validFor.endDateTime | End date of the characteristic. Data type: String |
| prodSpecCharValueUse.validFor.startDateTime | Start date of the characteristic. Data type: String |
| prodSpecCharValueUse.valueType | Value type of the characteristic, such as choice or email. Data type: String |
| validFor | Date range the product offering is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the product offering. Data type: String |
| validFor.startDateTime | Start date of the product offering. Data type: String |
| version | external_version of the product offering from the Product Offering \[sn_prd_pm_product_offering\] table. Data type: String |
[ ]

### cURL request

This example creates a product offering.

    curl --location --request POST "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering" \
    --header "Content-Type: application/json" \
    --data-raw '{
       "id": "d52a756b5bde0110235d85cced81c7ab",
       "name": "Premium SD-WAN Offering New",
       "version": "",
       "internalVersion": "2",
       "description": "Premium SD-WAN Offering",
       "lastUpdate": "2021-08-16 04:55:52",
       "validFor": {
          "startDateTime": "2021-08-05",
          "endDateTime": "2026-09-04"
       },
       "productOfferingTerm": "24_months",
       "productOfferingPrice": [
          {
             "priceType": "recurring",
             "price": {
                "taxIncludedAmount": {
                   "unit": "JPY",
                   "value": 984.0913488140197
                }
             }
          },
          {
             "priceType": "nonRecurring",
             "price": {
                "taxIncludedAmount": {
                   "unit": "GBP",
                   "value": 2434
                }
             }
          }
       ],
       "productSpecification": {
          "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
          "name": "SD-WAN Service Package",
          "version": "v1",
          "internalVersion": "1",
          "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"
       },
       "prodSpecCharValueUse": [
          {
             "name": "Tenancy",
             "description": "Tenancy",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:04:24"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Premium (>50 sites)",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance (50 site)",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Base (10 site)",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "216663aa53702010cd6dddeeff7b12b5",
                "name": "SD-WAN Controller",
                "version": "v1",
                "internalVersion": "1",
                "internalId": "216663aa53702010cd6dddeeff7b12b5"
             }
          },
          {
             "name": "CPE Id",
             "description": "CPE Id",
             "valueType": "single_line_text",
             "validFor": {
                "startDatetime": "2021-08-15 17:50:26"
             },
             "productSpecCharacteristicValue": [],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v1",
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "Routing",
             "description": "Routing",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:08:20"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v1",
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "WAN Optimization",
             "description": "WAN Optimization",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:10:28"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v1",
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "CPE Model",
             "description": "CPE Model",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:11:54"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "ISR",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "ASR",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v1",
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "Security Type",
             "description": "Security Type",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-23 12:51:13"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "a6514bd3534560102f18ddeeff7b1247",
                "name": "SD-WAN Security",
                "version": "v1",
                "internalVersion": "1",
                "internalId": " a6514bd3534560102f18ddeeff7b1247"
             }
          },
          {
             "name": "CPE Type",
             "description": "CPE Type",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:11:16"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Physical",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Virtual",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": "v1",
                "internalVersion": "1",
                "internalId": " 39b627aa53702010cd6dddeeff7b1202"
             }
          }
       ],
       "channel": [
          {
             "id": "e561aae4c3e710105252716b7d40dd8f",
             "name": "Web"
          }
       ],
       "category": {
          "id": "c0ed043653b02010cd6dddeeff7b1277",
          "name": "SD-WAN"
       }
    }'
    --user 'username':'password'

Response body:

    {
       "id": "d52a756b5bde0110235d85cced81c7ab",
       "name": "Premium SD-WAN Offering New",
       "version": null,
       "internalVersion": "5",
       "description": "Premium SD-WAN Offering",
       "lastUpdate": "2021-08-16 04:55:52",
       "validFor": {
          "startDateTime": "2021-08-05",
          "endDateTime": "2026-09-04"
       },
       "productOfferingTerm": "24_months",
       "productOfferingPrice": [
          {
             "priceType": "recurring",
             "price": {
                "taxIncludedAmount": {
                   "unit": "JPY",
                   "value": 984.0913488140197
                }
             }
          },
          {
             "priceType": "nonRecurring",
             "price": {
                "taxIncludedAmount": {
                   "unit": "GBP",
                   "value": 2434
                }
             }
          }
       ],
       "productSpecification": {
          "id": "cfe5ef6a53702010cd6dddeeff7b12f6",
          "name": "SD-WAN Service Package",
          "version": null,
          "internalVersion": "1",
          "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"
       },
       "prodSpecCharValueUse": [
          {
             "name": "Tenancy",
             "description": "Tenancy",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:04:24"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Premium (>50 sites)",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance (50 site)",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Base (10 site)",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "216663aa53702010cd6dddeeff7b12b5",
                "name": "SD-WAN Controller",
                "version": null,
                "internalVersion": "1",
                "internalId": "216663aa53702010cd6dddeeff7b12b5"
             }
          },
          {
             "name": "CPE Id",
             "description": "CPE Id",
             "valueType": "single_line_text",
             "validFor": {
                "startDatetime": "2021-08-15 17:50:26"
             },
             "productSpecCharacteristicValue": [],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": null,
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "Routing",
             "description": "Routing",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:08:20"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": null,
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "WAN Optimization",
             "description": "WAN Optimization",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:10:28"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": null,
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "CPE Model",
             "description": "CPE Model",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:11:54"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "ISR",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "ASR",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": null,
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          },
          {
             "name": "Security Type",
             "description": "Security Type",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-23 12:51:13"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Base",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Premium",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Advance",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "a6514bd3534560102f18ddeeff7b1247",
                "name": "SD-WAN Security",
                "version": null,
                "internalVersion": "1",
                "internalId": "a6514bd3534560102f18ddeeff7b1247"
             }
          },
          {
             "name": "CPE Type",
             "description": "CPE Type",
             "valueType": "choice",
             "validFor": {
                "startDatetime": "2021-07-08 21:11:16"
             },
             "productSpecCharacteristicValue": [
                {
                   "value": "Physical",
                   "validFor": {
                      "startDateTime": ""
                   }
                },
                {
                   "value": "Virtual",
                   "validFor": {
                      "startDateTime": ""
                   }
                }
             ],
             "productSpecification": {
                "id": "39b627aa53702010cd6dddeeff7b1202",
                "name": "SD-WAN Edge Device",
                "version": null,
                "internalVersion": "1",
                "internalId": "39b627aa53702010cd6dddeeff7b1202"
             }
          }
       ],
       "channel": [
          {
             "id": "e561aae4c3e710105252716b7d40dd8f",
             "name": "Web"
          }
       ],
       "category": {
          "id": "c0ed043653b02010cd6dddeeff7b1277",
          "name": "SD-WAN"
       },
       "internalId": "fbc1c0a25b030110235d85cced81c724",
       "externalId": "d52a756b5bde0110235d85cced81c7ab"
    }

## Product Catalog Open API - POST /sn_tmf_api/catalogmanagement/productSpecification {#ariaid-title14}

Creates a product specification.

### URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productSpecification

### Supported request parameters

{#tmf_prod_cat-POST-prodspec__table_jdq_g51_jsb__entry__2}

| Name | Description |
|-|-|
| None |   |
[Table 73. Path parameters]

{#tmf_prod_cat-POST-prodspec__table_jdq_g51_jsb} {#tmf_prod_cat-POST-prodspec__entry__6}

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

{#tmf_prod_cat-POST-prodspec__table_db1_q51_jsb__entry__2}

| Name | Description |
|-|-|
| description | Required. Description of the specification. Data type: String |
| externalId | Unique identifier for the product specification from the external system. Data type: String Default: Blank string |
| id | Required. Initial_version or external_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalId | Required. Initial_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalVersion | Version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| lastUpdate | Date the specification was last updated. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String Default: Blank string |
| name | Required. Name of the specification. Data type: String |
| productSpecCharacteristic | Specification characteristic. Data type: Array "productSpecCharacteristic": [ { "description": "String", "name": "String", "productSpecCharacteristicValue": Array, "validFor": Object, "valueType": "String" } ] |
| productSpecCharacteristic.description | Description of the characteristic. Data type: String Default: Blank string |
| productSpecCharacteristic.name | Required. Name of the characteristic. Data type: String |
| productSpecCharacteristic.productSpecCharacteristicValue | Required. Array containing the possible values of the characteristic. Data type: Array "productSpecCharacteristicValue": [ { "value": "String" } ] |
| productSpecCharacteristic.productSpecCharacteristicValue.value | Required. Value of the characteristic. Data type: String |
| productSpecCharacteristic.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecCharacteristic.validFor.endDateTime | End date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String Default: Blank string |
| productSpecCharacteristic.validFor.startDateTime | Start date of the characteristic. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String Default: Blank string |
| productSpecCharacteristic.valueType | The value type of the characteristic, such as choice or email. Data type: String Default: Blank string |
| productSpecificationRelationship | This specification's relationships to other product specifications. Data type: Array "productSpecificationRelationship": [ { "id": "String", "type": "String", "validFor": Object } ] |
| productSpecificationRelationship.id | ID of the related specification. Data type: String Default: Blank string |
| productSpecificationRelationship.type | Required if using the productSpecificationRelationship parameter. Type of relationship. Valid values: * composed_of * bundles {#tmf_prod_cat-POST-prodspec__ul_kjr_xnx_fsb} Data type: String |
| productSpecificationRelationship.validFor | Date range the relationship is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecificationRelationship.validFor.endDateTime | End date of the relationship. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String Default: Blank string |
| productSpecificationRelationship.validFor.startDateTime | Start date of the relationship. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String Default: Blank string |
| resourceSpecification | Required. Array of resource specifications related to this product specification. Data type: Array "resourceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| resourceSpecification.id | Required. The initial_version or external_id of the resource specification. Located in the sys_id or external_id field of the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalId | Initial_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalVersion | Version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.name | Name of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.version | External_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| serviceSpecification | List of service specifications related to this product specification. Data type: Array of Objects "serviceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| serviceSpecification.id | Initial_version or external_id of the service specification. Located in the sys_id or external_id field of the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalId | Initial_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalVersion | Version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.version | External_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| validFor | Required. Date range the specification is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the specification. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String Default: Blank string |
| validFor.startDateTime | Start date of the specification. Format: YYYY-MM-DD 00:00:00. For example, `2025-01-31 09:35:43`. Data type: String Default: Blank string |
| version | External_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[Table 75. Request body parameters (JSON)]

{#tmf_prod_cat-POST-prodspec__table_db1_q51_jsb}

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-POST-prodspec__table_ett_h3z_gsb__entry__2}{#tmf_prod_cat-POST-prodspec__accept-JSON-only-entry-RESTAPI}{#tmf_prod_cat-POST-prodspec__content_type-JSON-only-entry-RESTAPI}

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

{#tmf_prod_cat-POST-prodspec__table_ett_h3z_gsb} {#tmf_prod_cat-POST-prodspec__table_tzy_thy_ksb__entry__2}

| Header | Description |
|-|-|
| Content-Type | Data format of the response body. Only supports application/json. |
[Table 77. Response headers]

{#tmf_prod_cat-POST-prodspec__table_tzy_thy_ksb}

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/2vuQj3~2s_niNXyXhrbRZA "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#tmf_prod_cat-POST-prodspec__table_fbw_k3z_gsb__entry__2}

| Status code | Description |
|-|-|
| 201 | Request successfully processed. |
| 400 | Bad request. Possible reasons: * Empty payload. * Invalid payload. Mandatory field missing: \<field name\> {#tmf_prod_cat-POST-prodspec__ul_nc5_myx_fsb} |
[Table 78. Status codes]

{#tmf_prod_cat-POST-prodspec__table_fbw_k3z_gsb}

### Response body parameters (JSON)

{#tmf_prod_cat-POST-prodspec__entry__104}

| Name | Description |
|-|-|
| description | Description of the specification. Data type: String |
| href | Relative link to the resource record. Data type: String Default: Blank string |
| id | Initial_version or external_id of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalId | Required. Initial_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| internalVersion | Version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
| isBundle | Flag that indicates whether productSpecification represents a single product or a bundle of products. Valid values: * true: The product specification is a product bundle and contains multiple products. * false: The product specification contains a single product. {#tmf_prod_cat-POST-prodspec__ul_rry_rz4_4bc} Data type: Boolean Default: false |
| lastUpdate | Date the specification was last updated. Format: YYYY-MM-DD 00:00:00. Data type: String |
| lifecycleStatus | Current lifecycle status of the product specification. Possible values: * Active * Inactive * Draft {#tmf_prod_cat-POST-prodspec__ul_lj5_gg4_4bc} Data type: String Default: Blank string |
| name | Name of the specification. Data type: String |
| productSpecCharacteristic | Specification characteristic. Data type: Array "productSpecCharacteristic": [ { "description": "String", "name": "String", "productSpecCharacteristicValue": Array, "validFor": Object, "valueType": "String" } ] |
| productSpecCharacteristic.description | Description of the characteristic. Data type: String |
| productSpecCharacteristic.name | Name of the characteristic. Data type: String |
| productSpecCharacteristic.productSpecCharacteristicValue | Array containing the possible values of the characteristic. Data type: Array "productSpecCharacteristicValue": [ { "value": "String" } ] |
| productSpecCharacteristic.productSpecCharacteristicValue.value | Value of the characteristic. Data type: String |
| productSpecCharacteristic.validFor | Date range the characteristic is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecCharacteristic.validFor.endDateTime | End date of the characteristic. Format: YYYY-MM-DD 00:00:00. Data type: String |
| productSpecCharacteristic.validFor.startDateTime | Start date of the characteristic. Format: YYYY-MM-DD 00:00:00. Data type: String |
| productSpecCharacteristic.valueType | The value type of the characteristic, such as choice or email. Data type: String |
| productSpecificationRelationship | This specification's relationships to other product specifications. Data type: Array "productSpecificationRelationship": [ { "id": "String", "type": "String", "validFor": Object } ] |
| productSpecificationRelationship.id | Sys_id of the related specification. Data type: String |
| productSpecificationRelationship.type | Type of relationship. Data type: String |
| productSpecificationRelationship.validFor | Date range the relationship is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| productSpecificationRelationship.validFor.endDateTime | End date of the relationship. Format: YYYY-MM-DD 00:00:00. Data type: String |
| productSpecificationRelationship.validFor.startDateTime | Start date of the relationship. Format: YYYY-MM-DD 00:00:00. Data type: String |
| resourceSpecification | List of resource specifications related to this product specification. Data type: Array of Objects "resourceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| resourceSpecification.id | Initial_version or external_id of the resource specification. Located in the sys_id or external_id field of the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalId | Initial_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.internalVersion | Version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.name | Name of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| resourceSpecification.version | External_version of the resource specification. Located in the Resource Specification \[sn_prd_pm_resource_specification\] table. Data type: String |
| serviceSpecification | List of service specifications related to this product specification. Data type: Array of Objects "serviceSpecification": [ { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ] |
| serviceSpecification.id | Initial_version or external_id of the service specification. Located in the sys_id or external_id field of the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalId | Initial_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.internalVersion | Version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| serviceSpecification.version | External_version of the service specification. Located in the Service Specification \[sn_prd_pm_service_specification\] table. Data type: String |
| validFor | Date range the specification is valid for. Data type: Object "validFor": { "endDateTime": "String", "startDateTime": "String" } |
| validFor.endDateTime | End date of the specification. Format: YYYY-MM-DD 00:00:00. Data type: String |
| validFor.startDateTime | Start date of the specification. Format: YYYY-MM-DD 00:00:00. Data type: String |
| version | External_version of the product specification from the Product Specification \[sn_prd_pm_product_specification\] table. Data type: String |
[ ]

### cURL request

This example creates a product specification.

    curl --location --request POST "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification" \
    --header "Content-Type: application/json" \
    --data-raw '{
       "name": "SD-WAN My Device",
       "description": "This is my product specification ...",
       "internalId": "1c3c9a325bc34110235d85cced81c7d5",
       "isBundle": false,
       "lastUpdate": "2017-06-17T00:00",
       "validFor": {
          "startDateTime": "2017-06-19T00:00",
          "endDateTime": "2018-01-13T00:00"
       },
       "productSpecCharacteristic": [
          {
             "name": "New characteristic",
             "description": "This product has new spec characteristic.",
             "valueType": "label",
             "validFor": {
                "startDateTime": "2017-06-20T00:00"
             },
             "productSpecCharacteristicValue": [
                {
                   "validFor": {
                      "startDateTime": "2017-06-17T00:00"
                   },
                   "value": "TestValue"
                }
             ]
          }
       ],
       "serviceSpecification": [
          {
             "id": "e23ae2d01bb420106ba59acf034bcb56",
             "name": "IP Sec Tunnel"
          }
       ],
       "productSpecificationRelationship": [
          {
             "id": "a6514bd3534560102f18ddeeff7b1247",
             "name": "SD-WAN Security",
             "type": "bundles",
             "validFor": {
                "startDateTime": "2017-06-16T00:00"
             }
          }
       ],
       "resourceSpecification": [
          {
             "id": "493fa60b536520103b6bddeeff7b12b6",
             "name": "Customer Premise SD-WAN Router"
          }
       ]
    }'
    --user 'username':'password'

Response body.

    {
       "id": "exter123",
       "name": "SD-WAN My Device",
       "version": "v1",
       "internalId": "63c3d946745d8150f877ca57242ff918",
       "description": "This is my product specification ...",
       "isBundle": false,
       "lastUpdate": "2017-06-17T00:00",
       "validFor": {
          "startDateTime": "2017-06-19T00:00",
          "endDateTime": "2018-01-13T00:00"
       },
       "productSpecCharacteristic": [
          {
             "name": "New characteristic",
             "description": "This product has new spec characteristic.",
             "valueType": "choice",
             "validFor": {
                "startDateTime": "2017-06-20T00:00"
             },
             "productSpecCharacteristicValue": [
                {
                   "validFor": {
                      "startDateTime": "2017-06-17T00:00"
                   },
                   "value": "TestValue"
                }
             ]
          }
       ],
       "serviceSpecification": [
          {
             "id": "e23ae2d01bb420106ba59acf034bcb56",
             "name": "IP Sec Tunnel",
             "version": "v1",
             "internalVersion": "1",
             "internalId": "e23ae2d01bb420106ba59acf034bcb56"
          }
       ],
       "productSpecificationRelationship": [
          {
             "id": "a6514bd3534560102f18ddeeff7b1247",
             "name": "SD-WAN Security",
             "type": "bundles",
             "validFor": {
                "startDateTime": "2017-06-16T00:00"
             },
             "valid": true,
             "version": "v1",
             "internalVersion": "1",
             "internalId": "a6514bd3534560102f18ddeeff7b1247"
          }
       ],
       "resourceSpecification": [
          {
             "id": "493fa60b536520103b6bddeeff7b12b6",
             "name": "Customer Premise SD-WAN Router",
             "version": "v1",
             "internalVersion": "1",
             "internalId": "493fa60b536520103b6bddeeff7b12b6"
          }
       ]
    }


