Product Catalog Open API

concept australia Updated Sep 10, 2026 163 min read product-catalog-open-api.md
Raw file servicenow.com

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 User Guide v5.0.0, September 2024.

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]

Parent Topic:REST API reference

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

Deletes the specified product offering.

URL format

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

Supported request parameters

Name

Description

id

Sys_id of the product offering to delete.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

|Name|Description| |----|-----------| |None| |
Name Description
None

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.

Header

Description

Accept

Data format of the response body. Supported types: application/json or application/xml. Default: application/json

|Header|Description| |------|-----------| |None| |

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status code Description
200 Successful. The request was successfully processed.
400 Bad Request. A bad request type or malformed request was detected.

Response body parameters (JSON or XML)

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.

Shell
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:

Text
"The product offering (d6f8d9995b020210235d85cced81c7eb) is successfully deleted"

Product Catalog Open API - DELETE /sn_tmf_api/catalogmanagement/productOfferingPrice/{id}

Inactivates, but doesn't delete, a price list line with a specific sys_id.

To set a price list line to an inactive state, this DELETE method updates the end date of the price list line to today's date. A price list line with an end date prior to today's date is also considered inactive. Inactive price list lines are not retrievable in related GET methods.

URL format

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

Supported request parameters

Name

Description

id

Sys_id of the price list line to delete.Table: Price list line [sn_csm_pricing_price_list_line]

Data type: String

|Name|Description| |----|-----------| |None| |
Name Description
None

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.

Header

Description

Accept

Data format of the response body. Supported types: application/json or application/xml. Default: application/json

|Header|Description| |------|-----------| |Content-Type|Data format of the response body. Only supports **application/json**.|

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.

Status code

Description

200

Successful. The request was successfully processed.

400

Bad request. Possible reasons:

  • Invalid path parameter
  • Invalid URI

404

Not found. The requested item wasn't found.

### Response body parameters \(JSON or XML\)
Name Description
message Status code with a message about the successful or failed inactivation of the price list line.

cURL request

The following example demonstrates how to successfully inactivate or delete a price list of the given sys_id, 994d...

Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c" \--request DELETE\--user 'username':'password'

Response. The response returns a 200 status code with details about the successful inactivation.

Text
Status: 200 OK"The price list line (994d5d364f8b5210f899f61d20ce0b7c) is inactive successfully"

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

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.

URL format

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

Supported request parameters

Name

Description

id

Sys_id of the product specification to delete.Data type: String

Table: Product Specification [sn_prd_pm_product_specification]

|Name|Description| |----|-----------| |None| |
Name Description
None

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.

Header

Description

Accept

Data format of the response body. Supported types: application/json or application/xml. Default: application/json

|Header|Description| |------|-----------| |None| |

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status code Description
200 Successful. The request was successfully processed.
400 Bad Request. A bad request type or malformed request was detected.

Response body parameters (JSON or XML)

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.

Shell
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:

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

Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/catalog

Retrieves a list of all product offering catalogs.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/catalog

Supported request parameters

Name Description
None

Name

Description

fields

List of fields to return in the response. Invalid fields are ignored.Data type: String

Default: All fields returned.

name

Filter catalogs on the name value. Combine the filter with the Accept-Language header to both filter on and return translated values.Default: Returns the name value in the language preference of your instance user.

If using Accept-Language header, returns the translated name value according to the language set for the name field in the sys_translated_text table.

For example, if a French translation exists for a product offering's name, you can filter on either the English name or the French name value.

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. Data type: Number

Default: 20

Maximum: 100

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.Data type: Number

Default: 0

|Name|Description| |----|-----------| |None| |

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.

Header

Description

Accept

Data format of the response body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

Header

Description

Content-Range

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.

X-Total-Count

For paginated queries, this header specifies the total number of records available on the server.

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

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

404

Record not found. No records matching the query parameters are found in the table.

### Response body parameters \(JSON\)

Name

Description

description

Description of the product offering catalog. Only returned if the field contains a value.Data type: String

externalSystem

External system of the product offering catalog, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

id

Sys_id of the product offering catalog.Data type: String

Table: Product Offering Catalog [sn_prd_pm_product_offering_catalog]

lifecycleStatus

Current life cycle status of the price list line.Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

name

Name of the product offering catalog.Data type: String

status

Status of the product offering catalog.Possible value: published

Data type: String

### cURL request

This example retrieves all product offering catalogs.

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

Response body.

JSON
[  {    "id": "341f4953b71a9910ff00f203ae11a9bb",    "name": "Home Internet Plan",    "lifecycleStatus": "Active",    "status": "published",    "externalSystem": "Salesforce-TMF641"  },  {    "id": "69f494792b11525047f3f3e30391bf66",    "name": "Chemical Processing",    "lifecycleStatus": "Active",    "description": " Catalog for Chemical Processing Industry",    "status": "published",    "externalSystem": "Salesforce-TMF620"  }]

cURL request

This example retrieves the product offering catalogs whose translated name matches the specified value, and returns the results in French.

Shell
curl --location --request GET "https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog?name=Forfait%20Internet%20%C3%A0%20domicile" \--header "Accept-Language:fr" \--user 'username':'password'

Response body.

JSON
[  {    "id": "341f4953b71a9910ff00f203ae11a9bb",    "name": "Forfait Internet à domicile",    "lifecycleStatus": "Active",    "description": "Catalog for residential internet offerings",    "status": "published",    "externalSystem": "Salesforce-TMF641"  }]

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

Retrieves a product offering catalog.

URL format

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

Supported request parameters

Name

Description

id

Sys_id of the product offering catalog to retrieve.Data type: String

Table: Product Offering Catalog [sn_prd_pm_product_offering_catalog]

Name

Description

fields

List of fields to return in the response. Invalid fields are ignored.Data type: String

Default: All fields.

Name

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

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

Header Description
Accept Data format of the response body. Only supports application/json.
Header Description
Content-Type Data format of the request body. Only supports application/json.

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.

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

404

Not found. The requested item wasn't found.

### Response body parameters \(JSON\)

Name

Description

description

Description of the product offering catalog.Data type: String

externalSystem

External system of the product offering catalog, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

id

Sys_id of the product offering catalog.Data type: String

Table: Product Offering Catalog [sn_prd_pm_product_offering_catalog]

lifecycleStatus

Current life cycle status of the price list line.Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

name

Name of the product offering catalog.Data type: String

### cURL request

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

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

Response body.

JSON
{  "id": "69f494792b11525047f3f3e30391bf66",  "name": "Chemical Processing",  "lifecycleStatus": "Active",  "description": " Catalog for Chemical Processing Industry",  "externalSystem": "Salesforce-TMF620"}

cURL request

This example retrieves a product offering catalog and returns the translated field values in French.

Shell
curl --location --request GET "https://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/catalog/69f494792b11525047f3f3e30391bf66" \--header "Accept-Language:fr" \--user 'username':'password'

Response body.

JSON
{  "id": "69f494792b11525047f3f3e30391bf66",  "name": "Traitement chimique",  "lifecycleStatus": "Active",  "description": " Catalog for Chemical Processing Industry",  "externalSystem": "Salesforce-TMF620"}

Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productOffering

Retrieves all product offerings or a subset of product offerings, based on specified filter settings.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOffering

Supported request parameters

Name Description
None

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

Data type: String

Default: All fields are returned.

externalID

Filter product offerings by external identifier. Only offerings with an externalID matching the value of this parameter are returned in the response. Data type: String

Default: Don't filter by externalID

isSellable

Filter product offerings by sellable status. Only offerings with an isSellable value matching the specified value are returned in the response.- true: Offering is sellable.

  • false: Offering isn't sellable.

Data type: Boolean

Default: Don't filter by isSellable

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

Data type: String

Default: All fields are returned.

name

Filter on the name of a product offering in the Product Offering [sn_prd_pm_product_offering] table. Combine the filter with the Accept-Language header to both filter on and return translated values.Default: Returns the name value in the language preference of your instance user.

If using Accept-Language header, returns the translated name value according to the language set for the name field in the sys_translated_text table.

For example, if a French translation exists for a product offering's name, you can filter on either the English name or the French name value.

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.Data type: String

Table: Product Specification [sn_prd_pm_product_specification]

state

Filter product offerings by state. Only product offerings in the specified state are returned in the response.Valid values:

  • archived
  • draft
  • published
  • retired

Data type: String

|Name|Description| |----|-----------| |None| |

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.

Header

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

Header

Description

Content-Range

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.

X-Total-Count

For paginated queries, this header specifies the total number of records available on the server.

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

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

404

Record not found. No records matching the query parameters are found in the table.

### Response body parameters

Name

Description

bundledGroupProductOffering

Child groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects

JavaScript
"bundledGroupProductOffering": [  {    "bundledGroupProductOfferingOption": {Object},    "bundledProductOffering": [Array],    "id": "String",    "name": "String"  }]

bundledGroupProductOffering.​bundledGroupProductOfferingOption

A range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object

Text
"bundledGroupProductOfferingOption": {  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit

Lower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit

Upper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledProductOffering

Child groups of product offerings associated with the bundle. Same format as bundledProductOffering specified below.Data type: Array of Objects

bundledGroupProductOffering.​id

Sys_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String

Table: Product Offering Relationship Group [sn_prd_pm_product_offering_relationship_group]

bundledGroupProductOffering.​name

Name of the group of child product offerings.Data type: String

bundledProductOffering

List of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects

JavaScript
"bundledProductOffering": [  {    "bundledProductOfferingOption": {Object},    "externalId": "String",    "href": "String",    "id": "String",    "name": "String",    "version": Number  }]

bundledProductOffering.​bundledProductOfferingOption

Product bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object

JSON
"bundledProductOfferingOption": {  "numberRelOfferDefault": "String",  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault

Default number of product offerings that should be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit

Lower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit

Upper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​externalId

External ID of the product offering   relationship.For additional information on product offering relationships, see Create product offering relationships.

Data type: String

bundledProductOffering.​href

Relative link to the associated product offering.Data type: String

bundledProductOffering.​id

Sys_id or external ID of the bundled product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

bundledProductOffering.​name

Name of the product offering bundle.Data type: String

bundledProductOffering.​version

Catalog version of the product offering. Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table. 

category

List of categories that the product belongs to.Data type: Array of Objects

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

JSON
"channel:" [  {    "description": "String",    "id": "String",    "name": "String"  }]

channel.description

Description of the channel.Data type: String

channel.id

Sys_id of the channel.Data type: String

Table: Distribution Channel [sn_prd_pm_distribution_channel]

channel.name

Name of the channel.Data type: String

description

Description of the product offering.Data type: String

displayName

Display name of the product offering.Data type: String

externalId

External ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, external_id field

externalSystem

External system of the product offering, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

href

Relative link to the resource record.Data type: String

Default: Blank string

id

Required. Initial version or external ID of the product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version or external_id field

internalId

Sys_id or internal ID of the product offering record.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version field

internalVersion

Version of the product offering.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

isBundle

Flag that indicates whether the product offering is a bundle.Possible values:

  • true: Product offering is a bundle.
  • false: Single product offering.

Data type: Boolean

Default: false

isSellable

Flag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:

  • true: Can be sold separately.
  • false: Only sold as part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Date the product offering was last updated.Data type: String

lifecycleStatus

Current life cycle status of the product offering. Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

Default: Blank string

name

Name of the product offering.Data type: String

prodSpecCharValueUse

Product offering characteristics.Data type: Array of Objects

JavaScript
"prodSpecCharValueUse": [   {      "description": "String",      "name": "String",      "productSpecCharacteristicValue": [Array],      "validFor": {Object},      "valueType": "String"   }]

prodSpecCharValueUse.​description

Description of the characteristic.Data type: String

prodSpecCharValueUse.​name

Name of the characteristic.

Data type: String

prodSpecCharValueUse.​productSpecCharacteristicValue

List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

prodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

prodSpecCharValueUse.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​valueType

Data type of the prodSpecCharValueUse.productSpecCharacteristicValue.value parameter.Accepted values:

  • address
  • array.date
  • array.datetime
  • array.decimal
  • array.integer
  • array.object
  • array.single_line_text
  • attachment
  • checkbox
  • choice
  • date
  • date_time
  • decimal
  • duration
  • email
  • integer
  • object
  • single_line_text
  • yes_no

Data type: String

productCharacteristic

List of product characteristics.Data type: Array of Objects

Text
"productCharacteristic": [  {    "name": "String",    "value": "String"  }]

productCharacteristic.​name

Name of the characteristic.Data type: String

productCharacteristic.​value

Value of the characteristic.Data type: String

productOfferingCharacteristic

Characteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time (catalog authoring), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see Create product characteristics and characteristic options.

Data type: Array of Objects

CSS
productOfferingCharacteristic": [    {    "characteristicValueSpecification": [Array],    "name": "String",    "valueType": "String"  }]

productOfferingCharacteristic.​characteristicValueSpecification

List of characteristic values associated with the product offering characteristic.Data type: Array of Objects

JavaScript
"characteristicValueSpecification": [    {     "isDefault": Boolean,    "isMandatory": Boolean,    "value": "String"  }  ]

productOfferingCharacteristic.​characteristicValueSpecification.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:

  • true: Is default value.
  • false: Isn't the default value.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​isMandatory

Flag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:

  • true: Is mandatory.
  • false: Isn't mandatory.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​value

Number or text assigned to the associated product specification characteristic .For example:

Text
"characteristicValueSpecification": [  {    "value": "choice 1"  },  {    "value": "choice 2"  }]

Data type: String

productOfferingCharacteristic.​name

Name of the associated product offering characteristic.Data type: String

productOfferingCharacteristic.​valueType

Data type of the productOfferingCharacteristic.​characteristicValueSpecification.​value parameter.Possible values:

  • Array.Date
  • Array.Datetime
  • Array.Decimal
  • Array.Integer
  • Array.Object
  • Array.Single Line Test
  • Checkbox
  • Choice
  • Date,Address
  • Email
  • Integer,Date/Time
  • Object
  • Single Line Text
  • Yes/No

Data type: String

productOfferingPrice

Price information for the product offering.Data type: Array of Objects

Text
"productOfferingPrice": [  {    "price": {Object},    "priceType": "String"  }]

productOfferingPrice.​price

Price information for the product offering.Data type: Object

Text
"price": {  "taxIncludedAmount": {Object}}

productOfferingPrice.​price.taxIncludedAmount

Price information for the product offering.Data type: Object

Text
"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.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

JSON
"productSpecification": {  "id": "String",  "internalId": "String",  "internalVersion": "String",  "name": "String",  "version": "String"}

productSpecification.​id

Sys_id of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalId

Sys_id or internal ID of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​name

Name of the product specification.Data type: String

Table: In the name field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

status

Status of the product offering.Possible values:

  • draft
  • published

Data type: String

validFor

Date range the product offering is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.​​endDateTime

End date of the product offering.Data type: String

Format: YYY-MM-DD

validFor.startDateTime

Start date of the product offering.Data type: String

Format: YYY-MM-DD

version

External version of the product offering.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

The following code example retrieves the first two product offering records.
Shell
curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering?limit=2" \--header "Accept:application/json" \--user 'username':'password'

Response body:

JSON
[  {    "id": "7b012c4d41ea7910f8771355f12634a4",    "externalId": "7b012c4d41ea7910f8771355f12634a4",    "href": "/api/sn_tmf_api/catalogmanagement/productOffering/0361dd9fd0a63110f8770dbf976be16f",    "externalSystem": "Salesforce-TMF620",    "name": "Ultimate internet - 1Gbps Plan",    "displayName": "Ultimate internet - 1Gbps Plan",    "description": "Ultimate internet - 1Gbps Plan",    "isSellable": true,    "lifecycleStatus": "Active",    "isBundle": false,    "lastUpdate": "2025-03-08 02:07:04",    "version": "",    "internalVersion": "1",    "internalId": "0361dd9fd0a63110f8770dbf976be16f",    "validFor": {      "startDateTime": "2023-11-14",      "endDateTime": ""    },    "productOfferingTerm": "not_applicable",    "productOfferingPrice": [      {        "priceType": "recurring",        "price": {          "taxIncludedAmount": {            "unit": "USD",            "value": 0          }        }      },      {        "priceType": "nonRecurring",        "price": {          "taxIncludedAmount": {            "unit": "USD",            "value": 0          }        }      }    ],    "productOfferingCharacteristic": "",    "bundledProductOffering": [],    "bundledGroupProductOffering": [],    "productSpecification": {},    "prodSpecCharValueUse": [],    "channel": "",    "category": [      {        "id": "e6f0159fd0a63110f8770dbf976be18c",        "name": "Internet"      }    ],    "status": "published"  },  {    "id": "313b917843235210a82ed6085bb8f2c7",    "externalId": "313b917843235210a82ed6085bb8f2c7",    "href": "/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11",    "name": "Internet bundle",    "displayName": "Internet bundle",    "description": "Internet bundle",    "isSellable": false,    "lifecycleStatus": "Draft",    "isBundle": true,    "lastUpdate": "2025-04-09 15:59:09",    "version": "",    "internalVersion": "1",    "internalId": "03c99cb53bf066509b48d69a04e45a11",    "validFor": {      "startDateTime": "2028-12-15",      "endDateTime": "2034-01-14"    },    "productOfferingTerm": "not_applicable",    "productOfferingPrice": [      {        "priceType": "recurring",        "price": {          "taxIncludedAmount": {            "unit": "USD",            "value": 0          }        }      },      {        "priceType": "nonRecurring",        "price": {          "taxIncludedAmount": {            "unit": "USD",            "value": 0          }        }      }    ],    "productOfferingCharacteristic": [      {        "name": "Connectivity need",        "valueType": "choice",        "characteristicValueSpecification": [          {            "isMandatory": false,            "isDefault": false,            "value": "When in use"          }        ]      },      {        "name": "Firewall Security",        "valueType": "choice",        "characteristicValueSpecification": [          {            "isMandatory": false,            "isDefault": true,            "value": "Premium"          }        ]      }    ],    "bundledProductOffering": [      {        "href": "/api/sn_tmf_api/catalogmanagement/productOffering/57c99cb53bf066509b48d69a04e45a17",        "id": "0f61dd9fd0a63110f8770dbf976be168",        "externalId": "EXT-123",        "name": "Solana Sports streaming channel",        "version": "1",        "bundledProductOfferingOption": {          "numberRelOfferDefault": "1",          "numberRelOfferLowerLimit": "1",          "numberRelOfferUpperLimit": "1"        }      }    ],    "bundledGroupProductOffering": [      {        "id": "063b957843235210a82ed6085bb8f205",        "name": "Streaming Channel",        "bundledProductOffering": [          {            "href": "/api/sn_tmf_api/catalogmanagement/productOffering/5bc99cb53bf066509b48d69a04e45a1a",            "id": "62619d9fd0a63110f8770dbf976be180",            "externalId": "EXT-345",            "name": "Solana Movie streaming channel",            "version": "1",            "bundledProductOfferingOption": {              "numberRelOfferDefault": "1",              "numberRelOfferLowerLimit": "1",              "numberRelOfferUpperLimit": "1"            }          }        ],        "bundledGroupProductOfferingOption": {          "numberRelOfferLowerLimit": "1",          "numberRelOfferUpperLimit": "1"        }      }    ],    "productSpecification": {      "id": "cfe5ef6a53702010cd6dddeeff7b12f6",      "name": "SD-WAN Service Package",      "version": "",      "internalVersion": "3",      "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"    },    "prodSpecCharValueUse": [      {        "name": "Tenancy",        "description": "Tenancy",        "valueType": "choice",        "validFor": {          "startDatetime": "2025-02-27 21:04:24"        },        "productSpecCharacteristicValue": [          {            "value": "Premium (>50 sites)",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": false          },          {            "value": "Base (10 site)",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": false          }        ],        "productSpecification": {          "id": "216663aa53702010cd6dddeeff7b12b5",          "name": "SD-WAN Controller",          "version": "",          "internalVersion": "1",          "internalId": "216663aa53702010cd6dddeeff7b12b5"        }      }    ],    "channel": [      {        "id": "58ad5522c3702010df4773ce3640ddb2",        "name": "Agent Assist"      }    ],    "category": [      {        "id": "13e305a143b631105029d1529ab8f267",        "name": "SD-WAN_all_offers"      }    ],    "status": "draft"  }]

The following code example retrieves the product offerings whose translated name matches the specified value, and returns the results in French.

Shell
curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering?name=Forfait%20Internet%20Ultime%20-%201%20Gbps" \--header "Accept:application/json" \--header "Accept-Language:fr" \--user 'username':'password'

Response body:

JSON
[  {    "id": "7b012c4d41ea7910f8771355f12634a4",    "externalId": "7b012c4d41ea7910f8771355f12634a4",    "href": "/api/sn_tmf_api/catalogmanagement/productOffering/0361dd9fd0a63110f8770dbf976be16f",    "externalSystem": "Salesforce-TMF620",    "name": "Forfait Internet Ultime - 1 Gbps",    "displayName": "Ultimate internet - 1Gbps Plan",    "description": "Ultimate internet - 1Gbps Plan",    "isSellable": true,    "lifecycleStatus": "Active",    "isBundle": false,    "lastUpdate": "2025-03-08 02:07:04",    "version": "",    "internalVersion": "1",    "internalId": "0361dd9fd0a63110f8770dbf976be16f",    "validFor": {      "startDateTime": "2023-11-14",      "endDateTime": ""    },    "productOfferingTerm": "not_applicable",    "productOfferingPrice": [      {        "priceType": "recurring",        "price": {          "taxIncludedAmount": {            "unit": "USD",            "value": 0          }        }      },      {        "priceType": "nonRecurring",        "price": {          "taxIncludedAmount": {            "unit": "USD",            "value": 0          }        }      }    ],    "productOfferingCharacteristic": "",    "bundledProductOffering": [],    "bundledGroupProductOffering": [],    "productSpecification": {},    "prodSpecCharValueUse": [],    "channel": "",    "category": [      {        "id": "e6f0159fd0a63110f8770dbf976be18c",        "name": "Internet"      }    ],    "status": "published"  }]

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

Retrieves a specific product offering.

URL format

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

Supported request parameters

Name

Description

id

Initial version of the product offering to retrieve.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

Name

Description

externalID

Filter product offerings by external identifier. Only offerings with an externalID matching the value of this parameter are returned in the response. Data type: String

Default: Don't filter by externalID

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

Data type: String

Default: All fields are returned.

isSellable

Filter product offerings by sellable status. Only offerings with an isSellable value matching the specified value are returned in the response.- true: Offering is sellable.

  • false: Offering isn't sellable.

Data type: Boolean

Default: Don't filter by isSellable

name

Filter on the name of a product offering in the Product Offering [sn_prd_pm_product_offering] table. Combine the filter with the Accept-Language header to both filter on and return translated values.Default: Returns the name value in the language preference of your instance user.

If using Accept-Language header, returns the translated name value according to the language set for the name field in the sys_translated_text table.

For example, if a French translation exists for a product offering's name, you can filter on either the English name or the French name value.

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.Data type: String

Table: Product Specification [sn_prd_pm_product_specification]

state

Filter product offerings by state. Only product offerings in the specified state are returned in the response.Valid values:

  • archived
  • draft
  • published
  • retired

Data type: String

|Name|Description| |----|-----------| |None| |

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.

Header

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

|Header|Description| |------|-----------| |None| |

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status code

Description

200

Successful. The request was successfully processed.

400

Bad request. Possible reasons:

  • Invalid path parameter
  • Invalid URI

404

Not found. The requested item wasn't found.

### Response body parameters

Name

Description

bundledGroupProductOffering

Child groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects

JavaScript
"bundledGroupProductOffering": [  {    "bundledGroupProductOfferingOption": {Object},    "bundledProductOffering": [Array],    "id": "String",    "name": "String"  }]

bundledGroupProductOffering.​bundledGroupProductOfferingOption

A range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object

Text
"bundledGroupProductOfferingOption": {  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit

Lower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit

Upper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledProductOffering

Child groups of product offerings associated with the bundle. Same format as bundledProductOffering specified below.Data type: Array of Objects

bundledGroupProductOffering.​id

Sys_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String

Table: Product Offering Relationship Group [sn_prd_pm_product_offering_relationship_group]

bundledGroupProductOffering.​name

Name of the group of child product offerings.Data type: String

bundledProductOffering

List of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects

JavaScript
"bundledProductOffering": [  {    "bundledProductOfferingOption": {Object},    "externalId": "String",    "href": "String",    "id": "String",    "name": "String",    "version": Number  }]

bundledProductOffering.​bundledProductOfferingOption

Product bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object

JSON
"bundledProductOfferingOption": {  "numberRelOfferDefault": "String",  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault

Default number of product offerings that should be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit

Lower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit

Upper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​externalId

External ID of the product offering   relationship.For additional information on product offering relationships, see Create product offering relationships.

Data type: String

bundledProductOffering.​href

Relative link to the associated product offering.Data type: String

bundledProductOffering.​id

Sys_id or external ID of the bundled product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

bundledProductOffering.​name

Name of the product offering bundle.Data type: String

bundledProductOffering.​version

Catalog version of the product offering. Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table. 

category

List of categories that the product belongs to.Data type: Array of Objects

Text
"category:" [  {    "id": "String",    "name": "String"  }]

category.id

Sys_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

JSON
"channel:" [  {    "description": "String",    "id": "String",    "name": "String"  }]

channel.​description

Description of the channel.Data type: String

channel.id

Sys_id of the channel.Data type: String

Table: Distribution Channel [sn_prd_pm_distribution_channel]

channel.name

Name of the channel.Data type: String

description

Description of the product offering.Data type: String

displayName

Display name of the product offering.Data type: String

externalId

External ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, external_id field

externalSystem

External system of the product offering, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

href

Relative link to the resource record.Data type: String

Default: Blank string

id

Required. Initial version or external ID of the product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version or external_id field

internalId

Sys_id or internal ID of the product offering record.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version field

internalVersion

Version of the product offering.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

isBundle

Flag that indicates whether the product offering is a bundle.Possible values:

  • true: Product offering is a bundle.
  • false: Single product offering.

Data type: Boolean

Default: false

isSellable

Flag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:

  • true: Can be sold separately.
  • false: Only sold as part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Date the product offering was last updated.Data type: String

Format: YYYY-MM-DD HH-mm-SS

lifecycleStatus

Current life cycle status of the product offering. Possible values:

  • Active
  • Inactive
  • Draft

Data type: String

Default: Blank string

name

Name of the product offering.Data type: String

prodSpecCharValueUse

Product offering characteristics.Data type: Array of Objects

JavaScript
"prodSpecCharValueUse": [   {      "description": "String",      "name": "String",      "productSpecCharacteristicValue": [Array],      "validFor": {Object},      "valueType": "String"   }]

prodSpecCharValueUse.​description

Description of the characteristic.Data type: String

prodSpecCharValueUse.​name

Name of the characteristic.

Data type: String

prodSpecCharValueUse.​productSpecCharacteristicValue

List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

prodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

prodSpecCharValueUse.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​valueType

Data type of the prodSpecCharValueUse.productSpecCharacteristicValue.value parameter.Accepted values:

  • address
  • array.date
  • array.datetime
  • array.decimal
  • array.integer
  • array.object
  • array.single_line_text
  • attachment
  • checkbox
  • choice
  • date
  • date_time
  • decimal
  • duration
  • email
  • integer
  • object
  • single_line_text
  • yes_no

Data type: String

productCharacteristic

List of product characteristics.Data type: Array of Objects

Text
"productCharacteristic": [   {      "name": "String",      "value": "String"   }]

productCharacteristic.​name

Name of the characteristic.Data type: String

productCharacteristic.​value

Value of the characteristic.Data type: String

productOfferingCharacteristic

Characteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time (catalog authoring), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see Create product characteristics and characteristic options.

Data type: Array of Objects

CSS
productOfferingCharacteristic": [    {    "characteristicValueSpecification": [Array],    "name": "String",    "valueType": "String"  }]

productOfferingCharacteristic.​characteristicValueSpecification

List of characteristic values associated with the product offering characteristic.Data type: Array of Objects

JavaScript
"characteristicValueSpecification": [    {     "isDefault": Boolean,    "isMandatory": Boolean,    "value": "String"  }  ]

productOfferingCharacteristic.​characteristicValueSpecification.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:

  • true: Is default value.
  • false: Isn't the default value.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​isMandatory

Flag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:

  • true: Is mandatory.
  • false: Isn't mandatory.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​value

Number or text assigned to the associated product specification characteristic .For example:

Text
"characteristicValueSpecification": [  {    "value": "choice 1"  },  {    "value": "choice 2"  }]

Data type: String

productOfferingCharacteristic.​name

Name of the associated product offering characteristic.Data type: String

productOfferingCharacteristic.​valueType

Data type of the productOfferingCharacteristic.​characteristicValueSpecification.​value parameter.Possible values:

  • Array.Date
  • Array.Datetime
  • Array.Decimal
  • Array.Integer
  • Array.Object
  • Array.Single Line Test
  • Checkbox
  • Choice
  • Date,Address
  • Email
  • Integer,Date/Time
  • Object
  • Single Line Text
  • Yes/No

Data type: String

productOfferingPrice

Price information for the product offering.Data type: Array of Objects

Text
"productOfferingPrice": [   {      "price": {Object},      "priceType": "String"   }]

productOfferingPrice.​price

Price information for the product offering.Data type: Object

Text
"price": {   "taxIncludedAmount": {Object}}

productOfferingPrice.​price.​taxIncludedAmount

Price information for the product offering.Data type: Object

Text
"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.Possible values:

  • nonRecurring
  • 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

JSON
"productSpecification": {  "id": "String",  "internalId": "String",  "internalVersion": "String",  "name": "String",  "version": "String"}

productSpecification.​id

Sys_id of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalId

Sys_id or internal ID of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​name

Name of the product specification.Data type: String

Table: In the name field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

status

Status of the product offering.Possible values:

  • draft
  • published

Data type: String

validFor

Date range the product offering is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.​endDateTime

End date of the product offering.Data type: String

Format: YYYY-MM-DD

validFor.​startDateTime

Start date of the product offering.Data type: String

Format: YYYY-MM-DD

version

External version of the product offering.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

### cURL request

This example retrieves the specified product offering.

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

Response body:

JSON
{  "id": "313b917843235210a82ed6085bb8f2c7",  "externalId": "313b917843235210a82ed6085bb8f2c7",  "href": "/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11",  "externalSystem": "Salesforce-TMF620",  "name": "Internet bundle",  "displayName": "Internet bundle",  "description": "Internet bundle",  "isSellable": false,  "lifecycleStatus": "Draft",  "isBundle": true,  "lastUpdate": "2025-04-09 15:59:09",  "version": "",  "internalVersion": "1",  "internalId": "03c99cb53bf066509b48d69a04e45a11",  "validFor": {    "startDateTime": "2028-12-15",    "endDateTime": "2034-01-14"  },  "productOfferingTerm": "not_applicable",  "productOfferingPrice": [    {      "priceType": "recurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": 0        }      }    },    {      "priceType": "nonRecurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": 0        }      }    }  ],  "productOfferingCharacteristic": [    {      "name": "Connectivity need",      "valueType": "choice",      "characteristicValueSpecification": [        {          "isMandatory": false,          "isDefault": false,          "value": "When in use"        }      ]    },    {      "name": "Firewall Security",      "valueType": "choice",      "characteristicValueSpecification": [        {          "isMandatory": false,          "isDefault": true,          "value": "Premium"        }      ]    }  ],  "bundledProductOffering": [    {      "href": "/api/sn_tmf_api/catalogmanagement/productOffering/57c99cb53bf066509b48d69a04e45a17",      "id": "0f61dd9fd0a63110f8770dbf976be168",      "externalId": "EXT-123",      "name": "Solana Sports streaming channel",      "version": "1",      "bundledProductOfferingOption": {        "numberRelOfferDefault": "1",        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "bundledGroupProductOffering": [    {      "id": "063b957843235210a82ed6085bb8f205",      "name": "Streaming Channel",      "bundledProductOffering": [        {          "href": "/api/sn_tmf_api/catalogmanagement/productOffering/5bc99cb53bf066509b48d69a04e45a1a",          "id": "62619d9fd0a63110f8770dbf976be180",          "externalId": "EXT-345",          "name": "Solana Movie streaming channel",          "version": "1",          "bundledProductOfferingOption": {            "numberRelOfferDefault": "1",            "numberRelOfferLowerLimit": "1",            "numberRelOfferUpperLimit": "1"          }        }      ],      "bundledGroupProductOfferingOption": {        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "productSpecification": {    "id": "cfe5ef6a53702010cd6dddeeff7b12f6",    "name": "SD-WAN Service Package",    "version": "",    "internalVersion": "3",    "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"  },  "prodSpecCharValueUse": [    {      "name": "Tenancy",      "description": "Tenancy",      "valueType": "choice",      "validFor": {        "startDatetime": "2025-02-27 21:04:24"      },      "productSpecCharacteristicValue": [        {          "value": "Premium (>50 sites)",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "Base (10 site)",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "productSpecification": {        "id": "216663aa53702010cd6dddeeff7b12b5",        "name": "SD-WAN Controller",        "version": "",        "internalVersion": "1",        "internalId": "216663aa53702010cd6dddeeff7b12b5"      }    }  ],  "channel": [    {      "id": "58ad5522c3702010df4773ce3640ddb2",      "name": "Agent Assist"    }  ],  "category": [    {      "id": "13e305a143b631105029d1529ab8f267",      "name": "SD-WAN_all_offers"    }  ],  "status": "draft"}

cURL request

This example retrieves the specified product offering and returns the translated field values in French.

Shell
curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11" \--header "Accept-Language:fr" \--user 'username':'password'

Response body:

JSON
{  "id": "313b917843235210a82ed6085bb8f2c7",  "externalId": "313b917843235210a82ed6085bb8f2c7",  "href": "/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11",  "externalSystem": "Salesforce-TMF620",  "name": "Offre groupée Internet",  "displayName": "Internet bundle",  "description": "Internet bundle",  "isSellable": false,  "lifecycleStatus": "Draft",  "isBundle": true,  "lastUpdate": "2025-04-09 15:59:09",  "version": "",  "internalVersion": "1",  "internalId": "03c99cb53bf066509b48d69a04e45a11",  "validFor": {    "startDateTime": "2028-12-15",    "endDateTime": "2034-01-14"  },  "productOfferingTerm": "not_applicable",  "productOfferingPrice": [    {      "priceType": "recurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": 0        }      }    },    {      "priceType": "nonRecurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": 0        }      }    }  ],  "productOfferingCharacteristic": [    {      "name": "Connectivity need",      "valueType": "choice",      "characteristicValueSpecification": [        {          "isMandatory": false,          "isDefault": false,          "value": "When in use"        }      ]    },    {      "name": "Firewall Security",      "valueType": "choice",      "characteristicValueSpecification": [        {          "isMandatory": false,          "isDefault": true,          "value": "Premium"        }      ]    }  ],  "bundledProductOffering": [    {      "href": "/api/sn_tmf_api/catalogmanagement/productOffering/57c99cb53bf066509b48d69a04e45a17",      "id": "0f61dd9fd0a63110f8770dbf976be168",      "externalId": "EXT-123",      "name": "Solana Sports streaming channel",      "version": "1",      "bundledProductOfferingOption": {        "numberRelOfferDefault": "1",        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "bundledGroupProductOffering": [    {      "id": "063b957843235210a82ed6085bb8f205",      "name": "Streaming Channel",      "bundledProductOffering": [        {          "href": "/api/sn_tmf_api/catalogmanagement/productOffering/5bc99cb53bf066509b48d69a04e45a1a",          "id": "62619d9fd0a63110f8770dbf976be180",          "externalId": "EXT-345",          "name": "Solana Movie streaming channel",          "version": "1",          "bundledProductOfferingOption": {            "numberRelOfferDefault": "1",            "numberRelOfferLowerLimit": "1",            "numberRelOfferUpperLimit": "1"          }        }      ],      "bundledGroupProductOfferingOption": {        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "productSpecification": {    "id": "cfe5ef6a53702010cd6dddeeff7b12f6",    "name": "SD-WAN Service Package",    "version": "",    "internalVersion": "3",    "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"  },  "prodSpecCharValueUse": [    {      "name": "Tenancy",      "description": "Tenancy",      "valueType": "choice",      "validFor": {        "startDatetime": "2025-02-27 21:04:24"      },      "productSpecCharacteristicValue": [        {          "value": "Premium (>50 sites)",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "Base (10 site)",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "productSpecification": {        "id": "216663aa53702010cd6dddeeff7b12b5",        "name": "SD-WAN Controller",        "version": "",        "internalVersion": "1",        "internalId": "216663aa53702010cd6dddeeff7b12b5"      }    }  ],  "channel": [    {      "id": "58ad5522c3702010df4773ce3640ddb2",      "name": "Agent Assist"    }  ],  "category": [    {      "id": "13e305a143b631105029d1529ab8f267",      "name": "SD-WAN_all_offers"    }  ],  "status": "draft"}

Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productOfferingPrice

Retrieves all price list line records in the instance.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOfferingPrice

Supported request parameters

Name Description
none

Name

Description

lastUpdate

Filter results by the date that the price line was last updated.Format: YYYY-MM-DD HH:mm:ss

Data type: String

name

Filter on name of a given price list in the Price Lists [sn_csm_pricing_price_list] table. Combine the filter with the Accept-Language header to both filter on and return translated values.If using Accept-Language header, returns the translated name value according to the language set for the name field in the sys_translated_text table.

For example, if a French translation exists for a product offering's name, you can filter on either the English name or the French name value.

Data type: String

Default: Returns the name value in the language preference of your instance user.

price.value

Filter results by a specific list price value.Data type: String

priceList.id

Filter results to return only a price list with a given sys_id.Table: Price Lists [sn_csm_pricing_price_list]

Data type: String

priceType

Filter results by the pricing method of the product offering.Valid values:

  • recurring: Lets businesses charge recurring pricing amounts with a specified frequency.
  • one_time: Supports one-time or recurring add-on charges and fees for a product offering.

Data type: String

productOffering.​id

Filter the price list line by the product offering’s sys_id.Table: Product offering [sn_prd_pm_product_offering]

Data type: String

unitOfMeasure.​id

Filter the price list line by sys_id of the unit of measure.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

validFor.​endDateTime

Filter the price list line by a given end date and time.Format: YYYY-MM-DD HH:mm:ss

Data type: String

validFor.​startDateTime

Filter price list line by a given start date and time.Format: YYYY-MM-DD HH:mm:ss

Data type: String

|Name|Description| |----|-----------| |None| |

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.

Header

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

|Header|Description| |------|-----------| |Content-Type|Data format of the response body. Only supports **application/json**.|

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.

Status code

Description

200

Successful. The request was successfully processed.

400

Bad request. Possible reasons:

  • Invalid path parameter
  • Invalid URI

404

Not found. The requested item wasn't found.

### Response body parameters \(JSON or XML\)

Name

Description

@type

Type of price list line. Always a value of ProductOfferingPrice.Data type: String

href

URL to the price list line record in the instance.Data type: String

id

Sys_id of the price list line. Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

isBundle

Flag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:

  • true: Price list line is part of a bundle.
  • false: Price list line isn't part of a bundle.

Data type: Boolean

lastUpdate

Date and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss

Data type: String

lifecycleStatus

Current life cycle status of the price list line.Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

price

List price details of the price list line.Data type: Object

Text
"price": {  "units": "String",  "value": "String"}

price.units

Currency code of the price. For example, USD or EUR. Table: Currency [fx_currency]

Data type: String

price.value

Value of the price.Data type: String (represented with a number)

priceList

Price list information associated with the price list line.Data type: Object

JSON
"priceList": {  "id": "String",  "name": "String",  "@type": "String"}

priceList.@type

The type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of priceList.Data type: String

priceList.id

Sys_id of the price list in the Price List [sn_csm_pricing_price_list] table.Data type: String

priceList.name

Name of the price list.Data type: String

priceType

The pricing method of the product offering which is associated with this price list line.Possible values:

  • recurring: Charge recurring pricing amounts with a specified frequency. The value of recurringChargePeriodType indicates the frequency of the charge.
  • one_time: One-time or recurring add-on charges and fees for a product offering.

Data type: String

productOffering

Product offering that is associated with the price list line.Data type: Object

JSON
"productOffering": {  "id": "String",  "name": "String",  "internalVersion": "String"}

productOffering.id

Sys_id of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​internalVersion

Internal version number of the product offering. For example, PRDOF01024. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​name

Name of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

recurringChargePeriodType

The periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if priceType was set to recurring, otherwise returns an empty string.Possible values:

  • annually
  • monthly

Data type: String

unitOfMeasure

Details about the unit of measure associated with the price list line.Data type: Object

JavaScript
"unitOfMeasure": {  "id": "String",  "amount": Number,  "units": "String"}

unitOfMeasure.amount

Amount of the unit of measure.Data type: Number

unitOfMeasure.id

Sys_id of the unit of measure.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

unitOfMeasure.​units

Type of the unit of measure associated with the price list line. For example, year or bundle.Data type: String

validFor

The duration of time that the price list line is valid for.Data type: Object

Text
"validFor": {  "endDate": "String",  "startDate": "String"}

validFor.endDate

End date and time that the price list line is valid for.Data type: String (glide_date_time)

validFor.startDate

Start date and time that the price list line is valid for.Data type: String (glide_date_time)

### cURL request

The following example returns all two price list lines that exist on the instance.

Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/ catalogmanagement/productOfferingPrice " \--request GET\--user 'username':'password'

Response body.

JSON
[  {    "id": "2c4628ac7f4f9e50f8994fa63c86653c",    "name": "new Price list",    "lastUpdate": "2025-01-08 19:57:28",    "isBundle": false,    "lifecycleStatus": "Draft",    "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/2c4628ac7f4f9e50f8994fa63c86653c",    "validFor": {      "startDateTime": "2027-03-22 22:15:58",      "endDateTime": ""    },    "productOffering": {      "id": "f2c92ac6a5260210f8774c9b4be6ce56",      "name": "Managed Connectivity Services Supreme Bundle",      "internalVersion": "1"    },    "priceType": "one_time",    "recurringChargePeriodType": "",    "unitOfMeasure": {      "id": "9a7a119953020110286eddeeff7b1238",      "amount": 1,      "units": "Month"    },    "price": {      "units": "USD",      "value": "800"    },    "priceList": {      "id": "d653246c7f4f9e50f8994fa63c86655a",      "name": "new Price list",      "@type": "priceList"    },    "@type": "ProductOfferingPrice"  },  {    "id": "dfb7ec607f8f9e50f8994fa63c866569",    "name": "new Price list",    "lastUpdate": "2025-01-08 19:57:46",    "isBundle": false,    "lifecycleStatus": "Draft",    "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569",    "validFor": {      "startDateTime": "2026-05-28 22:15:58",      "endDateTime": ""    },    "productOffering": {      "id": "f2c92ac6a5260210f8774c9b4be6ce56",      "name": "Managed Connectivity Services Supreme Bundle",      "internalVersion": "1"    },    "priceType": "one_time",    "recurringChargePeriodType": "",    "unitOfMeasure": {      "id": "1eaa559953020110286eddeeff7b12c7",      "amount": 1,      "units": "Year"    },    "price": {      "units": "USD",      "value": "800"    },    "priceList": {      "id": "d653246c7f4f9e50f8994fa63c86655a",      "name": "new Price list",      "@type": "priceList"    },    "@type": "ProductOfferingPrice"  }]

cURL request

The following example returns the price list lines whose translated name matches the specified value, and returns the results in French.

Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice?name=Nouvelle%20liste%20de%20prix" \--request GET \--header "Accept-Language:fr" \--user 'username':'password'

Response body.

JSON
[  {    "id": "2c4628ac7f4f9e50f8994fa63c86653c",    "name": "Nouvelle liste de prix",    "lastUpdate": "2025-01-08 19:57:28",    "isBundle": false,    "lifecycleStatus": "Draft",    "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/2c4628ac7f4f9e50f8994fa63c86653c",    "validFor": {      "startDateTime": "2027-03-22 22:15:58",      "endDateTime": ""    },    "productOffering": {      "id": "f2c92ac6a5260210f8774c9b4be6ce56",      "name": "Managed Connectivity Services Supreme Bundle",      "internalVersion": "1"    },    "priceType": "one_time",    "recurringChargePeriodType": "",    "unitOfMeasure": {      "id": "9a7a119953020110286eddeeff7b1238",      "amount": 1,      "units": "Month"    },    "price": {      "units": "USD",      "value": "800"    },    "priceList": {      "id": "d653246c7f4f9e50f8994fa63c86655a",      "name": "new Price list",      "@type": "priceList"    },    "@type": "ProductOfferingPrice"  },  {    "id": "dfb7ec607f8f9e50f8994fa63c866569",    "name": "Nouvelle liste de prix",    "lastUpdate": "2025-01-08 19:57:46",    "isBundle": false,    "lifecycleStatus": "Draft",    "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569",    "validFor": {      "startDateTime": "2026-05-28 22:15:58",      "endDateTime": ""    },    "productOffering": {      "id": "f2c92ac6a5260210f8774c9b4be6ce56",      "name": "Managed Connectivity Services Supreme Bundle",      "internalVersion": "1"    },    "priceType": "one_time",    "recurringChargePeriodType": "",    "unitOfMeasure": {      "id": "1eaa559953020110286eddeeff7b12c7",      "amount": 1,      "units": "Year"    },    "price": {      "units": "USD",      "value": "800"    },    "priceList": {      "id": "d653246c7f4f9e50f8994fa63c86655a",      "name": "new Price list",      "@type": "priceList"    },    "@type": "ProductOfferingPrice"  }]

Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productOfferingPrice/{id}

Retrieve details about a specific price list line.

URL format

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

Supported request parameters

Name

Description

id

Required. Sys_id of the price list line to retrieve. Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

Name

Description

lastUpdate

Filter results by the date that the price line was last updated.Format: YYYY-MM-DD HH:mm:ss

Data type: String

name

Filter price list lines that belong to the name of a given price list.Table: Price Lists [sn_csm_pricing_price_list]

Data type: String

price.value

Filter results by a specific list price value.Data type: String

priceList.id

Filter results to return only a price list with a given sys_id.Table: Price Lists [sn_csm_pricing_price_list]

Data type: String

priceType

Filter results by the pricing method of the product offering.Valid values:

  • recurring: Lets businesses charge recurring pricing amounts with a specified frequency.
  • one_time: Supports one-time or recurring add-on charges and fees for a product offering.

Data type: String

productOffering.​id

Filter the price list line by the product offering’s sys_id.Table: Product offering [sn_prd_pm_product_offering]

Data type: String

unitOfMeasure.​id

Filter the price list line by sys_id of the unit of measure.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

validFor.​endDateTime

Filter the price list line by a given end date and time.Format: YYYY-MM-DD HH:mm:ss

Data type: String

validFor.​startDateTime

Filter price list line by a given start date and time.Format: YYYY-MM-DD HH:mm:ss

Data type: String

Name

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

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

Header

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

|Header|Description| |------|-----------| |Content-Type|Data format of the response body. Only supports **application/json**.|

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.

Status code

Description

200

Successful. The request was successfully processed.

400

Bad request. Possible reasons:

  • Invalid path parameter
  • Invalid URI

404

Not found. The requested item wasn't found.

### Response body parameters \(JSON or XML\)

Name

Description

@type

Type of price list line. Always a value of ProductOfferingPrice.Data type: String

href

URL to the price list line record in the instance.Data type: String

id

Sys_id of the price list line. Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

isBundle

Flag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:

  • true: Price list line is part of a bundle.
  • false: Price list line isn't part of a bundle.

Data type: Boolean

lastUpdate

Date and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss

Data type: String

lifecycleStatus

Current life cycle status of the price list line.Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

price

List price details of the price list line.Data type: Object

Text
"price": {  "units": "String",  "value": "String"}

price.units

Currency code of the price. For example, USD or EUR. Table: Currency [fx_currency]

Data type: String

price.value

Value of the price.Data type: String (represented with a number)

priceList

Price list information associated with the price list line.Data type: Object

JSON
"priceList": {  "id": "String",  "name": "String",  "@type": "String"}

priceList.@type

The type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of priceList.Data type: String

priceList.id

Sys_id of the price list in the Price List [sn_csm_pricing_price_list] table.Data type: String

priceList.name

Name of the price list.Data type: String

priceType

The pricing method of the product offering which is associated with this price list line.Possible values:

  • recurring: Charge recurring pricing amounts with a specified frequency. The value of recurringChargePeriodType indicates the frequency of the charge.
  • one_time: One-time or recurring add-on charges and fees for a product offering.

Data type: String

productOffering

Product offering that is associated with the price list line.Data type: Object

JSON
"productOffering": {  "id": "String",  "name": "String",  "internalVersion": "String"}

productOffering.id

Sys_id of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​internalVersion

Internal version number of the product offering. For example, PRDOF01024. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​name

Name of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

recurringChargePeriodType

The periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if priceType was set to recurring, otherwise returns an empty string.Possible values:

  • annually
  • monthly

Data type: String

unitOfMeasure

Details about the unit of measure associated with the price list line.Data type: Object

JavaScript
"unitOfMeasure": {  "id": "String",  "amount": Number,  "units": "String"}

unitOfMeasure.amount

Amount of the unit of measure.Data type: Number

unitOfMeasure.id

Sys_id of the unit of measure.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

unitOfMeasure.​units

Type of the unit of measure associated with the price list line. For example, year or bundle.Data type: String

validFor

The duration of time that the price list line is valid for.Data type: Object

Text
"validFor": {  "endDate": "String",  "startDate": "String"}

validFor.endDate

End date and time that the price list line is valid for.Data type: String (glide_date_time)

validFor.startDate

Start date and time that the price list line is valid for.Data type: String (glide_date_time)

### cURL request

The following example returns details of the product offering price with ID dfb7ec60...

Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569" \--request GET\--user 'username':'password'

Response.

JSON
{  "id": "dfb7ec607f8f9e50f8994fa63c866569",  "name": "new Price list",  "lastUpdate": "2025-01-08 19:57:46",  "isBundle": false,  "lifecycleStatus": "Draft",  "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569",  "validFor": {    "startDateTime": "2026-05-28 22:15:58",    "endDateTime": ""  },  "productOffering": {    "id": "f2c92ac6a5260210f8774c9b4be6ce56",    "name": "Managed Connectivity Services Supreme Bundle",    "internalVersion": "1"  },  "priceType": "one_time",  "recurringChargePeriodType": "",  "unitOfMeasure": {    "id": "1eaa559953020110286eddeeff7b12c7",    "amount": 1,    "units": "Year"  },  "price": {    "units": "USD",    "value": "800"  },  "priceList": {    "id": "d653246c7f4f9e50f8994fa63c86655a",    "name": "new Price list",    "@type": "priceList"  },  "@type": "ProductOfferingPrice"}

cURL request

The following example returns details of the product offering price with ID dfb7ec60..., with the translated field values returned in French.

Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569" \--request GET \--header "Accept-Language:fr" \--user 'username':'password'

Response.

JSON
{  "id": "dfb7ec607f8f9e50f8994fa63c866569",  "name": "Nouvelle liste de prix",  "lastUpdate": "2025-01-08 19:57:46",  "isBundle": false,  "lifecycleStatus": "Draft",  "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/dfb7ec607f8f9e50f8994fa63c866569",  "validFor": {    "startDateTime": "2026-05-28 22:15:58",    "endDateTime": ""  },  "productOffering": {    "id": "f2c92ac6a5260210f8774c9b4be6ce56",    "name": "Managed Connectivity Services Supreme Bundle",    "internalVersion": "1"  },  "priceType": "one_time",  "recurringChargePeriodType": "",  "unitOfMeasure": {    "id": "1eaa559953020110286eddeeff7b12c7",    "amount": 1,    "units": "Year"  },  "price": {    "units": "USD",    "value": "800"  },  "priceList": {    "id": "d653246c7f4f9e50f8994fa63c86655a",    "name": "new Price list",    "@type": "priceList"  },  "@type": "ProductOfferingPrice"}

Product Catalog Open API - GET /sn_tmf_api/catalogmanagement/productSpecification

Retrieves all product specification records.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productSpecification

Supported request parameters

Name Description
None

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

Data type: String

Default: All fields are returned.

limit

Maximum number of records to return. For requests that exceed this number of records, use the offset parameter to paginate record retrieval. Data type: Number

Default: 20

Maximum: 100

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.Data type: Number

Default: 0

state

Current state of the order. For this endpoint, this value is always new.Data type: String

name

Filter product specifications on the name value. Combine the filter with the Accept-Language header to both filter on and return translated values.Default: Returns the name value in the language preference of your instance user.

If using Accept-Language header, returns the translated name value according to the language set for the name field in the sys_translated_text table.

For example, if a French translation exists for a product offering's name, you can filter on either the English name or the French name value.

Data type: String

|Name|Description| |----|-----------| |None| |

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.

Header

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

Header

Description

Content-Range

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.

X-Total-Count

For paginated queries, this header specifies the total number of records available on the server.

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

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

404

Record not found. No records matching the query parameters are found in the table.

### Response body parameters \(JSON\)

Name

Description

description

Description of the specification.Data type: String

displayName

Display name for the product specification.Data type: String

externalId

External ID of the product specification. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.

Data type: String

Table: In the external_id field of the Product Specification [sn_prd_pm_product_specification] table.

href

Relative link to the resource record.Data type: String

Default: Blank string

externalSystem

External system of the product specification, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

id

Sys_id or external ID of the product specification.Data type: String

Table: In the sys_id or external_id field of the Product Specification [sn_prd_pm_product_specification] table.

internalId

Sys_id or internal ID of the product specification.

Data type: String

Table: In the initial_version field of the Product Specification [sn_prd_pm_product_specification] table.

internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Specification [sn_prd_pm_product_specification] table.

isBundle

Flag that indicates whether productSpecification represents a single product or a bundle of products.Possible values:

  • true: The product specification is a product bundle and contains multiple products.
  • false: The product specification contains a single product.

Data type: Boolean

lastUpdate

Date the specification was last updated.Data type: String

lifecycleStatus

Current life cycle status of the product specification. Possible values:

  • Active
  • Inactive
  • Draft

Data type: String

name

Name of the specification.Data type: String

productSpecCharacteristic

Product specification characteristic.Data type: Array of Objects

JavaScript
"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 the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

productSpecCharacteristic.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

productSpecCharacteristic.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​valueType

Value type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String

Accepted values:

  • Date,Address
  • Integer,Date/Time
  • Array.Integer
  • Array.Single Line Test
  • Single Line Test
  • Array.Object
  • Array.Date
  • Array.Decimal
  • Yes/No
  • Object
  • Array.Datetime
  • Checkbox
  • Email
  • Choice

productSpecificationRelationship

This specification's relationships to other product specifications.Data type: Array of Objects

JavaScript
"productSpecificationRelationship": [  {    "compatibilityRelationshipType": "String",    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "prodSpecRelationshipOption": {Object},    "type": "String",    "validFor": {Object},    "version": "String"]

productSpecificationRelationship.​compatibilityRelationshipType

Compatibility relationship type in the product specification expected values. For additional information on compatibility relationships, see Configuring compatibility rules for horizontal relationships.

Table: Compatibles [sn_compt_mgmt_compatibles]

productSpecificationRelationship​.id

Sys_id of the related specification.Data type: String

productSpecificationRelationship.​internalId

Sys_id (internal ID) of the product specification relationship.Data type: String

productSpecificationRelationship.​internalVersion

Version of the product specification relationship.Data type: String

productSpecificationRelationship.​name

Name of the product specification relationship.Data type: String

productSpecificationRelationship.​prodSpecRelationshipOption

Cardinality of the product specification relationship.Data type: Object

JSON
"prodSpecRelationshipOption": {  "numberSpecRelDefault": "String",  "numberSpecRelLowerLimit": "String",  "numberSpecRelUpperLimit": "String"}

productSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelDefault

Default value of the product specification.Data type: String

productSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelLowerLimit

Minimum number of orders that can be purchased.Data type: String

productSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelUpperLimit

Maximum number of orders that can be purchased.Data type: String

productSpecificationRelationship.​type

Type of product specification relationship.Data type: String

productSpecificationRelationship.​validFor

Date range the product specification relationship is valid for.Data type: Object

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

productSpecificationRelationship.​version

Version of the product specification relationship.Data type: String

resourceSpecification

List of resource specifications related to this product specification.Data type: Array of Objects

JSON
"resourceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

resourceSpecification.​id

Sys_id or external ID of the resource specification.Data type: String

Table: In the sys_id or external_id field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalId

Initial version (sys_id) of the resource specification record.Data type: String

Table: In the initial_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalVersion

Version of the resource specification.Data type: String

Table: In the version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​name

Name of the resource specification.Data type: String

Table: Resource Specification [sn_prd_pm_resource_specification]

resourceSpecification.​version

External version of the resource specification.Data type: String

Table: In the external_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

serviceSpecification

List of service specifications related to this product specification.Data type: Array of Objects

JSON
"serviceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

serviceSpecification.​id

Initial version or external ID of the service specification.Data type: String

Table: In the sys_id or external_id field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalId

Initial version of the service specification.Data type: String

Table: In the initial_version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalVersion

Version of the service specification.Data type: String

Table: In the version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​name

Name of the service specification.Data type: String

Table: Service Specification [sn_prd_pm_service_specification]

serviceSpecification.​version

External version of the service specification.Data type: String

Table: In the external_version field of the Service Specification [sn_prd_pm_service_specification] table.

status

Status of the product specification.Possible values:

  • draft
  • published

Data type: String

validFor

Date range the specification is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.​endDateTime

End date of the specification.Data type: String

Format: YYYY-MM-DD

validFor.​startDateTime

Start date of the specification.Data type: String

Format: YYYY-MM-DD

version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Specification [sn_prd_pm_product_specification] table.

### cURL request

This example retrieves the first two product specification records.

Shell
curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification?limit=2" \--header "Accept:application/json" \--user 'username':'password'

Response body:

JSON
[  {    "id": "0435b48a742e4a10f877468e695efa3c",    "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/0435b48a742e4a10f877468e695efa3c",    "externalSystem": "Salesforce-TMF620",    "name": "Managed PoS PS",    "displayName": "Managed PoS PS",    "version": "",    "internalVersion": "1",    "internalId": "0435b48a742e4a10f877468e695efa3c",    "description": "Managed PoS PS",    "lastUpdate": "2032-09-26 20:07:12",    "lifecycleStatus": "Active",    "isBundle": false,    "validFor": {      "startDateTime": "2032-09-26",      "endDateTime": ""    },    "serviceSpecification": [],    "productSpecificationRelationship": [],    "resourceSpecification": [],    "productSpecCharacteristic": [      {        "productSpecCharacteristicValue": [          {            "value": "4",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": true          },          {            "value": "2",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": true          },          {            "value": "1",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": true          }        ],        "name": "Number of POS Terminals",        "description": "Number of POS Terminals",        "valueType": "choice",        "validFor": {          "startDatetime": "2024-05-31 21:43:14"        }      },      {        "productSpecCharacteristicValue": [          {            "value": "Gold",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": true          },          {            "value": "Bronze",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": true          },          {            "value": "Silver",            "validFor": {              "startDateTime": ""            },            "isDefault": false,            "isMandatory": true          }        ],        "name": "Managed Service Level",        "description": "Managed Service Level",        "valueType": "choice",        "validFor": {          "startDatetime": "2024-05-31 21:15:24"        }      }    ],    "status": "published"  },  {    "id": "1a0936f840102610f87798b149fd435d",    "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/1a0936f840102610f87798b149fd435d",    "name": "Wi-Fi Configuration Setup Service PS",    "displayName": "Wi-Fi Configuration Setup Service PS",    "version": "",    "internalVersion": "1",    "internalId": "1a0936f840102610f87798b149fd435d",    "description": "Wi-Fi Configuration Setup Service PS",    "lastUpdate": "2025-03-13 21:01:14",    "lifecycleStatus": "Active",    "isBundle": false,    "validFor": {      "startDateTime": "2025-03-12",      "endDateTime": ""    },    "serviceSpecification": [],    "productSpecificationRelationship": [],    "resourceSpecification": [],    "productSpecCharacteristic": [],    "status": "published"  }]

cURL request

This example retrieves the product specifications whose translated name matches the specified value, and returns the results in French.

Shell
curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification?name=Service%20de%20configuration%20Wi-Fi%20PS" \--header "Accept:application/json" \--header "Accept-Language:fr" \--user 'username':'password'

Response body:

JSON
[  {    "id": "1a0936f840102610f87798b149fd435d",    "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/1a0936f840102610f87798b149fd435d",    "name": "Service de configuration Wi-Fi PS",    "displayName": "Wi-Fi Configuration Setup Service PS",    "version": "",    "internalVersion": "1",    "internalId": "1a0936f840102610f87798b149fd435d",    "description": "Wi-Fi Configuration Setup Service PS",    "lastUpdate": "2025-03-13 21:01:14",    "lifecycleStatus": "Active",    "isBundle": false,    "validFor": {      "startDateTime": "2025-03-12",      "endDateTime": ""    },    "serviceSpecification": [],    "productSpecificationRelationship": [],    "resourceSpecification": [],    "productSpecCharacteristic": [],    "status": "published"  }]

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

Retrieves a specified product specification record.

URL format

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

Supported request parameters

Name

Description

id

Sys_id or Initial version of the product specification to retrieve.Data type: String

Table: In the sys_id or initial_version field of the Product Specification [sn_prd_pm_product_specification] table.

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

Data type: String

Default: All fields are returned.

state

State of the service order. For more information, seeService order states.Data type: String

|Name|Description| |----|-----------| |None| |

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.

Header

Description

Content-Type

Data format of the request body. Only supports application/json.

Accept-Language

Specify the language to translate a specific field into. The following fields support translation:

  • name
  • displayName
  • description

The field to translate must match an existing record in the sys_translated_text table for that field and language. Each field requires its own record. A record for name does not translate displayName or description.

If you don't include the header, the API returns values in the instance language preference. The request does not fail.

|Header|Description| |------|-----------| |Content-Type|Data format of the response body. Only supports **application/json**.|

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.

Status code

Description

200

Successful. The request was successfully processed.

400

Bad request. Possible reasons:

  • Invalid path parameter
  • Invalid URI

404

Not found. The requested item wasn't found.

### Response body parameters \(JSON\)

Name

Description

description

Description of the specification.Data type: String

displayName

Display name for the product specification.Data type: String

externalId

External ID of the product specification. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.

Data type: String

Table: In the external_id field of the Product Specification [sn_prd_pm_product_specification] table.

externalSystem

External system of the product specification, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

href

Relative link to the resource record.Data type: String

Default: Blank string

id

Sys_id or external ID of the product specification.Data type: String

Table: In the sys_id or external_id field of the Product Specification [sn_prd_pm_product_specification] table.

internalId

Sys_id or internal ID of the product specification.

Data type: String

Table: In the initial_version field of the Product Specification [sn_prd_pm_product_specification] table.

internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Specification [sn_prd_pm_product_specification] table.

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.

Data type: Boolean

Default: false

lastUpdate

Date the product specification was last updated.Data type: String

lifecycleStatus

Current life cycle status of the product specification. Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

Default: Blank string

name

Name of the product specification.Data type: String

productSpecCharacteristic

Product specification characteristics.Data type: Array of Objects

JavaScript
"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 the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

productSpecCharacteristic.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​productSpecCharacteristicValue.​value

Value of the characteristic.Data type: String

productSpecCharacteristic.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​validFor.​startDateTime

Start date of the characteristic.Data type: String

productSpecCharacteristic.​valueType

Value type of the characteristic. Can be of complex or non-complex type, such as choice or email.Accepted values:

  • Date,Address
  • Integer,Date/Time
  • Array.Integer
  • Array.Single Line Test
  • Single Line Test
  • Array.Object
  • Array.Date
  • Array.Decimal
  • Yes/No
  • Object
  • Array.Datetime
  • Checkbox
  • Email
  • Choice

Data type: String

productSpecificationRelationship

This specification's relationships to other product specifications.Data type: Array of Objects

JavaScript
"productSpecificationRelationship": [  {    "compatibilityRelationshipType": "String",    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "prodSpecRelationshipOption": {Object},    "type": "String",    "validFor": {Object},    "version": "String"]

productSpecificationRelationship.​compatibilityRelationshipType

Compatibility relationship type in the product specification expected values. For additional information on compatibility relationships, see Configuring compatibility rules for horizontal relationships.

Table: Compatibles [sn_compt_mgmt_compatibles]

productSpecificationRelationship​.id

Sys_id of the related specification.Data type: String

productSpecificationRelationship.​internalId

Sys_id (internal ID) of the product specification relationship.Data type: String

productSpecificationRelationship.​internalVersion

Version of the product specification relationship.Data type: String

productSpecificationRelationship.​name

Name of the product specification relationship.Data type: String

productSpecificationRelationship.​prodSpecRelationshipOption

Cardinality of the product specification relationship.Data type: Object

JSON
"prodSpecRelationshipOption": {  "numberSpecRelDefault": "String",  "numberSpecRelLowerLimit": "String",  "numberSpecRelUpperLimit": "String"}

productSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelDefault

Default value of the product specification.Data type: String

productSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelLowerLimit

Minimum number of orders that can be purchased.Data type: String

productSpecificationRelationship.​prodSpecRelationshipOption.​numberSpecRelUpperLimit

Maximum number of orders that can be purchased.Data type: String

productSpecificationRelationship.​type

Type of product specification relationship.Data type: String

productSpecificationRelationship.​validFor

Date range the product specification relationship is valid for.Data type: Object

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

productSpecificationRelationship.​version

Version of the product specification relationship.Data type: String

resourceSpecification

List of resource specifications related to this product specification.Data type: Array of Objects

JSON
"resourceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

resourceSpecification.​id

Sys_id or external ID of the resource specification.Data type: String

Table: In the sys_id or external_id field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalId

Initial version (sys_id) of the resource specification record.Data type: String

Table: In the initial_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalVersion

Version of the resource specification.Data type: String

Table: In the version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​name

Name of the resource specification.Data type: String

Table: Resource Specification [sn_prd_pm_resource_specification]

resourceSpecification.​version

External version of the resource specification.Data type: String

Table: In the external_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

serviceSpecification

List of service specifications related to this product specification.Data type: Array of Objects

JSON
"serviceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

serviceSpecification.​id

Initial version or external ID of the service specification.Data type: String

Table: In the sys_id or external_id field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalId

Initial version of the service specification.Data type: String

Table: In the initial_version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalVersion

Version of the service specification.Data type: String

Table: In the version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​name

Name of the service specification.Data type: String

Table: Service Specification [sn_prd_pm_service_specification]

serviceSpecification.​version

External version of the service specification.Data type: String

Table: In the external_version field of the Service Specification [sn_prd_pm_service_specification] table.

status

Status of the product specification.Possible values:

  • draft
  • published

Data type: String

validFor

Date range that the specification is valid for.Data type: Object

Text
"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.Data type: String

Table: In the external_version field of the Product Specification [sn_prd_pm_product_specification] table.

This example retrieves the specified product specification record.
Shell
curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6" \--header "Accept:application/json" \--user 'username':'password'

Response body:

JSON
{  "id": "cfe5ef6a53702010cd6dddeeff7b12f6",  "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/497a39a7c3d312105acc9e62b540dd14",,  "externalSystem": "Salesforce-TMF620",  "name": "SD-WAN Service Package",  "displayName": "SD-WAN Service Package v4",  "version": "",  "internalVersion": "4",  "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6",  "description": "SD WAN Service Package",  "lastUpdate": "2029-04-15 20:05:37",  "lifecycleStatus": "Active",  "isBundle": true,  "validFor": {    "startDateTime": "2033-04-15",    "endDateTime": ""  },  "serviceSpecification": [],  "productSpecificationRelationship": [    {      "id": "a6514bd3534560102f18ddeeff7b1247",      "name": "SD-WAN Security",      "version": "",      "internalVersion": "2",      "internalId": "a6514bd3534560102f18ddeeff7b1247",      "type": "Service",      "compatibilityRelationshipType": "",      "validFor": {        "startDateTime": "2030-09-25",        "endDateTime": "2035-10-27"      }    },    {      "id": "39b627aa53702010cd6dddeeff7b1202",      "name": "SD-WAN Edge Device",      "version": "",      "internalVersion": "2",      "internalId": "39b627aa53702010cd6dddeeff7b1202",      "type": "Service",      "compatibilityRelationshipType": "",      "validFor": {        "startDateTime": "2030-09-27",        "endDateTime": "2035-10-27"      }    },    {      "id": "216663aa53702010cd6dddeeff7b12b5",      "name": "SD-WAN Controller",      "version": "",      "internalVersion": "2",      "internalId": "216663aa53702010cd6dddeeff7b12b5",      "type": "Service",      "compatibilityRelationshipType": "",      "validFor": {        "startDateTime": "2029-04-03",        "endDateTime": ""      }    }  ],  "resourceSpecification": [],  "productSpecCharacteristic": [    {      "productSpecCharacteristicValue": [        {          "value": "0.01",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "0.25",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "0.5",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "1",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Down Time",      "description": "Down Time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-12-13 02:36:15"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "1 hr",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "2 hrs",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "4 hrs",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Mean Time to Restore (MTR)",      "description": "Mean Time to Restore (MTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-12-13 02:39:05"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "1 hr",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "4 hrs",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "2 hrs",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Time to Restore (TTR)",      "description": "Time to Restore (TTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-12-13 02:37:25"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "99.50",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "99.99",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "99.00",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "99.75",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Up Time",      "description": "Up time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-12-13 02:34:30"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "5 Gbps",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "1 Gbps",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "500 Mbps",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "2 Gbps",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Bandwidth",      "description": "Bandwidth",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-12-13 02:32:11"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "Yes",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "No",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Application Encryption",      "description": "Application Encryption",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-12-13 02:29:08"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "Yes",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "No",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Application Flow Backup",      "description": "Application Flow Backup",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-12-13 02:30:39"      }    }  ],  "status": "published"}

This example retrieves the specified product specification record, with the translated field values returned in French.

Shell
curl --location --request GET "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6" \--header "Accept:application/json" \--header "Accept-Language:fr" \--user 'username':'password'

Response body:

JSON
{  "id": "cfe5ef6a53702010cd6dddeeff7b12f6",  "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/497a39a7c3d312105acc9e62b540dd14",  "externalSystem": "Salesforce-TMF620",  "name": "Forfait de service SD-WAN",  "displayName": "SD-WAN Service Package v4",  "version": "",  "internalVersion": "4",  "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6",  "description": "SD WAN Service Package",  "lastUpdate": "2029-04-15 20:05:37",  "lifecycleStatus": "Active",  "isBundle": true,  "validFor": {    "startDateTime": "2033-04-15",    "endDateTime": ""  },  "serviceSpecification": [],  "productSpecificationRelationship": [    {      "id": "a6514bd3534560102f18ddeeff7b1247",      "name": "SD-WAN Security",      "version": "",      "internalVersion": "2",      "internalId": "a6514bd3534560102f18ddeeff7b1247",      "type": "Service",      "compatibilityRelationshipType": "",      "validFor": {        "startDateTime": "2030-09-25",        "endDateTime": "2035-10-27"      }    },    {      "id": "39b627aa53702010cd6dddeeff7b1202",      "name": "SD-WAN Edge Device",      "version": "",      "internalVersion": "2",      "internalId": "39b627aa53702010cd6dddeeff7b1202",      "type": "Service",      "compatibilityRelationshipType": "",      "validFor": {        "startDateTime": "2030-09-27",        "endDateTime": "2035-10-27"      }    },    {      "id": "216663aa53702010cd6dddeeff7b12b5",      "name": "SD-WAN Controller",      "version": "",      "internalVersion": "2",      "internalId": "216663aa53702010cd6dddeeff7b12b5",      "type": "Service",      "compatibilityRelationshipType": "",      "validFor": {        "startDateTime": "2029-04-03",        "endDateTime": ""      }    }  ],  "resourceSpecification": [],  "productSpecCharacteristic": [    {      "productSpecCharacteristicValue": [        {          "value": "0.01",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "1",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Down Time",      "description": "Down Time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-12-13 02:36:15"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "1 Gbps",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        },        {          "value": "5 Gbps",          "validFor": {            "startDateTime": ""          },          "isDefault": false,          "isMandatory": false        }      ],      "name": "Bandwidth",      "description": "Bandwidth",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-12-13 02:32:11"      }    }  ],  "status": "published"}

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

Updates the specified product offering.

URL format

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

Supported request parameters

Name

Description

id

Sys_id of the product offering to update.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

|Name|Description| |----|-----------| |None| |

Name

Description

bundledGroupProductOffering

Child groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects

JavaScript
"bundledGroupProductOffering": [  {    "bundledGroupProductOfferingOption": {Object},    "bundledProductOffering": [Array],    "id": "String",    "name": "String"  }]

bundledGroupProductOffering.​bundledGroupProductOfferingOption

A range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object

Text
"bundledGroupProductOfferingOption": {  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit

Lower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit

Upper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledProductOffering

Child groups of product offerings associated with the bundle. Same format as bundledProductOffering specified below.Data type: Array of Objects

bundledGroupProductOffering.​id

Sys_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String

Table: Product Offering Relationship Group [sn_prd_pm_product_offering_relationship_group]

bundledGroupProductOffering.​name

Name of the group of child product offerings.Data type: String

bundledProductOffering

List of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects

JavaScript
"bundledProductOffering": [  {    "bundledProductOfferingOption": {Object},    "externalId": "String",    "id": "String",    "name": "String",    "version": Number  }]

bundledProductOffering.​bundledProductOfferingOption

Product bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object

JSON
"bundledProductOfferingOption": {  "numberRelOfferDefault": "String",  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault

Default number of product offerings that should be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit

Lower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit

Upper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​id

Sys_id or external ID of the bundled product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

bundledProductOffering.​externalId

External ID of the product offering   relationship.For additional information on product offering relationships, see Create product offering relationships.

Data type: String

bundledProductOffering.​name

Name of the product offering bundle.Data type: String

bundledProductOffering.​version

Catalog version of the product offering. Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table. 

category

List of categories that the product belongs to.Data type: Array of Objects

Text
"category:" [  {    "id": "String",    "name": "String"  }]

Table: Category [sc_category]

category.id

Required if using the category parameter. ID of the category. Data type: String

Table: Category [sc_category]

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

JSON
"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.Data type: String

Table: Distribution Channel [sn_prd_pm_distribution_channel]

channel.name

Name of the channel.Data type: String

Default: Blank string

description

Required. Description of the product offering.Data type: String

externalSystem

External system of the product offering, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

displayName

Display name of the product offering.Data type: String

externalId

External ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, external_id field

id

Required. Initial version or external ID of the product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version or external_id field

internalId

Sys_id or internal ID of the product offering record.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version field

internalVersion

Version of the product offering.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

isBundle

Flag that indicates whether the product offering is a bundle.Possible values:

  • true: Product offering is a bundle.
  • false: Single product offering.

Data type: Boolean

Default: false

isSellable

Flag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:

  • true: Can be sold separately.
  • false: Only sold as part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Date the product offering was last updated.Data type: String

Format: YYYY-MM-DD HH:mm:SS

Default: Blank string

lifecycleStatus

Current life cycle status of the product offering. Possible values:

  • Active
  • Inactive
  • Draft

Data type: String

name

Required. Name of the product offering.Data type: String

prodSpecCharValueUse

Product offering characteristics.Data type: Array of Objects

JavaScript
"prodSpecCharValueUse": [   {      "description": "String",      "name": "String",      "productSpecCharacteristicValue": [Array],      "validFor": {Object},      "valueType": "String"   }]

prodSpecCharValueUse.​description

Description of the characteristic.Data type: String

prodSpecCharValueUse.name

Required. Name of the characteristic.

Data type: String

prodSpecCharValueUse.​productSpecCharacteristicValue

List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

prodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

prodSpecCharValueUse.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​valueType

Data type of the prodSpecCharValueUse.productSpecCharacteristicValue.value parameter.Accepted values:

  • address
  • array.date
  • array.datetime
  • array.decimal
  • array.integer
  • array.object
  • array.single_line_text
  • attachment
  • checkbox
  • choice
  • date
  • date_time
  • decimal
  • duration
  • email
  • integer
  • object
  • single_line_text
  • yes_no

Data type: String

productCharacteristic

List of product characteristics.Data type: Array of Objects

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

productOfferingCharacteristic

Characteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time (catalog authoring), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see Create product characteristics and characteristic options.

Data type: Array of Objects

CSS
productOfferingCharacteristic": [    {    "characteristicValueSpecification": [Array],    "name": "String",    "valueType": "String"  }]

productOfferingCharacteristic.​characteristicValueSpecification

List of characteristic values associated with the product offering characteristic.Data type: Array of Objects

JavaScript
"characteristicValueSpecification": [    {     "isDefault": Boolean,    "isMandatory": Boolean,    "value": "String"  }  ]

productOfferingCharacteristic.​characteristicValueSpecification.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:

  • true: Is default value.
  • false: Isn't the default value.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​isMandatory

Flag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:

  • true: Is mandatory.
  • false: Isn't mandatory.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​value

Number or text assigned to the associated product specification characteristic .For example:

Text
"characteristicValueSpecification": [  {    "value": "choice 1"  },  {    "value": "choice 2"  }]

Data type: String

productOfferingCharacteristic.​name

Name of the associated product offering characteristic.Data type: String

productOfferingCharacteristic.​valueType

Data type of the productOfferingCharacteristic.​characteristicValueSpecification.​value parameter.Possible values:

  • Array.Date
  • Array.Datetime
  • Array.Decimal
  • Array.Integer
  • Array.Object
  • Array.Single Line Test
  • Checkbox
  • Choice
  • Date,Address
  • Email
  • Integer,Date/Time
  • Object
  • Single Line Text
  • Yes/No

Data type: String

productOfferingPrice

Price information for the product offering.Data type: Array of Objects

Text
"productOfferingPrice": [  {    "price": {Object},    "priceType": "String"  }]

productOfferingPrice.price

Price information for the product offering.Data type: Object

Text
"price": {  "taxIncludedAmount": {Object}}

productOfferingPrice.price.taxIncludedAmount

Price information for the product offering.Data type: Object

Text
"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.Data type: String

Default: Blank string

productOfferingPrice.priceType

Type of product offering type. Required if using the productOfferingPrice parameter.Valid values:

  • nonRecurring (one-time)
  • recurring

Data type: String

productOfferingTerm

Valid contract term length for the product offering.Data type: String

Default: Blank string

productSpecification

Required. Product specification for the product.Data type: Object

JSON
"productSpecification": {  "id": "String",  "internalId": "String",  "internalVersion": "String",  "name": "String",  "version": "String"}

productSpecification.id

Required. Sys_id or external ID of the product specification.Data type: String

Table: In the sys_id or external_id fields in Product Specification [sn_prd_pm_product_specification]

productSpecification.​internalId

Sys_id or internal ID of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​name

Name of the product specification.Data type: String

Table: In the name field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

status

Status of the product offering.Possible values:

  • draft
  • published

Data type: String

validFor

Required. Date range the product offering is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.endDateTime

Required. End date and time of the product offering.Data type: String

Format: YYYY-MM-DD

validFor.startDateTime

Required. Start date and time of the product offering.Data type: String

Format: YYYY-MM-DD

version

External version of the product offering.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

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

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.
Header Description
Content-Type Data format of the request body. Only supports application/json.

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.

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.

Response body parameters (JSON or XML)

Name

Description

bundledGroupProductOffering

Child groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects

JavaScript
"bundledGroupProductOffering": [  {    "bundledGroupProductOfferingOption": {Object},    "bundledProductOffering": [Array],    "id": "String",    "name": "String"  }]

bundledGroupProductOffering.​bundledGroupProductOfferingOption

A range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object

Text
"bundledGroupProductOfferingOption": {  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit

Lower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit

Upper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledProductOffering

Child groups of product offerings associated with the bundle. Same format as bundledProductOffering specified below.Data type: Array of Objects

bundledGroupProductOffering.​id

Sys_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String

Table: Product Offering Relationship Group [sn_prd_pm_product_offering_relationship_group]

bundledGroupProductOffering.​name

Name of the group of child product offerings.Data type: String

bundledProductOffering

List of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects

JavaScript
"bundledProductOffering": [  {    "bundledProductOfferingOption": {Object},    "externalId": "String",    "id": "String",    "name": "String",    "version": Number  }]

bundledProductOffering.​bundledProductOfferingOption

Product bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object

JSON
"bundledProductOfferingOption": {  "numberRelOfferDefault": "String",  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault

Default number of product offerings that should be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit

Lower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit

Upper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​externalId

External ID of the product offering   relationship.For additional information on product offering relationships, see Create product offering relationships.

Data type: String

bundledProductOffering.​id

Sys_id or external ID of the bundled product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

bundledProductOffering.​name

Name of the product offering bundle.Data type: String

bundledProductOffering.​version

Catalog version of the product offering. Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table. 

category

List of categories that the product belongs to.Data type: Array of Objects

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

JSON
"channel:" [  {    "description": "String",    "id": "String",    "name": "String"  }]

channel.description

Description of the channel.Data type: String

channel.id

Sys_id of the channel.Data type: String

Table: Distribution Channel [sn_prd_pm_distribution_channel]

channel.name

Name of the channel.Data type: String

description

Description of the product offering.Data type: String

displayName

Display name of the product offering.Data type: String

externalId

External ID of the product offering. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, external_id field

externalSystem

External system of the product offering, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

href

Relative link to the resource record.Data type: String

Default: Blank string

id

Required. Initial version or external ID of the product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version or external_id field

internalId

Sys_id or internal ID of the product offering record.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version field

internalVersion

Version of the product offering.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

isBundle

Flag that indicates whether the product offering is a bundle.Possible values:

  • true: Product offering is a bundle.
  • false: Single product offering.

Data type: Boolean

Default: false

isSellable

Flag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:

  • true: Can be sold separately.
  • false: Only sold as part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Date the product offering was last updated.Data type: String

liftcycleStatus

Current lifecycle status. Accepted values:- Active

  • Draft
  • Inactive

Data type: String

Default: Blank string

name

Name of the product offering.Data type: String

prodSpecCharValueUse

Product offering characteristics.Data type: Array of Objects

JavaScript
"prodSpecCharValueUse": [   {      "description": "String",      "name": "String",      "productSpecCharacteristicValue": [Array],      "validFor": {Object},      "valueType": "String"   }]

prodSpecCharValueUse.​description

Description of the characteristic.Data type: String

prodSpecCharValueUse.​name

Name of the characteristic.

Data type: String

prodSpecCharValueUse.​productSpecCharacteristicValue

List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

prodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

prodSpecCharValueUse.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​valueType

Data type of the prodSpecCharValueUse.productSpecCharacteristicValue.value parameter.Accepted values:

  • address
  • array.date
  • array.datetime
  • array.decimal
  • array.integer
  • array.object
  • array.single_line_text
  • attachment
  • checkbox
  • choice
  • date
  • date_time
  • decimal
  • duration
  • email
  • integer
  • object
  • single_line_text
  • yes_no

Data type: String

productCharacteristic

List of product characteristics.Data type: Array of Objects

Text
"productCharacteristic": [  {    "name": "String",    "value": "String"  }]

productCharacteristic.​name

Name of the characteristic.Data type: String

productCharacteristic.​value

Value of the characteristic.Data type: String

productOfferingCharacteristic

Characteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time (catalog authoring), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see Create product characteristics and characteristic options.

Data type: Array of Objects

CSS
productOfferingCharacteristic": [    {    "characteristicValueSpecification": [Array],    "name": "String",    "valueType": "String"  }]

productOfferingCharacteristic.​characteristicValueSpecification

List of characteristic values associated with the product offering characteristic.Data type: Array of Objects

JavaScript
"characteristicValueSpecification": [    {     "isDefault": Boolean,    "isMandatory": Boolean,    "value": "String"  }  ]

productOfferingCharacteristic.​characteristicValueSpecification.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:

  • true: Is default value.
  • false: Isn't the default value.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​isMandatory

Flag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:

  • true: Is mandatory.
  • false: Isn't mandatory.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​value

Number or text assigned to the associated product specification characteristic .For example:

Text
"characteristicValueSpecification": [  {    "value": "choice 1"  },  {    "value": "choice 2"  }]

Data type: String

productOfferingCharacteristic.​name

Name of the associated product offering characteristic.Data type: String

productOfferingCharacteristic.​valueType

Data type of the productOfferingCharacteristic.​characteristicValueSpecification.​value parameter.Possible values:

  • Array.Date
  • Array.Datetime
  • Array.Decimal
  • Array.Integer
  • Array.Object
  • Array.Single Line Test
  • Checkbox
  • Choice
  • Date,Address
  • Email
  • Integer,Date/Time
  • Object
  • Single Line Text
  • Yes/No

Data type: String

productOfferingPrice

Price information for the product offering.Data type: Array of Objects

Text
"productOfferingPrice": [  {    "price": {Object},    "priceType": "String"  }]

productOfferingPrice.​price

Price information for the product offering.Data type: Object

Text
"price": {  "taxIncludedAmount": {Object}}

productOfferingPrice.​price.​taxIncludedAmount

Price information for the product offering.Data type: Object

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

JSON
"productSpecification": {  "id": "String",  "internalId": "String",  "internalVersion": "String",  "name": "String",  "status": "String",  "sys_id": "String",  "version": "String"}

productSpecification.​id

Sys_id of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalId

Sys_id or internal ID of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​status

Status of the product specification, such as published or draft.Data type: String

productSpecification.​sys_id

Sys_id of the product specification.Data type: String

Table: Product Specification [sn_prd_pm_product_specification]

productSpecification.​version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

status

Status of the product offering.Possible values:

  • draft
  • published

Data type: String

validFor

Date range the product offering is valid for.Data type: Object

Text
"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.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

The following example updates the product offering with the sys\_id 313b917843235210a82ed6085bb8f2c7 with information provided in the request body.
Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOffering/313b917843235210a82ed6085bb8f2c7" \ --request PATCH\ --header "Accept:application/json" \ --user 'username':'password'--data '{  "id": "313b917843235210a82ed6085bb8f2c7",  "name": "Internet bundle",  "displayName": "Internet bundle",  "description": "Internet bundle",  "externalSystem": "Salesforce-TMF620",  "isSellable": false,  "lifecycleStatus": "Draft",  "isBundle": true,  "lastUpdate": "2025-02-05 06:39:45",  "version": "",  "internalVersion": "1",  "internalId": "313b917843235210a82ed6085bb8f2c7",  "validFor": {    "startDateTime": "2028-12-15",    "endDateTime": "2034-01-14"  },  "productOfferingTerm": "not_applicable",  "productOfferingPrice": [    {      "priceType": "recurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    },    {      "priceType": "nonRecurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    }  ],  "productOfferingCharacteristic": [    {      "name": "Firewall Security",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "Premium",          "isMandatory": false,          "isDefault": true        }      ]    },    {      "name": "Connectivity need",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "When in use",          "isMandatory": false,          "isDefault": false        }      ]    }  ],  "bundledProductOffering": [    {           "id": "0f61dd9fd0a63110f8770dbf976be168",      "name": "Solana Sports streaming channel",      "version": "1",      "externalId": "EXT-123",
      "bundledProductOfferingOption": {        "numberRelOfferDefault": "1",        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "bundledGroupProductOffering": [    {      "id": "063b957843235210a82ed6085bb8f205",      "name": "Streaming Channel",      "bundledProductOffering": [        {          "id": "62619d9fd0a63110f8770dbf976be180",          "name": "Solana Movie streaming channel",          "version": "1",          "externalId": "EXT-123",          "bundledProductOfferingOption": {            "numberRelOfferDefault": "1",            "numberRelOfferLowerLimit": "1",            "numberRelOfferUpperLimit": "1"          }        }      ],      "bundledGroupProductOfferingOption": {        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "productSpecification": {    "id": "cfe5ef6a53702010cd6dddeeff7b12f6",    "name": "SD-WAN Service Package",    "version": "",    "internalVersion": "3",    "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"  },  "prodSpecCharValueUse": [    {      "name": "Tenancy",      "description": "Tenancy",      "valueType": "choice",      "validFor": {        "startDatetime": "2024-12-18 21:04:24"      },      "productSpecCharacteristicValue": [        {          "value": "Premium (>50 sites)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Base (10 site)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        }      ],      "productSpecification": {        "id": "216663aa53702010cd6dddeeff7b12b5",        "name": "SD-WAN Controller",        "version": "",        "internalVersion": "1",        "internalId": "216663aa53702010cd6dddeeff7b12b5"      }    }  ],  "channel": [    {      "id": "58ad5522c3702010df4773ce3640ddb2",      "name": "Agent Assist"    }  ],  "category": [    {      "id": "13e305a143b631105029d1529ab8f267",      "name": "SD-WAN_all_offers"    }  ],  "status": "draft"}'

Response body:

JSON
{  "id": "313b917843235210a82ed6085bb8f2c7",  "href": "/api/sn_tmf_api/catalogmanagement/productOffering/313b917843235210a82ed6085bb8f2c7",  "externalSystem": "Salesforce-TMF620"  "name": "Internet",  "displayName": "Internet",  "description": "Internet bundle",  "isSellable": false,  "lifecycleStatus": "Draft",  "isBundle": true,  "lastUpdate": "2025-02-05 06:39:45",  "version": "",  "internalVersion": "1",  "internalId": "313b917843235210a82ed6085bb8f2c7",  "validFor": {    "startDateTime": "2028-12-15",    "endDateTime": "2034-01-14"  },  "productOfferingTerm": "not_applicable",  "productOfferingPrice": [    {      "priceType": "recurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    },    {      "priceType": "nonRecurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    }  ],  "productOfferingCharacteristic": [    {      "name": "Firewall Security",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "Premium",          "isMandatory": false,          "isDefault": true        }      ]    },    {      "name": "Connectivity need",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "When in use",          "isMandatory": false,          "isDefault": false        }      ]    }  ],  "bundledProductOffering": [    {            "id": "0f61dd9fd0a63110f8770dbf976be168",      "name": "Solana Sports streaming channel",      "version": "1",      "externalId": "EXT-123",      "bundledProductOfferingOption": {        "numberRelOfferDefault": "1",        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    },    {      "id": "0f61dd9fd0a63110f8770dbf976be16c",      "name": "Solana TV shows streaming channel",      "version": "1",      "externalId": "EXT-456",
      "bundledProductOfferingOption": {        "numberRelOfferDefault": "1",        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "bundledGroupProductOffering": [    {      "id": "063b957843235210a82ed6085bb8f205",      "name": "Streaming Channel",      "bundledProductOffering": [        {                    "name": "Internet",          "version": "1",          "externalId": "EXT-678",          "bundledProductOfferingOption": {            "numberRelOfferDefault": "1",            "numberRelOfferLowerLimit": "1",            "numberRelOfferUpperLimit": "1"          }        }      ],      "bundledGroupProductOfferingOption": {        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "3"      }    },    {      "id": "313b917843235210a82ed6085bb8f2c7",      "name": "Streaming Channel",      "bundledProductOffering": [        {          "id": "1161a4f8436b1210a82ed6085bb8f216",          "name": "Internet",          "version": "1",          "externalId": "EXT-910",          "bundledProductOfferingOption": {            "numberRelOfferDefault": "1",            "numberRelOfferLowerLimit": "1",            "numberRelOfferUpperLimit": "1"          }        }      ],      "bundledGroupProductOfferingOption": {        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "productSpecification": {    "id": "cfe5ef6a53702010cd6dddeeff7b12f6",    "name": "SD-WAN Service Package",    "version": "",    "internalVersion": "3",    "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"  },  "prodSpecCharValueUse": [    {      "name": "Tenancy",      "description": "Tenancy",      "valueType": "choice",      "validFor": {        "startDatetime": "2024-12-18 21:04:24"      },      "productSpecCharacteristicValue": [        {          "value": "Premium (>50 sites)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Advance (50 site)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Base (10 site)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        }      ],      "productSpecification": {        "id": "216663aa53702010cd6dddeeff7b12b5",        "name": "SD-WAN Controller",        "version": "",        "internalVersion": "1",        "internalId": "216663aa53702010cd6dddeeff7b12b5"      }    }  ],  "channel": [    {      "id": "58ad5522c3702010df4773ce3640ddb2",      "name": "Agent Assist"    }  ],  "category": [    {      "id": "13e305a143b631105029d1529ab8f267",      "name": "SD-WAN_all_offers"    }  ],  "status": "draft"}

Product Catalog Open API - PATCH /sn_tmf_api/catalogmanagement/productOfferingPrice/{id}

Updates a price list line record with a given sys_id in the Price list line [sn_csm_pricing_price_list_line] table.

URL format

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

Supported request parameters

Name

Description

id

Required. Sys_id of the price list line to retrieve. Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

|Name|Description| |----|-----------| |None| |

Name

Description

@type

Required. Type of price list line. Always a value of ProductOfferingPrice.Data type: String

externalId

The external ID of the price list line.Data type: String

isBundle

Flag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:

  • true: Price list line is part of a bundle.
  • false: Price list line isn't part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Required. Date that the price line was last updated.Format: YYYY-MM-DD

Data type: String

lifeCycleStatus

Required. Current life cycle status of the product list line.Valid values:

  • active
  • draft
  • inactive

Data type: String

Default: draft

name

Required. Name to give the price list line.Data type: String

price

Required. List price details of the price list line.Data type: Object

Text
"price": {  "unit": "String",  "value": "String"}

price.unit

Required. Currency code of the price list line. For example, USD or EUR.Table: Currency [fx_currency] table.

Data type: String

price.value

Required. Value of the price.Data type: String (represented with a number. For example, "800".)

priceList

Required. Price list information associated with the price list line.Data type: Object

JSON
"priceList": {  "id": "String",  "name": "String",  "@type": "String"}

priceList.id

Required. Sys_id of the price list line.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

priceList.name

Name of the price list line.Data type: String

priceList.@type

The type of price list line. When sub-classing, this defines the sub-class extensible name. Value is always priceList.Data type: String

priceType

Required. Filter the price list line by the pricing method of the product offering.Valid values:

  • recurring: Charge recurring pricing amounts with a specified frequency. Frequency is set in the recurringChargePeriodType parameter.
  • one_time: Supports one-time or recurring add-on charges and fees for a product offering.

Data type: String

Default: recurring

productOffering

Required. Product offering of the price list line.Data type: Object

JSON
"productOffering": {  "id": "String",  "name": "String",  "internalVersion": "String"}

productOffering.​id

Required. Sys_id of the product offering.Table: Product offering [sn_prd_pm_product_offering]

Data type: String

productOffering.​internalVersion

Internal version number of the product offering.Data type: String (represented with a number. For example, "1".)

productOffering.​name

Name of the product offering.Data type: String

recurringChargePeriodType

Required if priceType is recurring. Commitment terms that are selected when the product offering was created.Valid values:

  • annually
  • monthly

Data type: String

unitOfMeasure

Required. Details about the unit of measure associated with the price list line.Data type: Object

JavaScript
"unitOfMeasure": {  "id": "String",  "amount": Number,  "units": "String"}

unitOfMeasure.​amount

Amount of the unit of measure.Data type: Number

unitOfMeasure.​id

Required. Sys_id of the unit of measure in the Price Line List table.Table: Price List Line [sn_csm_pricing_price_list_line]

Data type: String

unitOfMeasure.​units

Type of the unit of measure associated with the price list line. For example, each or bundle.Data type: String

validFor

Required. The duration of time that the price list line is valid for.Data type: Object

Text
"validFor": {  "endDate": "String",  "startDate": "String"}

validFor.endDate

End date that the price list line is valid for.Data type: String (glide_date_time)

validFor.endDateTime

End date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss

Data type: String (glide_date)

validFor.startDate

Start date that the price list line is valid for.Data type: String (glide_date_time)

validFor.startDateTime

Start date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss

Data type: String (glide_date)

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

Header Description
Accept Data format of the response body. Only supports application/json.
Header Description
Content-Type Data format of the response body. Only supports application/json.

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.

Status code

Description

200

Successful. The request was successfully processed.

400

Bad request. Possible reasons:

  • Invalid path parameter
  • Invalid URI

404

Not found. The requested item wasn't found.

### Response body parameters \(JSON or XML\)

Name

Description

id

Sys_id of the price list line. Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

href

URL to the price list line record in the instance.Data type: String

lastUpdate

Date and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss

Data type: String

validFor

The duration of time that the price list line is valid for.Data type: Object

Text
"validFor": {  "endDate": "String",  "startDate": "String"}

validFor.endDate

End date and time that the price list line is valid for.Data type: String (glide_date_time)

validFor.startDate

Start date and time that the price list line is valid for.Data type: String (glide_date_time)

isBundle

Flag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:

  • true: Price list line is part of a bundle.
  • false: Price list line isn't part of a bundle.

Data type: Boolean

lifecycleStatus

Current life cycle status of the price list line.Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

productOffering

Product offering that is associated with the price list line.Data type: Object

JSON
"productOffering": {  "id": "String",  "name": "String",  "internalVersion": "String"}

productOffering.id

Sys_id of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​internalVersion

Internal version number of the product offering. For example, PRDOF01024. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​name

Name of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

priceType

The pricing method of the product offering which is associated with this price list line.Possible values:

  • recurring: Charge recurring pricing amounts with a specified frequency. The value of recurringChargePeriodType indicates the frequency of the charge.
  • one_time: One-time or recurring add-on charges and fees for a product offering.

Data type: String

recurringChargePeriodType

The periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if priceType was set to recurring, otherwise returns an empty string.Possible values:

  • annually
  • monthly

Data type: String

unitOfMeasure

Details about the unit of measure associated with the price list line.Data type: Object

JavaScript
"unitOfMeasure": {  "id": "String",  "amount": Number,  "units": "String"}

unitOfMeasure.amount

Amount of the unit of measure.Data type: Number

unitOfMeasure.id

Sys_id of the unit of measure.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

unitOfMeasure.​units

Type of the unit of measure associated with the price list line. For example, year or bundle.Data type: String

price

List price details of the price list line.Data type: Object

Text
"price": {  "units": "String",  "value": "String"}

price.units

Currency code of the price. For example, USD or EUR. Table: Currency [fx_currency]

Data type: String

price.value

Value of the price.Data type: String (represented with a number)

priceList

Price list information associated with the price list line.Data type: Object

JSON
"priceList": {  "id": "String",  "name": "String",  "@type": "String"}

priceList.id

Sys_id of the price list in the Price List [sn_csm_pricing_price_list] table.Data type: String

priceList.name

Name of the price list.Data type: String

priceList.@type

The type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of priceList.Data type: String

@type

Always a value of ProductOfferingPrice. When sub-classing, this defines the sub-class extensible name.Data type: String

state

The state of the price list which is associated with this price list line.Data type: String

externalId

The external ID of this price list line.Data type: String

### cURL request

The following example updates the dates of when the product offering price with ID 3ddd0... is valid for.

Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c" \--request patch\--user 'username':'password'--data {  "validFor": {    "endDateTime": "2024-06-25 15:15:58"  }}

Response body:

JSON
{  "validFor": {    "endDateTime": "2024-06-25 15:15:58"  },  "id": "994d5d364f8b5210f899f61d20ce0b7c",  "name": "new Price list",  "lastUpdate": "2025-01-16 00:15:32",  "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c",  "lifecycleStatus": "Draft"}

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

Updates the specified product specification.

URL format

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

Supported request parameters

Name

Description

id

Sys_id of the product offering to update.Data type: String

Table: Product Specification [sn_prd_pm_product_specification]

|Name|Description| |----|-----------| |None| |

Name

Description

description

Required. Description of the specification.Data type: String

externalId

Required. External ID of the product specification. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.

Data type: String

Table: In the external_id field of the Product Specification [sn_prd_pm_product_specification] table.

id

Sys_id or external ID of the product specification.Data type: String

Table: In the sys_id or external_id field of the Product Specification [sn_prd_pm_product_specification] table.

internalId

Required. Sys_id or internal ID of the product specification.

Data type: String

Table: In the initial_version field of the Product Specification [sn_prd_pm_product_specification] table.

internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Specification [sn_prd_pm_product_specification] table.

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.

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

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

productSpecCharacteristic.​productSpecCharacteristicValue

List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

productSpecCharacteristic.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

productSpecCharacteristic.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {   "endDateTime": "String",   "startDateTime": "String"}

productSpecCharacteristic.​validFor.​endDateTime

End date and time of the characteristic.Format: YYYY-MM-DD HH:mm:SS. 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 HH:mm:SS. For example, 2025-01-31 09:35:43.

Data type: String

productSpecCharacteristic.​valueType

Value type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String

Accepted values:

  • Date,Address
  • Integer,Date/Time
  • Array.Integer
  • Array.Single Line Test
  • Single Line Test
  • Array.Object
  • Array.Date
  • Array.Decimal
  • Yes/No
  • Object
  • Array.Datetime
  • Checkbox
  • Email
  • Choice

Default value: empty string

productSpecificationRelationship

Details of the specification's relationships to other product specifications.Data type: Array of Objects

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

Data type: String

productSpecificationRelationship.​validFor

Date range the relationship is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

productSpecificationRelationship.​validFor.​endDateTime

End date of the relationship.Format: YYYY-MM-DD HH:mm:SS. 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. Details of the resource specifications related to this product specification.Data type: Array of Objects

JSON
"resourceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

resourceSpecification.​id

Required. Initial version or external ID of the resource specification.Data type: String

Table: In the sys_id or external_id field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalId

Initial version (sys_id) of the resource specification record.Data type: String

Table: In the initial_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalVersion

Version of the resource specification.Data type: String

Table: In the version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​name

Name of the resource specification.Data type: String

Table: Resource Specification [sn_prd_pm_resource_specification]

resourceSpecification.​version

External version of the resource specification.Data type: String

Table: In the external_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

serviceSpecification

List of service specifications related to this product specification.Data type: Array of Objects

JSON
"serviceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

serviceSpecification.​id

Initial version or external ID of the service specification.Data type: String

Table: In the sys_id or external_id field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalId

Initial version of the service specification.Data type: String

Table: In the initial_version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalVersion

Version of the service specification.Data type: String

Table: In the version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​name

Name of the service specification.Data type: String

Table: Service Specification [sn_prd_pm_service_specification]

serviceSpecification.​version

External version of the service specification.Data type: String

Table: In the external_version field of the Service Specification [sn_prd_pm_service_specification] table.

validFor

Required. Date range the specification is valid for.Data type: Object

Text
"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.Data type: String

Table: In the external_version field of the Product Specification [sn_prd_pm_product_specification] table.

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

Header Description
Content-Type Data format of the response body. Only supports application/json.
Header Description
Content-Type Data format of the response body. Only supports application/json.

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.

Status code

Description

200

Request successfully processed.

400

Bad request. Possible reasons: - Empty payload.

  • Invalid payload. Mandatory field missing: <field name>

404

Not found. The requested item wasn't found.

### Response body parameters

Name

Description

description

Description of the specification.Data type: String

href

Relative link to the resource record.Data type: String

id

Sys_id or external ID of the product specification.Data type: String

Table: In the sys_id or external_id field of the Product Specification [sn_prd_pm_product_specification] table.

internalId

Required. Sys_id or internal ID of the product specification.

Data type: String

Table: In the initial_version field of the Product Specification [sn_prd_pm_product_specification] table.

internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Specification [sn_prd_pm_product_specification] table.

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

JavaScript
"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 the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

productSpecCharacteristic.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

productSpecCharacteristic.​validFor

Date range the characteristic is valid for.Data type: Object

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

Value type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String

Accepted values:

  • Date,Address
  • Integer,Date/Time
  • Array.Integer
  • Array.Single Line Test
  • Single Line Test
  • Array.Object
  • Array.Date
  • Array.Decimal
  • Yes/No
  • Object
  • Array.Datetime
  • Checkbox
  • Email
  • Choice

productSpecificationRelationship

This specification's relationships to other product specifications.Data type: Array of Objects

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

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

productSpecificationRelationship.​validFor.​endDateTime

End date and type of the relationship.Format: YYYY-MM-DD

Data type: String

productSpecificationRelationship.​validFor.​startDateTime

Start date and type of the relationship.Format: YYYY-MM-DD

Data type: String

resourceSpecification

List of resource specifications related to this product specification.Data type: Array of Objects

JSON
"resourceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

resourceSpecification.​id

Sys_id or external ID of the resource specification.Data type: String

Table: In the sys_id or external_id field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalId

Initial version (sys_id) of the resource specification record.Data type: String

Table: In the initial_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalVersion

Version of the resource specification.Data type: String

Table: In the version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​name

Name of the resource specification.Data type: String

Table: Resource Specification [sn_prd_pm_resource_specification]

resourceSpecification.​version

External version of the resource specification.Data type: String

Table: In the external_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

serviceSpecification

List of service specifications related to this product specification.Data type: Array of Objects

JSON
"serviceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

serviceSpecification.​id

Initial version or external ID of the service specification.Data type: String

Table: In the sys_id or external_id field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalId

Initial version of the service specification.Data type: String

Table: In the initial_version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalVersion

Version of the service specification.Data type: String

Table: In the version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​name

Name of the service specification.Data type: String

Table: Service Specification [sn_prd_pm_service_specification]

serviceSpecification.​version

External version of the service specification.Data type: String

Table: In the external_version field of the Service Specification [sn_prd_pm_service_specification] table.

validFor

Date range the specification is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.​endDateTime

End date and time of the specification.Format: YYYY-MM-DD HH:mm:SS.

Data type: String

validFor.​startDateTime

Start date and time of the specification.Format: YYYY-MM-DD HH:mm:SS.

Data type: String

version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Specification [sn_prd_pm_product_specification] table.

The following example updates the product specification ID d6f8d9995b020210235d85cced81c7eb with information provided in the request body.
Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productSpecification/d6f8d9995b020210235d85cced81c7eb" \ --request PATCH\ --header "Accept:application/json" \ --user 'username':'password'--data '{  "id": "cfe5ef6a53702010cd6dddeeff7b12f6",  "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6",  "name": "SD-WAN Service Package",  "displayName": "SD-WAN Service Package v3",  "version": "",  "internalVersion": "3",  "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6",  "description": "SD WAN Service Package",  "lastUpdate": "2027-10-11 06:58:12",  "isBundle": true,  "validFor": {    "startDateTime": "2029-02-05",    "endDateTime": ""  },  "serviceSpecification": [],  "productSpecificationRelationship": [    {      "id": "216663aa53702010cd6dddeeff7b12b5",      "name": "SD-WAN Controller",      "version": "",      "internalVersion": "1",      "internalId": "216663aa53702010cd6dddeeff7b12b5",      "type": "Service",      "validFor": {        "startDateTime": "2025-01-24",        "endDateTime": ""      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "1",        "numberSpecRelUpperLimit": "1"      }    },    {      "id": "39b627aa53702010cd6dddeeff7b1202",      "name": "SD-WAN Edge Device",      "version": "",      "internalVersion": "2",      "internalId": "39b627aa53702010cd6dddeeff7b1202",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-05",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "2",        "numberSpecRelUpperLimit": "4"      }    },    {      "id": "a6514bd3534560102f18ddeeff7b1247",      "name": "SD-WAN Security",      "version": "",      "internalVersion": "2",      "internalId": "a6514bd3534560102f18ddeeff7b1247",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-03",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "4",        "numberSpecRelUpperLimit": "20"      }    }  ],  "resourceSpecification": [],  "productSpecCharacteristic": [    {      "productSpecCharacteristicValue": [        {          "value": "1",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.25",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.01",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.5",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Down Time",      "description": "Down Time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:36:15"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "500 Mbps",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "5 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Bandwidth",      "description": "Bandwidth",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:32:11"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "4 hrs",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 hr",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Time to Restore (TTR)",      "description": "Time to Restore (TTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:37:25"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "1 hr",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "4 hrs",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Mean Time to Restore (MTR)",      "description": "Mean Time to Restore (MTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:39:05"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Flow Backup",      "description": "Application Flow Backup",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:30:39"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "99.00",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.50",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.75",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.99",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Up Time",      "description": "Up time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:34:30"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Encryption",      "description": "Application Encryption",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:29:08"      }    }  ],  "status": "published"}'

Response body:

JSON
{   "id": "cfe5ef6a53702010cd6dddeeff7b12f6",  "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6",  "name": "SD-WAN Service Package",  "displayName": "SD-WAN Service Package v3",  "version": "",  "internalVersion": "3",  "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6",  "description": "SD WAN Service Package",  "lastUpdate": "2027-10-11 06:58:12",  "isBundle": true,  "validFor": {    "startDateTime": "2029-02-05",    "endDateTime": ""  },  "serviceSpecification": [],  "productSpecificationRelationship": [    {      "id": "216663aa53702010cd6dddeeff7b12b5",      "name": "SD-WAN Controller",      "version": "",      "internalVersion": "1",      "internalId": "216663aa53702010cd6dddeeff7b12b5",      "type": "Service",      "validFor": {        "startDateTime": "2025-01-24",        "endDateTime": ""      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "1",        "numberSpecRelUpperLimit": "1"      }    },    {      "id": "39b627aa53702010cd6dddeeff7b1202",      "name": "SD-WAN Edge Device",      "version": "",      "internalVersion": "2",      "internalId": "39b627aa53702010cd6dddeeff7b1202",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-05",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "2",        "numberSpecRelUpperLimit": "4"      }    },    {      "id": "a6514bd3534560102f18ddeeff7b1247",      "name": "SD-WAN Security",      "version": "",      "internalVersion": "2",      "internalId": "a6514bd3534560102f18ddeeff7b1247",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-03",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "4",        "numberSpecRelUpperLimit": "20"      }    }  ],  "resourceSpecification": [],  "productSpecCharacteristic": [    {      "productSpecCharacteristicValue": [        {          "value": "1",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.25",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.01",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.5",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Down Time",      "description": "Down Time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:36:15"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "500 Mbps",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "5 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Bandwidth",      "description": "Bandwidth",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:32:11"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "4 hrs",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 hr",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Time to Restore (TTR)",      "description": "Time to Restore (TTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:37:25"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "1 hr",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "4 hrs",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Mean Time to Restore (MTR)",      "description": "Mean Time to Restore (MTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:39:05"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Flow Backup",      "description": "Application Flow Backup",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:30:39"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "99.00",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.50",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.75",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.99",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Up Time",      "description": "Up time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:34:30"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Encryption",      "description": "Application Encryption",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:29:08"      }    }  ],  "status": "published"}'

Product Catalog Open API - POST /sn_tmf_api/catalogmanagement/catalog

Creates a product offering catalog.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/catalog

Supported request parameters

Name Description
None
Name Description
None

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

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

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.
Header Description
Content-Type Data format of the response body. Only supports application/json.

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.

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>
### Response body parameters \(JSON\)

Name

Description

description

Description of the product offering catalog.Data type: String

id

Sys_id of the product offering catalogData type: String

Table: Product Offering Catalog [sn_prd_pm_product_offering_catalog]

name

Name of the product offering catalog.Data type: String

### cURL request

This example creates a product offering catalog.

Shell
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:

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

Product Catalog Open API - POST /sn_tmf_api/catalogmanagement/productOffering

Creates a product offering and associated product offering bundles.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOffering

Supported request parameters

Name Description
None
Name Description
None

Name

Description

bundledGroupProductOffering

Child groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects

JavaScript
"bundledGroupProductOffering": [  {    "bundledGroupProductOfferingOption": {Object},    "bundledProductOffering": [Array],    "id": "String",    "name": "String"  }]

bundledGroupProductOffering.​bundledGroupProductOfferingOption

A range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object

Text
"bundledGroupProductOfferingOption": {  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit

Lower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit

Upper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledProductOffering

Child groups of product offerings associated with the bundle. Same format as bundledProductOffering specified below.Data type: Array of Objects

bundledGroupProductOffering.​id

Sys_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String

Table: Product Offering Relationship Group [sn_prd_pm_product_offering_relationship_group]

bundledGroupProductOffering.​name

Name of the group of child product offerings.Data type: String

bundledProductOffering

List of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects

JavaScript
"bundledProductOffering": [  {    "bundledProductOfferingOption": {Object},    "externalId": "String",    "id": "String",    "name": "String",    "version": Number  }]

bundledProductOffering.​bundledProductOfferingOption

Product bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object

JSON
"bundledProductOfferingOption": {  "numberRelOfferDefault": "String",  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault

Default number of product offerings that should be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit

Lower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit

Upper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​externalId

External ID of the product offering   relationship.For additional information on product offering relationships, see Create product offering relationships.

Data type: String

bundledProductOffering.​id

Sys_id or external ID of the bundled product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

bundledProductOffering.​name

Name of the product offering bundle.Data type: String

bundledProductOffering.​version

Catalog version of the product offering. Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table. 

category

List of categories that the product belongs to.Data type: Array of Objects

Text
"category:" [  {    "id": "String",    "name": "String"  }]

category.id

Required if using the category parameter. ID of the category.Data type: String

Table: Category [sc_category]

category.name

Name of the category.Data type: String

Table: Category [sc_category]

channel

Required. Channels to use for selling the product offering.Data type: Array of Objects

JSON
"channel:" [  {    "description": "String",    "id": "String",    "name": "String"  }]

channel.description

Description of the channel.Data type: String

channel.id

Required. Sys_id of the channel.Data type: String

Table: Distribution Channel [sn_prd_pm_distribution_channel]

channel.name

Name of the channel.Data type: String

description

Required. Description of the product offering.Data type: String

displayName

Display name of the product offering.Data type: String

externalId

Unique identifier for the product offering from the external system.Data type: String

externalSystem

External system of the product offering, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

href

Relative link to the resource record.Data type: String

id

Required. Initial version or external ID of the product offering.Data type: String

Table: In the initial_version or external_id fields of the Product Offering [sn_prd_pm_product_offering] table.

internalId

Sys_id or internal ID of the product offering record.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version field

internalVersion

Version of the product offering.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

isBundle

Flag that indicates whether the product offering is a bundle.Possible values:

  • true: Product offering is a bundle.
  • false: Single product offering.

Data type: Boolean

Default: false

isSellable

Flag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:

  • true: Can be sold separately.
  • false: Only sold as part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Date the product offering was last updated.Data type: String

Format: YYYY-MM-DD HH:mm:SS

lifecycleStatus

Current lifecycle status. Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

name

Required. Name of the product offering.Data type: String

prodSpecCharValueUse

Product offering characteristics.Data type: Array of Objects

JavaScript
"prodSpecCharValueUse": [   {      "description": "String",      "name": "String",      "productSpecCharacteristicValue": [Array],      "validFor": {Object},      "valueType": "String"   }]

prodSpecCharValueUse.​description

Description of the characteristic.Data type: String

prodSpecCharValueUse.​name

Name of the characteristic.

Data type: String

prodSpecCharValueUse.​productSpecCharacteristicValue

List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

prodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

prodSpecCharValueUse.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​valueType

Data type of the prodSpecCharValueUse.productSpecCharacteristicValue.value parameter.Accepted values:

  • address
  • array.date
  • array.datetime
  • array.decimal
  • array.integer
  • array.object
  • array.single_line_text
  • attachment
  • checkbox
  • choice
  • date
  • date_time
  • decimal
  • duration
  • email
  • integer
  • object
  • single_line_text
  • yes_no

Data type: String

productCharacteristic

List of product characteristics.Data type: Array of Objects

Text
"productCharacteristic": [  {    "name": "String",    "value": "String"  }]

productCharacteristic.name

Name of the characteristic.Data type: String

productCharacteristic.value

Value of the characteristic.Data type: String

productOfferingCharacteristic

Characteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time (catalog authoring), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see Create product characteristics and characteristic options.

Data type: Array of Objects

CSS
productOfferingCharacteristic": [    {    "characteristicValueSpecification": [Array],    "name": "String",    "valueType": "String"  }]

productOfferingCharacteristic.​characteristicValueSpecification

List of characteristic values associated with the product offering characteristic.Data type: Array of Objects

JavaScript
"characteristicValueSpecification": [    {     "isDefault": Boolean,    "isMandatory": Boolean,    "value": "String"  }  ]

productOfferingCharacteristic.​characteristicValueSpecification.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:

  • true: Is default value.
  • false: Isn't the default value.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​isMandatory

Flag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:

  • true: Is mandatory.
  • false: Isn't mandatory.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​value

Number or text assigned to the associated product specification characteristic .For example:

Text
"characteristicValueSpecification": [  {    "value": "choice 1"  },  {    "value": "choice 2"  }]

Data type: String

productOfferingCharacteristic.​name

Name of the associated product offering characteristic.Data type: String

productOfferingCharacteristic.​valueType

Data type of the productOfferingCharacteristic.​characteristicValueSpecification.​value parameter.Possible values:

  • Array.Date
  • Array.Datetime
  • Array.Decimal
  • Array.Integer
  • Array.Object
  • Array.Single Line Test
  • Checkbox
  • Choice
  • Date,Address
  • Email
  • Integer,Date/Time
  • Object
  • Single Line Text
  • Yes/No

Data type: String

productOfferingPrice

Price information for the product offering.Data type: Array of Objects

Text
"productOfferingPrice": [  {    "price": {Object},    "priceType": "String"  }]

productOfferingPrice.price

Price information for the product offering.Data type: Object

Text
"price": {  "taxIncludedAmount": {Object}}

productOfferingPrice.price.taxIncludedAmount

Price information for the product offering.Data type: Object

Text
"taxIncludedAmount": {  "unit": "String",  "value": "String"}

productOfferingPrice.price.taxIncludedAmount.unit

Currency code for the product offering price.Data type: String

Format: ISO 4217

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, such as 12 months, 24 months, or not_applicable.Data type: String

productSpecification

Required. Product specification for the product.Data type: Object

JSON
"productSpecification": {  "id": "String",  "internalId": "String",  "internalVersion": "String",  "name"  "version": "String"}

productSpecification.id

Required. Initial version or external ID of the product specification.Data type: String

Table: In the initial_version or externa_id field of the Product Specification [sn_prd_pm_product_specification] table.

productSpecification.​internalId

Sys_id or internal ID of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​name

Name of the product specification.Data type: String

Table: In the name field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

validFor

Required. Date range the product offering is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.endDateTime

End date of the product offering.Data type: String

Format: YYYY-MM-DD

validFor.startDateTime

Start date of the product offering.Data type: String

Format: YYYY-MM-DD

version

External version of the product offering.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

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

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.
Header Description
Content-Type Data format of the request body. Only supports application/json.

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.

Status code

Description

201

Successful. The request was successfully processed.

400

Bad request. Possible reasons: - Empty payload.

  • Invalid payload. Mandatory field missing: <field name>
### Response body parameters

Name

Description

bundledGroupProductOffering

Child groups of product offerings. These show hierarchical sub-grouping.Data type: Array of Objects

JavaScript
"bundledGroupProductOffering": [  {    "bundledGroupProductOfferingOption": {Object},    "bundledProductOffering": [Array],    "id": "String",    "name": "String"  }]

bundledGroupProductOffering.​bundledGroupProductOfferingOption

A range of numbers that specifies the lower and upper limits of the number of the associated product offering that can be procured as part of the related bundled product offering.Data type: Object

Text
"bundledGroupProductOfferingOption": {  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferLowerLimit

Lower limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledGroupProductOfferingOption.​numberRelOfferUpperLimit

Upper limit for a product offering that can be procured as part of the related bundled product offering. Data type: String

bundledGroupProductOffering.​bundledProductOffering

Child groups of product offerings associated with the bundle. Same format as bundledProductOffering specified below.Data type: Array of Objects

bundledGroupProductOffering.​id

Sys_id of the bundled group record. Useful in cases where the parent product offering or group includes multiple groups.Data type: String

Table: Product Offering Relationship Group [sn_prd_pm_product_offering_relationship_group]

bundledGroupProductOffering.​name

Name of the group of child product offerings.Data type: String

bundledProductOffering

List of product offerings included in the product offering bundle. The product offering bundle inherits all of the attributes of the included product offerings.Data type: Array of Objects

JavaScript
"bundledProductOffering": [  {    "bundledProductOfferingOption": {Object},    "externalId": "String",    "href": "String",    "id": "String",    "name": "String",    "version": Number  }]

bundledProductOffering.​bundledProductOfferingOption

Product bundle options such as the default number of product offerings and any upper and lower product offering procurement constraints.Data type: Object

JSON
"bundledProductOfferingOption": {  "numberRelOfferDefault": "String",  "numberRelOfferLowerLimit": "String",  "numberRelOfferUpperLimit": "String"}

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferDefault

Default number of product offerings that should be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferLowerLimit

Lower limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​bundledProductOfferingOption.​numberRelOfferUpperLimit

Upper limit of the number of the associated product offerings that can be procured as part of the related bundled product offering.Data type: String

Possible values: 0 to unbound.

bundledProductOffering.​externalId

External ID of the product offering   relationship.For additional information on product offering relationships, see Create product offering relationships.

Data type: String

bundledProductOffering.​href

Relative link to the associated product offering.Data type: String

bundledProductOffering.​id

Sys_id or external ID of the bundled product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering]

bundledProductOffering.​name

Name of the product offering bundle.Data type: String

bundledProductOffering.​version

Catalog version of the product offering. Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table. 

category

List of categories that the product belongs to.Data type: Array of Objects

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

JSON
"channel:" [  {    "description": "String",    "id": "String",    "name": "String"  }]

channel.​description

Description of the channel.Data type: String

channel.id

Sys_id of the channel.Data type: String

Table: Distribution Channel [sn_prd_pm_distribution_channel]

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. If multiple versions are published, returns the highest published version among them. If no versions are published, returns the highest version regardless of state.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, external_id field

externalSystem

External system of the product offering, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

href

Relative link to the resource record.Data type: String

Default: Blank string

id

Required. Initial version or external ID of the product offering.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version or external_id field

internalId

Sys_id or internal ID of the product offering record.Data type: String

Table: Product Offering [sn_prd_pm_product_offering] table, initial_version field

internalVersion

Version of the product offering.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

isBundle

Flag that indicates whether the product offering is a bundle.Possible values:

  • true: Product offering is a bundle.
  • false: Single product offering.

Data type: Boolean

Default: false

isSellable

Flag that indicates whether the associated product offering can be sold by itself or must be part of a product offering bundle.Possible values:

  • true: Can be sold separately.
  • false: Only sold as part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Date the product offering was last updated.Data type: String

lifecycleStatus

Current life cycle status of the product offering. Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

Default: Blank string

name

Name of the product offering.Data type: String

prodSpecCharValueUse

Product offering characteristics.Data type: Array of Objects

JavaScript
"prodSpecCharValueUse": [   {      "description": "String",      "name": "String",      "productSpecCharacteristicValue": [Array],      "validFor": {Object},      "valueType": "String"   }]

prodSpecCharValueUse.​description

Description of the characteristic.Data type: String

prodSpecCharValueUse.​name

Name of the characteristic.

Data type: String

prodSpecCharValueUse.​productSpecCharacteristicValue

List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

prodSpecCharValueUse.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

prodSpecCharValueUse.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

prodSpecCharValueUse.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

prodSpecCharValueUse.​valueType

Data type of the prodSpecCharValueUse.productSpecCharacteristicValue.value parameter.Accepted values:

  • address
  • array.date
  • array.datetime
  • array.decimal
  • array.integer
  • array.object
  • array.single_line_text
  • attachment
  • checkbox
  • choice
  • date
  • date_time
  • decimal
  • duration
  • email
  • integer
  • object
  • single_line_text
  • yes_no

Data type: String

productCharacteristic

List of product characteristics.Data type: Array of Objects

Text
"productCharacteristic": [  {    "name": "String",    "value": "String"  }]

productCharacteristic.​name

Name of the characteristic.Data type: String

productCharacteristic.​value

Value of the characteristic.Data type: String

productOfferingCharacteristic

Characteristic quality or distinctive feature of a product offering. Characteristics can take on a discrete value that is fixed at design time (catalog authoring), such as Mobile Plan Rank. These characteristics are not generally modifiable at inventory level.For additional information on product offering characteristics, see Create product characteristics and characteristic options.

Data type: Array of Objects

CSS
productOfferingCharacteristic": [    {    "characteristicValueSpecification": [Array],    "name": "String",    "valueType": "String"  }]

productOfferingCharacteristic.​characteristicValueSpecification

List of characteristic values associated with the product offering characteristic.Data type: Array of Objects

JavaScript
"characteristicValueSpecification": [    {     "isDefault": Boolean,    "isMandatory": Boolean,    "value": "String"  }  ]

productOfferingCharacteristic.​characteristicValueSpecification.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the associated characteristic.Possible values:

  • true: Is default value.
  • false: Isn't the default value.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​isMandatory

Flag that indicates whether the associated characteristic value is mandatory for the associated characteristic.Possible values:

  • true: Is mandatory.
  • false: Isn't mandatory.

Data type: Boolean

Default: false

productOfferingCharacteristic.​characteristicValueSpecification.​value

Number or text assigned to the associated product specification characteristic .For example:

Text
"characteristicValueSpecification": [  {    "value": "choice 1"  },  {    "value": "choice 2"  }]

Data type: String

productOfferingCharacteristic.​name

Name of the associated product offering characteristic.Data type: String

productOfferingCharacteristic.​valueType

Data type of the productOfferingCharacteristic.​characteristicValueSpecification.​value parameter.Possible values:

  • Array.Date
  • Array.Datetime
  • Array.Decimal
  • Array.Integer
  • Array.Object
  • Array.Single Line Test
  • Checkbox
  • Choice
  • Date,Address
  • Email
  • Integer,Date/Time
  • Object
  • Single Line Text
  • Yes/No

Data type: String

productOfferingPrice

Price information for the product offering.Data type: Array of Objects

Text
"productOfferingPrice": [  {    "price": {Object},    "priceType": "String"  }]

productOfferingPrice.​price

Price information for the product offering.Data type: Object

Text
"price": {  "taxIncludedAmount": {Object}}

productOfferingPrice.​price.​taxIncludedAmount

Price information for the product offering.Data type: Object

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

JSON
"productSpecification": {  "id": "String",  "internalId": "String",  "internalVersion": "String",  "name": "String",  "version": "String"}

productSpecification.​id

Sys_id of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalId

Sys_id or internal ID of the product specification record.Data type: String

Table: In the initial_version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Offering [sn_prd_pm_product_offering] table.

productSpecification.​version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

status

Status of the product offering.Possible values:

  • draft
  • published

Data type: String

validFor

Date range the product offering is valid for.Data type: Object

Text
"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.Data type: String

Table: In the external_version field of the Product Offering [sn_prd_pm_product_offering] table.

This example creates a product offering.
Shell
curl --location --request POST "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productOffering" \--header "Content-Type: application/json" \--header "Accept:application/json" \--data-raw '{  "id": "313b917843235210a82ed6085bb8f2c7",,  "externalSystem": "Salesforce-TMF620",  "name": "Internet bundle",  "displayName": "Internet bundle",  "description": "Internet bundle",  "isSellable": false,  "lifecycleStatus": "Draft",  "isBundle": true,  "lastUpdate": "2025-02-05 06:39:45",  "version": "",  "internalVersion": "1",  "internalId": "313b917843235210a82ed6085bb8f2c7",  "validFor": {    "startDateTime": "2028-12-15",    "endDateTime": "2034-01-14"  },  "productOfferingTerm": "not_applicable",  "productOfferingPrice": [    {      "priceType": "recurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    },    {      "priceType": "nonRecurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    }  ],  "productOfferingCharacteristic": [    {      "name": "Firewall Security",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "Premium",          "isMandatory": false,          "isDefault": true        }      ]    },    {      "name": "Connectivity need",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "When in use",          "isMandatory": false,          "isDefault": false        }      ]    }  ],  "bundledProductOffering": [    {      
      "id": "0f61dd9fd0a63110f8770dbf976be168",      "name": "Solana Sports streaming channel",      "version": "1",      "externalId": "EXT-123",      "bundledProductOfferingOption": {        "numberRelOfferDefault": "1",        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "bundledGroupProductOffering": [    {      "id": "063b957843235210a82ed6085bb8f205",      "name": "Streaming Channel",      "bundledProductOffering": [        {         
          "id": "62619d9fd0a63110f8770dbf976be180",          "name": "Solana Movie streaming channel",          "version": "1",          "externalId": "EXT-345",          "bundledProductOfferingOption": {            "numberRelOfferDefault": "1",            "numberRelOfferLowerLimit": "1",            "numberRelOfferUpperLimit": "1"          }        }      ],      "bundledGroupProductOfferingOption": {        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "productSpecification": {    "id": "cfe5ef6a53702010cd6dddeeff7b12f6",    "name": "SD-WAN Service Package",    "version": "",    "internalVersion": "3",    "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"  },  "prodSpecCharValueUse": [    {      "name": "Tenancy",      "description": "Tenancy",      "valueType": "choice",      "validFor": {        "startDatetime": "2024-12-18 21:04:24"      },      "productSpecCharacteristicValue": [        {          "value": "Premium (>50 sites)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Base (10 site)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        }      ],      "productSpecification": {        "id": "216663aa53702010cd6dddeeff7b12b5",        "name": "SD-WAN Controller",        "version": "",        "internalVersion": "1",        "internalId": "216663aa53702010cd6dddeeff7b12b5"      }    }  ],  "channel": [    {      "id": "58ad5522c3702010df4773ce3640ddb2",      "name": "Agent Assist"    }  ],  "category": [    {      "id": "13e305a143b631105029d1529ab8f267",      "name": "SD-WAN_all_offers"    }  ],  "status": "draft"}'--user 'username':'password'

Response body:

JSON
{  "id": "313b917843235210a82ed6085bb8f2c7",  "name": "Internet bundle",  "externalSystem": "Salesforce-TMF620",  "displayName": "Internet bundle",  "description": "Internet bundle",  "isSellable": false,  "lifecycleStatus": "Draft",  "isBundle": true,  "lastUpdate": "2025-04-09 15:59:09",  "version": "",  "internalVersion": "1",  "validFor": {    "startDateTime": "2028-12-15",    "endDateTime": "2034-01-14"  },  "productOfferingTerm": "not_applicable",  "productOfferingPrice": [    {      "priceType": "recurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    },    {      "priceType": "nonRecurring",      "price": {        "taxIncludedAmount": {          "unit": "USD",          "value": "0"        }      }    }  ],  "productOfferingCharacteristic": [    {      "name": "Firewall Security",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "Premium",          "isMandatory": false,          "isDefault": true        }      ]    },    {      "name": "Connectivity need",      "valueType": "choice",      "characteristicValueSpecification": [        {          "value": "When in use",          "isMandatory": false,          "isDefault": false        }      ]    }  ],  "bundledProductOffering": [    {      "id": "0f61dd9fd0a63110f8770dbf976be168",      "name": "Solana Sports streaming channel",      "version": "1",      "externalId": "EXT-123",      "bundledProductOfferingOption": {        "numberRelOfferDefault": "1",        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "bundledGroupProductOffering": [    {      "id": "063b957843235210a82ed6085bb8f205",      "name": "Streaming Channel",      "bundledProductOffering": [        {          "id": "62619d9fd0a63110f8770dbf976be180",          "name": "Solana Movie streaming channel",          "version": "1",          "externalId": "EXT-345",          "bundledProductOfferingOption": {            "numberRelOfferDefault": "1",            "numberRelOfferLowerLimit": "1",            "numberRelOfferUpperLimit": "1"          }        }      ],      "bundledGroupProductOfferingOption": {        "numberRelOfferLowerLimit": "1",        "numberRelOfferUpperLimit": "1"      }    }  ],  "productSpecification": {    "id": "cfe5ef6a53702010cd6dddeeff7b12f6",    "name": "SD-WAN Service Package",    "version": "",    "internalVersion": "3",    "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6"  },  "prodSpecCharValueUse": [    {      "name": "Tenancy",      "description": "Tenancy",      "valueType": "choice",      "validFor": {        "startDatetime": "2024-12-18 21:04:24"      },      "productSpecCharacteristicValue": [        {          "value": "Premium (>50 sites)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Base (10 site)",          "isDefault": false,          "isMandatory": false,          "validFor": {            "startDateTime": ""          }        }      ],      "productSpecification": {        "id": "216663aa53702010cd6dddeeff7b12b5",        "name": "SD-WAN Controller",        "version": "",        "internalVersion": "1",        "internalId": "216663aa53702010cd6dddeeff7b12b5"      }    }  ],  "channel": [    {      "id": "58ad5522c3702010df4773ce3640ddb2",      "name": "Agent Assist"    }  ],  "category": [    {      "id": "13e305a143b631105029d1529ab8f267",      "name": "SD-WAN_all_offers"    }  ],  "status": "draft",  "externalId": "313b917843235210a82ed6085bb8f2c7",  "internalId": "03c99cb53bf066509b48d69a04e45a11",  "href": "/api/sn_tmf_api/catalogmanagement/productOffering/03c99cb53bf066509b48d69a04e45a11"}

Product Catalog Open API - POST /sn_tmf_api/catalogmanagement/productOfferingPrice

Creates a new price list line record in the Price List Line [sn_csm_pricing_price_list_line] table.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productOfferingPrice

Supported request parameters

Name Description
None
Name Description
None

Name

Description

@type

Required. Type of price list line. Always a value of ProductOfferingPrice.Data type: String

externalId

The external ID of the price list line.Data type: String

isBundle

Flag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:

  • true: Price list line is part of a bundle.
  • false: Price list line isn't part of a bundle.

Data type: Boolean

Default: false

lastUpdate

Required. Date that the price line was last updated.Format: YYYY-MM-DD

Data type: String

lifeCycleStatus

Required. Current life cycle status of the product list line.Valid values:

  • active
  • draft
  • inactive

Data type: String

Default: draft

name

Required. Name to give the price list line.Data type: String

price

Required. List price details of the price list line.Data type: Object

Text
"price": {  "unit": "String",  "value": "String"}

price.unit

Required. Currency code of the price list line. For example, USD or EUR.Table: Currency [fx_currency] table.

Data type: String

price.value

Required. Value of the price.Data type: String (represented with a number. For example, "800".)

priceList

Required. Price list information associated with the price list line.Data type: Object

JSON
"priceList": {  "id": "String",  "name": "String",  "@type": "String"}

priceList.id

Required. Sys_id of the price list line.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

priceList.name

Name of the price list line.Data type: String

priceList.@type

The type of price list line. When sub-classing, this defines the sub-class extensible name. Value is always priceList.Data type: String

priceType

Required. Filter the price list line by the pricing method of the product offering.Valid values:

  • recurring: Charge recurring pricing amounts with a specified frequency. Frequency is set in the recurringChargePeriodType parameter.
  • one_time: Supports one-time or recurring add-on charges and fees for a product offering.

Data type: String

Default: recurring

productOffering

Required. Product offering of the price list line.Data type: Object

JSON
"productOffering": {  "id": "String",  "name": "String",  "internalVersion": "String"}

productOffering.​id

Required. Sys_id of the product offering.Table: Product offering [sn_prd_pm_product_offering]

Data type: String

productOffering.​internalVersion

Internal version number of the product offering.Data type: String (represented with a number. For example, "1".)

productOffering.​name

Name of the product offering.Data type: String

recurringChargePeriodType

Required if priceType is recurring. Commitment terms that are selected when the product offering was created.Valid values:

  • annually
  • monthly

Data type: String

unitOfMeasure

Required. Details about the unit of measure associated with the price list line.Data type: Object

JavaScript
"unitOfMeasure": {  "id": "String",  "amount": Number,  "units": "String"}

unitOfMeasure.​amount

Amount of the unit of measure.Data type: Number

unitOfMeasure.​id

Required. Sys_id of the unit of measure in the Price Line List table.Table: Price List Line [sn_csm_pricing_price_list_line]

Data type: String

unitOfMeasure.​units

Type of the unit of measure associated with the price list line. For example, each or bundle.Data type: String

validFor

Required. The duration of time that the price list line is valid for.Data type: Object

Text
"validFor": {  "endDate": "String",  "startDate": "String"}

validFor.endDate

End date that the price list line is valid for.Data type: String (glide_date_time)

validFor.endDateTime

End date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss

Data type: String (glide_date)

validFor.startDate

Start date that the price list line is valid for.Data type: String (glide_date_time)

validFor.startDateTime

Start date and time that the price list line is valid for.Format: YYYY-MM-DD HH:mm:ss

Data type: String (glide_date)

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

Header Description
Accept Data format of the response body. Only supports application/json.
Header Description
Content-Type Data format of the response body. Only supports application/json.

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.

Status code

Description

200

Successful. The request was successfully processed.

400

Bad request. Possible reasons:

  • Invalid path parameter
  • Invalid URI

404

Not found. The requested item wasn't found.

### Response body parameters \(JSON or XML\)

Name

Description

id

Sys_id of the price list line. Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

href

URL to the price list line record in the instance.Data type: String

lastUpdate

Date and time that the price list line was last updated.Format: YYYY-MM-DD HH:mm:ss

Data type: String

validFor

The duration of time that the price list line is valid for.Data type: Object

Text
"validFor": {  "endDate": "String",  "startDate": "String"}

validFor.endDate

End date and time that the price list line is valid for.Data type: String (glide_date_time)

validFor.startDate

Start date and time that the price list line is valid for.Data type: String (glide_date_time)

isBundle

Flag that indicates whether the price list line is part of a single product or a bundle of products.Valid values:

  • true: Price list line is part of a bundle.
  • false: Price list line isn't part of a bundle.

Data type: Boolean

lifecycleStatus

Current life cycle status of the price list line.Valid values:

  • Active
  • Draft
  • Inactive

Data type: String

productOffering

Product offering that is associated with the price list line.Data type: Object

JSON
"productOffering": {  "id": "String",  "name": "String",  "internalVersion": "String"}

productOffering.id

Sys_id of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​internalVersion

Internal version number of the product offering. For example, PRDOF01024. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

productOffering.​name

Name of the product offering. Located in the Product Offering [sn_prd_pm_product_offering] table.Data type: String

priceType

The pricing method of the product offering which is associated with this price list line.Possible values:

  • recurring: Charge recurring pricing amounts with a specified frequency. The value of recurringChargePeriodType indicates the frequency of the charge.
  • one_time: One-time or recurring add-on charges and fees for a product offering.

Data type: String

recurringChargePeriodType

The periodicity or frequency of the product offering associated with this price list line. Returns a frequency type if priceType was set to recurring, otherwise returns an empty string.Possible values:

  • annually
  • monthly

Data type: String

unitOfMeasure

Details about the unit of measure associated with the price list line.Data type: Object

JavaScript
"unitOfMeasure": {  "id": "String",  "amount": Number,  "units": "String"}

unitOfMeasure.amount

Amount of the unit of measure.Data type: Number

unitOfMeasure.id

Sys_id of the unit of measure.Table: Price List Lines [sn_csm_pricing_price_list_line]

Data type: String

unitOfMeasure.​units

Type of the unit of measure associated with the price list line. For example, year or bundle.Data type: String

price

List price details of the price list line.Data type: Object

Text
"price": {  "units": "String",  "value": "String"}

price.units

Currency code of the price. For example, USD or EUR. Table: Currency [fx_currency]

Data type: String

price.value

Value of the price.Data type: String (represented with a number)

priceList

Price list information associated with the price list line.Data type: Object

JSON
"priceList": {  "id": "String",  "name": "String",  "@type": "String"}

priceList.id

Sys_id of the price list in the Price List [sn_csm_pricing_price_list] table.Data type: String

priceList.name

Name of the price list.Data type: String

priceList.@type

The type of price list. When sub-classing, this defines the sub-class extensible name. Always has a value of priceList.Data type: String

@type

Always a value of ProductOfferingPrice. When sub-classing, this defines the sub-class extensible name.Data type: String

state

The state of the price list which is associated with this price list line.Data type: String

externalId

The external ID of this price list line.Data type: String

### cURL request

The following example creates a new price list line record according to data specified in the request body, and inserts it in the Price list line [sn_csm_pricing_price_list_line] table.

Shell
curl "http://instance.servicenow.com/api/sn_tmf_api/catalogmanagement/productOfferingPrice " \--request POST\--user 'username':'password'--data {  "name": "new Price list",  "validFor": {    "startDateTime": "2024-05-28 15:15:58",    "endDateTime": "2025-06-28 15:15:58"  },  "priceType": "recurring",  "recurringChargePeriodType": "monthly",  "lastUpdate": "2023-09-23 00:00:00",  "isBundle": false,  "lifecycleStatus": "Draft",  "unitOfMeasure": {    "id": "1eaa559953020110286eddeeff7b12c7",    "amount": 1,    "units": "Year"  },  "price": {    "unit": "USD",    "value": "800"  },  "productOffering": {    "id": "9e3dd57a4fcb5210f899f61d20ce0bf2",    "name": "Maintenance Fee",    "internalVersion": "1"  },  "priceList": {    "name": "new price list",    "@type": "priceList"  },  "externalId": "test123",  "@type": "ProductOfferingPrice"}

Response body. This new price list line record is assigned a unique ID; the response body returns this information along with a URL to the new record using the href response parameter.

JSON
{  "name": "new Price list",  "validFor": {    "startDateTime": "2024-05-28 15:15:58",    "endDateTime": "2025-06-28 15:15:58"  },  "priceType": "recurring",  "recurringChargePeriodType": "monthly",  "lastUpdate": "2023-09-23 00:00:00",  "isBundle": false,  "lifecycleStatus": "Draft",  "unitOfMeasure": {    "id": "1eaa559953020110286eddeeff7b12c7",    "amount": 1,    "units": "Year"  },  "price": {    "unit": "USD",    "value": "800"  },  "productOffering": {    "id": "9e3dd57a4fcb5210f899f61d20ce0bf2",    "name": "Maintenance Fee",    "internalVersion": "1"  },  "priceList": {    "id": "194d5d364f8b5210f899f61d20ce0b7a",    "name": "new Price list",    "@type": "priceList"  },  "externalId": "test123",  "@type": "ProductOfferingPrice",  "id": "994d5d364f8b5210f899f61d20ce0b7c",  "state": "draft",  "href": "/api/sn_tmf_api/catalogmanagement/productOfferingPrice/994d5d364f8b5210f899f61d20ce0b7c"}

Product Catalog Open API - POST /sn_tmf_api/catalogmanagement/productSpecification

Creates a product specification record with the specified values.

URL format

Default URL: /api/sn_tmf_api/catalogmanagement/productSpecification

Supported request parameters

Name Description
None
Name Description
None

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

externalSystem

External system of the product specification, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

id

Required. Sys_id or external ID of the product specification.Data type: String

Table: In the initial_version or external_id of the Product Specification [sn_prd_pm_product_specification] table.

internalId

Required. Sys_id or internal ID of the product specification.

Data type: String

Table: In the initial_version field of the Product Specification [sn_prd_pm_product_specification] table.

internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Specification [sn_prd_pm_product_specification] table.

lastUpdate

Date the specification was last updated.Data type: String

Format: YYYY-MM-DD HH:mm:SS. For example, 2025-01-31 09:35:43.

Default: Blank string

name

Required. Name of the specification.Data type: String

productSpecCharacteristic

Specification characteristic.Data type: Array of Objects

JavaScript
"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. List of the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

productSpecCharacteristic.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

productSpecCharacteristic.​productSpecCharacteristicValue.​value

Required. Value of the characteristic.

Data type: String

productSpecCharacteristic.​validFor

Date range the characteristic is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

productSpecCharacteristic.​validFor.​endDateTime

End date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS. For example, 2025-01-31 09:35:43.

Default: Blank string

productSpecCharacteristic.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS. For example, 2025-01-31 09:35:43.

Default: Blank string

productSpecCharacteristic.​valueType

Value type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String

Accepted values:

  • Date,Address
  • Integer,Date/Time
  • Array.Integer
  • Array.Single Line Test
  • Single Line Test
  • Array.Object
  • Array.Date
  • Array.Decimal
  • Yes/No
  • Object
  • Array.Datetime
  • Checkbox
  • Email
  • Choice

Default: Blank string

productSpecificationRelationship

This specification's relationships to other product specifications.Data type: Array

JavaScript
"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:

  • bundles
  • composed_of

Data type: String

productSpecificationRelationship.​validFor

Date range the relationship is valid for.Data type: Object

Text
"validFor": {   "endDateTime": "String",   "startDateTime": "String"}

productSpecificationRelationship.​validFor.​endDateTime

End date of the relationship.Data type: String

Format: YYYY-MM-DD HH:mm:SS. For example, 2025-01-31 09:35:43.

Default: Blank string

productSpecificationRelationship.​validFor.​startDateTime

Start date of the relationship.Data type: String

Format: YYYY-MM-DD HH:mm:SS. For example, 2025-01-31 09:35:43.

Default: Blank string

resourceSpecification

Required. Resource specifications related to this product specification.Data type: Array of Objects

JSON
"resourceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

resourceSpecification.​id

Required. Initial version or external ID of the resource specification.Data type: String

Table: In the sys_id or external_id field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalId

Initial version (sys_id) of the resource specification record.Data type: String

Table: In the initial_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalVersion

Version of the resource specification.Data type: String

Table: In the version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​name

Name of the resource specification.Data type: String

Table: Resource Specification [sn_prd_pm_resource_specification]

resourceSpecification.​version

External version of the resource specification.Data type: String

Table: In the external_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

serviceSpecification

List of service specifications related to this product specification.Data type: Array of Objects

JSON
"serviceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

serviceSpecification.​id

Initial version or external ID of the service specification.Data type: String

Table: In the sys_id or external_id field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalId

Initial version of the service specification.Data type: String

Table: In the initial_version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalVersion

Version of the service specification.Data type: String

Table: In the version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​name

Name of the service specification.Data type: String

Table: Service Specification [sn_prd_pm_service_specification]

serviceSpecification.​version

External version of the service specification.Data type: String

Table: In the external_version field of the Service Specification [sn_prd_pm_service_specification] table.

validFor

Required. Date range the specification is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.​endDateTime

End date of the specification.Data type: String

Format: YYYY-MM-DD HH:mm:SS. For example, 2025-01-31 09:35:43.

Default: Blank string

validFor.​startDateTime

Start date of the specification.Data type: String

Format: YYYY-MM-DD HH:mm:SS. For example, 2025-01-31 09:35:43.

Default: Blank string

version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Specification [sn_prd_pm_product_specification] table.

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

Header Description
Accept Data format of the response body. Only supports application/json.
Content-Type Data format of the response body. Only supports application/json.
Header Description
Content-Type Data format of the response body. Only supports application/json.

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.

Status code

Description

201

Request successfully processed.

400

Bad request. Possible reasons: - Empty payload.

  • Invalid payload. Mandatory field missing: <field name>
### Response body parameters

Name

Description

description

Description of the specification.Data type: String

externalSystem

External system of the product specification, appended with TMF620. For example, if the external system is ABC then the value is ABC-TMF620.

Data Type: String

href

Relative link to the resource record.Data type: String

Default: Blank string

id

Sys_id or external ID of the product specification.Data type: String

Table: In the sys_id or external_id field of the Product Specification [sn_prd_pm_product_specification] table.

internalId

Required. Sys_id or internal ID of the product specification.

Data type: String

Table: In the initial_version field of the Product Specification [sn_prd_pm_product_specification] table.

internalVersion

Version of the product specification.Data type: String

Table: In the version field of the Product Specification [sn_prd_pm_product_specification] table.

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.

Data type: Boolean

Default: false

lastUpdate

Date the specification was last updated.Data type: String

Format: YYYY-MM-DD HH:mm:SS

lifecycleStatus

Current lifecycle status of the product specification. Possible values:

  • Active
  • Draft
  • Inactive

Data type: String

Default: Blank string

name

Name of the specification.Data type: String

productSpecCharacteristic

Specification characteristic.Data type: Array of Objects

JavaScript
"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 the possible values of the characteristic.

Data type: Array of Objects

JavaScript
"productSpecCharacteristicValue": [ {    "isDefault": Boolean,    "isMandatory": Boolean,    "validFor": {Object},    "value": "String" }]

productSpecCharacteristic.​productSpecCharacteristicValue.​isDefault

Flag that indicates whether the associated characteristic value is the default value for the characteristic.Possible values:

  • true: Default value.
  • false: Not the default value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​isMandatory

Flag that indicates whether the associated characteristic value is a mandatory value for the characteristic.Possible values:

  • true: Mandatory value.
  • false: Not a mandatory value.

Default: false

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor

Date and time of when the characteristic is valid.Data type: Object

Text
"validFor": {  "startDateTime": "String"}

productSpecCharacteristic.​productSpecCharacteristicValue.​validFor.​startDateTime

Start date and time of when the characteristic value is valid.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​productSpecCharacteristicValue.​value

Value of the characteristic.

Data type: String

productSpecCharacteristic.​validFor

Date range for which the characteristic is valid.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

productSpecCharacteristic.​validFor.​endDateTime

End date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​validFor.​startDateTime

Start date of the characteristic.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecCharacteristic.​valueType

Value type of the characteristic, such as choice or email. Can be of complex or non-complex type.Data type: String

Accepted values:

  • Date,Address
  • Integer,Date/Time
  • Array.Integer
  • Array.Single Line Test
  • Single Line Test
  • Array.Object
  • Array.Date
  • Array.Decimal
  • Yes/No
  • Object
  • Array.Datetime
  • Checkbox
  • Email
  • Choice

productSpecificationRelationship

This specification's relationships to other product specifications.Data type: Array of Objects

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

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

productSpecificationRelationship.​validFor.​endDateTime

End date of the relationship.Data type: String

Format: YYYY-MM-DD HH:mm:SS

productSpecificationRelationship.​validFor.​startDateTime

Start date of the relationship.Data type: String

Format: YYYY-MM-DD HH:mm:SS

resourceSpecification

List of resource specifications related to this product specification.Data type: Array of Objects

JSON
"resourceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

resourceSpecification.​id

Sys_id or external ID of the resource specification.Data type: String

Table: In the sys_id or external_id field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalId

Initial version (sys_id) of the resource specification record.Data type: String

Table: In the initial_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​internalVersion

Version of the resource specification.Data type: String

Table: In the version field of the Resource Specification [sn_prd_pm_resource_specification] table.

resourceSpecification.​name

Name of the resource specification.Data type: String

Table: Resource Specification [sn_prd_pm_resource_specification]

resourceSpecification.​version

External version of the resource specification.Data type: String

Table: In the external_version field of the Resource Specification [sn_prd_pm_resource_specification] table.

serviceSpecification

List of service specifications related to this product specification.Data type: Array of Objects

JSON
"serviceSpecification": [  {    "id": "String",    "internalId": "String",    "internalVersion": "String",    "name": "String",    "version": "String"  }]

serviceSpecification.​id

Initial version or external ID of the service specification.Data type: String

Table: In the sys_id or external_id field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalId

Initial version of the service specification.Data type: String

Table: In the initial_version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​internalVersion

Version of the service specification.Data type: String

Table: In the version field of the Service Specification [sn_prd_pm_service_specification] table.

serviceSpecification.​name

Name of the service specification.Data type: String

Table: Service Specification [sn_prd_pm_service_specification]

serviceSpecification.​version

External version of the service specification.Data type: String

Table: In the external_version field of the Service Specification [sn_prd_pm_service_specification] table.

validFor

Date range the specification is valid for.Data type: Object

Text
"validFor": {  "endDateTime": "String",  "startDateTime": "String"}

validFor.​endDateTime

End date of the specification. Data type: String

Format: YYYY-MM-DD HH:mm:SS

validFor.​startDateTime

Start date of the specification. Data type: String

Format: YYYY-MM-DD HH:mm:SS

version

External version of the product specification.Data type: String

Table: In the external_version field of the Product Specification [sn_prd_pm_product_specification] table.

This example creates a product specification record with the specified values.
Shell
curl --location --request POST "https://instance.service-now.com/api/sn_tmf_api/catalogmanagement/productSpecification" \--header "Content-Type: application/json" \--data-raw '{  "id": "cfe5ef6a53702010cd6dddeeff7b12f6",  "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6",  "externalSystem": "Salesforce-TMF620",  "name": "SD-WAN Service Package",  "displayName": "SD-WAN Service Package v3",  "version": "",  "internalVersion": "3",  "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6",  "description": "SD WAN Service Package",  "lastUpdate": "2027-10-11 06:58:12",  "isBundle": true,  "validFor": {    "startDateTime": "2029-02-05",    "endDateTime": ""  },  "serviceSpecification": [],  "productSpecificationRelationship": [    {      "id": "216663aa53702010cd6dddeeff7b12b5",      "name": "SD-WAN Controller",      "version": "",      "internalVersion": "1",      "internalId": "216663aa53702010cd6dddeeff7b12b5",      "type": "Service",      "validFor": {        "startDateTime": "2025-01-24",        "endDateTime": ""      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "1",        "numberSpecRelUpperLimit": "1"      }    },    {      "id": "39b627aa53702010cd6dddeeff7b1202",      "name": "SD-WAN Edge Device",      "version": "",      "internalVersion": "2",      "internalId": "39b627aa53702010cd6dddeeff7b1202",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-05",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "2",        "numberSpecRelUpperLimit": "4"      }    },    {      "id": "a6514bd3534560102f18ddeeff7b1247",      "name": "SD-WAN Security",      "version": "",      "internalVersion": "2",      "internalId": "a6514bd3534560102f18ddeeff7b1247",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-03",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "4",        "numberSpecRelUpperLimit": "20"      }    }  ],  "resourceSpecification": [],  "productSpecCharacteristic": [    {      "productSpecCharacteristicValue": [        {          "value": "1",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.25",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.01",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.5",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Down Time",      "description": "Down Time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:36:15"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "500 Mbps",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "5 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Bandwidth",      "description": "Bandwidth",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:32:11"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "4 hrs",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 hr",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Time to Restore (TTR)",      "description": "Time to Restore (TTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:37:25"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "1 hr",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "4 hrs",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Mean Time to Restore (MTR)",      "description": "Mean Time to Restore (MTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:39:05"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Flow Backup",      "description": "Application Flow Backup",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:30:39"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "99.00",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.50",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.75",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.99",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Up Time",      "description": "Up time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:34:30"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Encryption",      "description": "Application Encryption",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:29:08"      }    }  ],  "status": "published"}'
--user 'username':'password'

Response body.

JSON
{  "id": "cfe5ef6a53702010cd6dddeeff7b12f6",  "href": "/api/sn_tmf_api/catalogmanagement/productSpecification/cfe5ef6a53702010cd6dddeeff7b12f6",  "externalSystem": "Salesforce-TMF620",  "name": "SD-WAN Service Package",  "displayName": "SD-WAN Service Package v3",  "version": "",  "internalVersion": "3",  "internalId": "cfe5ef6a53702010cd6dddeeff7b12f6",  "description": "SD WAN Service Package",  "lastUpdate": "2027-10-11 06:58:12",  "isBundle": true,  "validFor": {    "startDateTime": "2029-02-05",    "endDateTime": ""  },  "serviceSpecification": [],  "productSpecificationRelationship": [    {      "id": "216663aa53702010cd6dddeeff7b12b5",      "name": "SD-WAN Controller",      "version": "",      "internalVersion": "1",      "internalId": "216663aa53702010cd6dddeeff7b12b5",      "type": "Service",      "validFor": {        "startDateTime": "2025-01-24",        "endDateTime": ""      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "1",        "numberSpecRelUpperLimit": "1"      }    },    {      "id": "39b627aa53702010cd6dddeeff7b1202",      "name": "SD-WAN Edge Device",      "version": "",      "internalVersion": "2",      "internalId": "39b627aa53702010cd6dddeeff7b1202",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-05",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "2",        "numberSpecRelUpperLimit": "4"      }    },    {      "id": "a6514bd3534560102f18ddeeff7b1247",      "name": "SD-WAN Security",      "version": "",      "internalVersion": "2",      "internalId": "a6514bd3534560102f18ddeeff7b1247",      "type": "Service",      "validFor": {        "startDateTime": "2026-06-03",        "endDateTime": "2031-07-05"      },      "relationshipType": "bundles",      "ProdSpecRelationshipOption": {        "numberSpecRelLowerLimit": "1",        "numberSpecRelDefault": "4",        "numberSpecRelUpperLimit": "20"      }    }  ],  "resourceSpecification": [],  "productSpecCharacteristic": [    {      "productSpecCharacteristicValue": [        {          "value": "1",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.25",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.01",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "0.5",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Down Time",      "description": "Down Time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:36:15"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "500 Mbps",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "5 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 Gbps",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Bandwidth",      "description": "Bandwidth",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:32:11"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "4 hrs",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "1 hr",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Time to Restore (TTR)",      "description": "Time to Restore (TTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:37:25"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "1 hr",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "2 hrs",          "isMandatory":true,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        },        {          "value": "4 hrs",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Mean Time to Restore (MTR)",      "description": "Mean Time to Restore (MTR)",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:39:05"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Flow Backup",      "description": "Application Flow Backup",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:30:39"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "99.00",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.50",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.75",          "validFor": {            "startDateTime": ""          }        },        {          "value": "99.99",          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Up Time",      "description": "Up time",      "valueType": "choice",      "validFor": {        "startDatetime": "2027-10-11 02:34:30"      }    },    {      "productSpecCharacteristicValue": [        {          "value": "No",          "isMandatory":true,          "isDefault":true,          "validFor": {            "startDateTime": ""          }        },        {          "value": "Yes",          "isMandatory":false,          "isDefault":false,          "validFor": {            "startDateTime": ""          }        }      ],      "name": "Application Encryption",      "description": "Application Encryption",      "valueType": "yes_no",      "validFor": {        "startDatetime": "2027-10-11 02:29:08"      }    }  ],  "status": "published"}'
Search documentation
Search document titles and file paths on the australia branch