--- title: Product Inventory Open API description: The Product Inventory Open API provides endpoints to create and retrieve product inventories.Deletes a specified product inventory record.Retrieves a list of all product inventories.Retrieves a specified product inventory record.Retrieves a list of all product inventories.Retrieves a product inventory.Updates a specified product inventory record.Creates a product inventory record.Creates a product inventory. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/product-inventory-open-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 46 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # Product Inventory Open API The Product Inventory Open API provides endpoints to create and retrieve product inventories. Use this API to manage product inventory information between external systems and the ServiceNow AI Platform. This API is included in the Product Inventory Advanced application, which is available on the ServiceNow Store. This API is provided within the `sn_prd_invt` namespace. The calling user must have the sn\_prd\_invt.product\_inventory\_integrator role. This API creates and updates data in the following tables. - Product Characteristics \[sn\_prd\_invt\_product\_characteristics\] - Product Inventory \[sn\_prd\_invt\_product\_inventory\] - Product Model \[cmdb\_model\] - Product Model Characteristic \[sn\_prd\_pm\_product\_model\_characteristic\] The Product Inventory Open API is a ServiceNow® implementation of the TM Forum Product Inventory Management API REST specification. This implementation is based on the [TMF637 Product Inventory Management API User Guide v5.0.0](https://www.tmforum.org/resources/specifications/tmf637-product-inventory-management-api-user-guide-v5-0-0/), September 2024. The Product Inventory Open API is conformance certified by TM Forum. \[Omitted image "tmf-conformance.png"\] Alt text: TMF conformance logo **Note:** By default, POST /sn\_prd\_invt/product accepts and returns a single JSON object. `GET` endpoints return **status** as a display label, such as `Installation pending`, and the product reference field is named **product**. To change the default behavior, create a system property **sn\_prd\_invt.tmf637.version4** and set the value to `true`. When `true`, POST /sn\_prd\_invt/product accepts and returns a JSON array. `GET` endpoints return **status** as an internal value, such as `installation_pending`, and the product reference field is named **productId**. Set the property to `false` to return to the default behavior. **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md) ## Product Inventory Open API – DELETE /sn\_prd\_invt/order/product/\{id\} Deletes a specified product inventory record. ### URL format Default URL: `/api/sn_prd_invt/order/product/{id}` ### Supported request parameters
| Name | Description |
|---|---|
| id | Sys\_id of the product inventory to delete.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| Name | Description |
|---|---|
| customer | Filter product inventories by customer. Only product offerings with a customer sys\_id or external ID matching the value of this parameter are returned in the response.Data type: String Default: Don't filter by customer. |
| fields | List of fields to return in the response. Invalid fields are ignored.Data type: String Default: Return all fields. |
| 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 |
| place | Filter product inventories by location.Data type: Object ``` "place": { "id": "String" } ``` |
| place.id | Sys\_id or external id of the location associated with the product inventory record.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| status | Filter product inventories by status. Only product inventories with a status matching the value of this parameter are returned in the response.Data type: String Default: Don't filter by status. |
| 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**. |
| Link | Contains the following links to navigate through query results.- first - last - next - previous |
| X-Total-Count | For paginated queries, this header specifies the total number of records available on the server. |
| 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. |
| Name | Description |
|---|---|
| href | Relative link to the product inventory record.Data type: String |
| id | Sys\_id of the product inventory.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| externalId | External ID of the product inventory.Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] Data type: String |
| name | Name of the product inventory.Data type: String |
| place | Location of the product.Data type: Array ``` "place": [ { "id": "String", "name": "String" } ] ``` |
| place.id | Location sys\_id or external id.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| place.name | Name of the location.Data type: String Table: Location \[cmn\_location\] Field: name |
| productCharacteristic | List of product characteristics.For additional information on product characteristics, see [Create a product offering category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-create-product-offering-category.md). Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String", "valueType": "String" } ] ``` |
| productCharacteristic.name | Name of the characteristic.Data type: String |
| productCharacteristic.value | Value of the characteristic.Data type: String |
| productCharacteristic.valueType | Type of characteristic value.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 |
| productId | Sys\_id of the product model for the product inventory.Data type: String Table: Product Model \[cmdb\_model\] |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ``` |
| productOffering.id | Initial version or external ID of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: initial\_version or external\_id |
| productOffering.internalId | Internal version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: internal\_version |
| productOffering.internalVersion | Version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: version |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.version | External version of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: external\_version |
| productPrice | Returns an empty array.Data type: Array |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship.Data type: String |
| productSpecification | Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } ``` |
| productSpecification.id | Initial version or external ID of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: internal\_version or external\_id |
| productSpecification.internalId | Initial version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: initial\_version |
| productSpecification.internalVersion | Version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: version |
| productSpecification.version | External version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: external\_version |
| realizingResource | Resource that realizes the product. The realizing resource is a child product inventory of this product inventory.Data type: Object ``` "realizingResource": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingResource.id | Sys\_id of the realizing resource. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingResource.name | Name of the realizing resource. Data type: String |
| realizingResource.type | Type of the realizing resource.Valid value: child Data type: String |
| realizingService | Service that realizes the product. The realizing service is a child product inventory of this product inventory.Data type: Object ``` "realizingService": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingService.id | Sys\_id of the realizing service. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.name | Name of the realizing service. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.type | Type of the realizing service.Valid value: child Data type: String |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| relatedParty.@referredType | Type of customer.Possible values: - Consumer - Customer - CustomerContact Data type: String |
| state | Current state of the product.Data type: String |
| Name | Description |
|---|---|
| id | Sys\_id of the product inventory to retrieve.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| Name | Description |
|---|---|
| customer | Filter product inventories by customer. Only product offerings with a customer sys\_id or external ID matching the value of this parameter are returned in the response.Data type: String Default: Don't filer y customer. |
| fields | List of fields to return in the response. Invalid fields are ignored.Data type: String Default: All fields returned. |
| place | Filter product inventories by location.Data type: Object ``` "place": { "id": "String" } ``` |
| place.id | Sys\_id or external id of the location associated with the product inventory record.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| status | Filter product inventories by status. Only product inventories with a status matching the value of this parameter are returned in the response.Data type: String Default: Don't filter by status. |
| Status code | Description |
|---|---|
| 200 | Request successfully processed. |
| 400 | Bad Request. Could be any of the following reasons: - Invalid path parameter - Invalid URI |
| 404 | Record not found. Record associated with the ID is not found in the table. |
| Name | Description |
|---|---|
| billingAccount | Billing account of the product inventory record.Data type: String |
| externalId | External ID of the product inventory.Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] Data type: String |
| href | Relative link to the product inventory record.Data type: String |
| id | Sys\_id of the product inventoryData type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| name | Name of the product inventory.Data type: String |
| place | Location of the product.Data type: Array ``` "place": [ { "id": "String", "name": "String" } ] ``` |
| place.id | Location sys\_id or external id.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| place.name | Name of the location.Data type: String Table: Location \[cmn\_location\] Field: name |
| productCharacteristic | List of product characteristics.For additional information on product characteristics, see [Create a product offering category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-create-product-offering-category.md). Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String", "valueType": "String" } ] ``` |
| productCharacteristic.name | Name of the characteristic.Data type: String |
| productCharacteristic.value | Value of the characteristic.Data type: String |
| productCharacteristic.valueType | Type of characteristic value.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 |
| productId | Sys\_id of the product model for the product inventory.Data type: String Table: Product Model \[cmdb\_model\] |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ``` |
| productOffering.id | Initial version or external ID of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: initial\_version or external\_id |
| productOffering.internalId | Internal version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: internal\_version |
| productOffering.internalVersion | Version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: version |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.version | External version of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: external\_version |
| productPrice | Returns an empty array.Data type: Array |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship.Data type: String |
| productSpecification | Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } ``` |
| productSpecification.id | Initial version or external ID of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: internal\_version or external\_id |
| productSpecification.internalId | Initial version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: initial\_version |
| productSpecification.internalVersion | Version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: version |
| productSpecification.version | External version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: external\_version |
| realizingResource | Resource that realizes the product. The realizing resource is a child product inventory of this product inventory.Data type: Object ``` "realizingResource": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingResource.id | Sys\_id of the realizing resource. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingResource.name | Name of the realizing resource. Data type: String |
| realizingResource.type | Type of the realizing resource.Valid value: child Data type: String |
| realizingService | Service that realizes the product. The realizing service is a child product inventory of this product inventory.Data type: Object ``` "realizingService": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingService.id | Sys\_id of the realizing service. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.name | Name of the realizing service. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.type | Type of the realizing service.Valid value: child Data type: String |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| relatedParty.type | Type of related party. Value is always `Related Party`.Data type: String |
| relatedParty.@referredType | Type of customer, such as a customer or customer contact.Data type: String |
| status | Current state of the product.Data type: String |
| Name | Description |
|---|---|
| customer | Filter product inventories by customer. Only product offerings with a customer sys\_id or external ID matching the value of this parameter are returned in the response.Data type: String Default: Don't filter by customer. |
| fields | List of fields to return in the response. Invalid fields are ignored.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 |
| place | Filter product inventories by location.Data type: Object ``` "place": { "id": "String" } ``` |
| place.id | Sys\_id or external id of the location associated with the product inventory record.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| status | Filter product inventories by status. Only product inventories with a status matching the value of this parameter are returned in the response.Data type: String Default: Don't filter by inventory status. |
| 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**. |
| Link | Contains the following links to navigate through query results.- first - last - next - previous |
| X-Total-Count | For paginated queries, this header specifies the total number of records available on the server. |
| 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. |
| Name | Description |
|---|---|
| externalId | External ID of the product inventory.Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] Data type: String |
| id | Sys\_id of the product inventory.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| name | Name of the product inventory.Data type: String |
| place | Place associated with the product.Data type: Object ``` "place": { "id": "String", "name": "String" } ``` |
| place.id | Location sys\_id or external\_id of the product inventory.Table: Location \[cmn\_location\] Data: String |
| place.name | Name of the location associated with the product inventory.Table: Location \[cmn\_location\] Data: String |
| productCharacteristic | List of product characteristics.For additional information on product characteristics, see [Create a product offering category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-create-product-offering-category.md). Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String", "valueType": "String" } ] ``` |
| productCharacteristic.name | Name of the characteristic.Data type: String |
| productCharacteristic.value | Value of the characteristic.Data type: String |
| productCharacteristic.valueType | Type of characteristic value.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 |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "name": "String" } ``` |
| productOffering.id | Sys\_id of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship.Data type: String |
| productSpecification | Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String" } ``` |
| productSpecification.id | Sys\_id of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] |
| realizingResource | Realizing resource.Data type: Object ``` "realizingResource": { "id": "String", "type": "String" } ``` |
| realizingResource.id | Sys\_id of the realizing resource.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingResource.type | Type of the realizing resource.Data type: String |
| realizingService | Realizing service.Data type: Object ``` "realizingService": { "id": "String", "type": "String" } ``` |
| realizingService.id | Sys\_id of the realizing service.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.type | Type of the realizing service.Data type: String |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\] or Consumer \[csm\_consumer\] |
| relatedParty.@referredType | Type of related party. Value is always `Related Party`.Data type: String |
| relatedParty.type | Type of customer.Possible values: - consumer - customer - customerContact Data type: String |
| status | Current state of the product.Data type: String |
| Name | Description |
|---|---|
| inventoryId | Sys\_id of the product inventory to retrieve.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| Name | Description |
|---|---|
| customer | Filter product inventories by customer. Only product offerings with a customer sys\_id or external ID matching the value of this parameter are returned in the response.Data type: String |
| fields | List of fields to return in the response. Invalid fields are ignored.Data type: String Default: All fields returned. |
| place | Filter product inventories by location.Data type: Object ``` "place": { "id": "String" } ``` |
| place.id | Sys\_id or external id of the location associated with the product inventory record.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| status | Filter product inventories by status. Only product inventories with a status matching the value of this parameter are returned in the response.Data type: String |
| Status code | Description |
|---|---|
| 200 | Request successfully processed. |
| 400 | Bad Request. Could be any of the following reasons: - Invalid path parameter - Invalid URI |
| 404 | Record not found. Record associated with the ID is not found in the table. |
| Name | Description |
|---|---|
| externalId | External ID of the product inventory.Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] Data type: String |
| id | Sys\_id of the product inventory Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| name | Name of the product inventory.Data type: String |
| place | Place associated with the product.Data type: Object ``` "place": { "id": "String", "name": "String" } ``` |
| place.id | Location sys\_id or external\_id of the product inventory.Table: Location \[cmn\_location\] Data: String |
| place.name | Name of the location associated with the product inventory.Table: Location \[cmn\_location\] Data: String |
| productCharacteristic | List of product characteristics.For additional information on product characteristics, see [Create a product offering category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-create-product-offering-category.md). Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String", "valueType": "String" } ] ``` |
| productCharacteristic.name | Name of the characteristic.Data type: String |
| productCharacteristic.value | Value of the characteristic.Data type: String |
| productCharacteristic.valueType | Type of characteristic value.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 |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "name": "String" } ``` |
| productOffering.id | Sys\_id of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship.Data type: String |
| productSpecification | Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String" } ``` |
| productSpecification.id | Sys\_id of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] |
| realizingResource | Realizing resource.Data type: Object ``` "realizingResource": { "id": "String", "type": "String" } ``` |
| realizingResource.id | Sys\_id of the realizing resource.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingResource.type | Type of the realizing resource.Data type: String |
| realizingService | Realizing service.Data type: Object ``` "realizingService": { "id": "String", "type": "String" } ``` |
| realizingService.id | Sys\_id of the realizing service.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.type | Type of the realizing service.Data type: String |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| relatedParty.@referredType | Type of related party. Value is always `Related Party`.Data type: String |
| relatedParty.type | Type of customer.Possible values: - consumer - customer - customerContact Data type: String |
| status | Current state of the product.Data type: String |
| Name | Description |
|---|---|
| id | Sys\_id of the product inventory to update.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| Name | Description |
|---|---|
| bundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean |
| name | Name of the product inventory.Data type: String |
| place | Location of the product.Data type: Array ``` "place": [ { "id": "String", "name": "String" } ] ``` |
| place.id | Location sys\_id or external id.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| place.name | Name of the location.Data type: String Table: Location \[cmn\_location\] Field: name |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "@referredType": "String", "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "status": "String", "version": "String" } ``` |
| productOffering.@referredType | This value is always `ProductOffering`.Data type: String |
| productOffering.id | Initial version or external ID of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: initial\_version or external\_id |
| productOffering.internalId | Internal version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: internal\_version |
| productOffering.internalVersion | Version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: version |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: name |
| productOffering.status | Status of the product offering.Possible values: - archived - draft - published - retired Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: status |
| productOffering.version | External version of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: external\_version |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "@referredType": "String", "@type": "String", "id": "String", "name": "String" } ] ``` |
| relatedParty.@referredType | Type of related party.Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.@type | This value is always `RelatedParty`.Data type: String |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| relatedParty.name | Name of the of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| Name | Description |
|---|---|
| bundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean |
| name | Name of the product inventory.Data type: String |
| place | Location of the product.Data type: Array ``` "place": [ { "id": "String", "name": "String" } ] ``` |
| place.id | Location sys\_id or external id.Data type: String Table: Location \[cmn\_location\] Field: sys\_id or sn\_tmt\_core\_external\_id |
| place.name | Name of the location.Data type: String Table: Location \[cmn\_location\] Field: name |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "@referredType": "String", "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "status": "String", "version": "String" } ``` |
| productOffering.@referredType | This value is always `ProductOffering`.Data type: String |
| productOffering.id | Initial version or external ID of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: initial\_version or external\_id |
| productOffering.internalId | Internal version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: internal\_version |
| productOffering.internalVersion | Version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: version |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: name |
| productOffering.status | Status of the product offering.Possible values: - archived - draft - published - retired Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: status |
| productOffering.version | External version of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: external\_version |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "@referredType": "String", "@type": "String", "id": "String", "name": "String" } ] ``` |
| relatedParty.@referredType | Type of related party.Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.@type | This value is always `RelatedParty`.Data type: String |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| relatedParty.name | Name of the of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| Name | Description |
|---|---|
| bundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean Default: false |
| isBundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean Default: false |
| name | Required. Name of the product inventory.Data type: String |
| pid | Unique identifier for the product inventory from the external system.Data type: String Default: Blank string |
| productCharacteristic | List of product characteristics.For additional information on product characteristics, see [Create a product offering category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-create-product-offering-category.md). Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String", "valueType": "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 |
| productCharacteristic.valueType | Type of characteristic value.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 |
| productOffering | Required. Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "internalVersion": "String", "name": "String", "version": "String" } ``` |
| productOffering.id | Required. Initial\_version or external\_id of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.internalVersion | Version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: version |
| productOffering.name | Name of the product offering.Data type: String Default: Blank string Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.version | External version of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: external\_version |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Required if using the **productRelationship** parameter. Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship. The only valid value is `child`. Data type: String Default: Blank string |
| productSpecification | Required. Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String", "internalVersion": "String", "version": "String" } ``` |
| productSpecification.id | Required. Initial\_version or external\_id of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] |
| productSpecification.internalVersion | Version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: version |
| productSpecification.version | External version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: external\_version |
| realizingResource | Resource that realizes the product. The realizing resource is a child product inventory of this product inventory.Data type: Object ``` "realizingResource": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingResource.id | Required if using the **realizingResource** parameter. Sys\_id of the realizing resource. Data type: String |
| realizingResource.type | Type of the realizing resource.Valid value: child Data type: String |
| realizingService | Service that realizes the product. The realizing service is a child product inventory of this product inventory.Data type: Object ``` "realizingService": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingService.id | Required if using the **realizingService** parameter. Sys\_id of the realizing service. Data type: String |
| realizingService.type | Type of the realizing service.Valid value: child Data type: String |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.@referredType | Type of customer.Possible values: - consumer - customer - customer\_contact Data type: String Default: Blank string |
| relatedParty.id | Required if using the **relatedParty** parameter. Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| state | Current state of the product.Possible values: - active - change\_pending - inactivation\_pending - inactive - installation\_pending Data type: String Default: installation\_pending |
| 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> |
| Name | Description |
|---|---|
| bundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean |
| href | Relative link to the product inventory record.Data type: String |
| id | Sys\_id of the product inventory.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| isBundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean |
| name | Name of the product inventory.Data type: String |
| pid | Unique identifier for the product inventory from the external system.Data type: String |
| productCharacteristic | List of product characteristics.Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String" } ] ``` |
| productCharacteristic.name | Name of the characteristic.Data type: String |
| productCharacteristic.value | Value of the characteristic.Data type: String |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String" } ``` |
| productOffering.id | Initial version or external ID of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: initial\_version or external\_id |
| productOffering.internalId | Internal version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: internal\_version |
| productOffering.internalVersion | Version of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: version |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.version | External version of the product offering. Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] Field: external\_version |
| productPrice | Returns an empty array.Data type: Array |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship.Data type: String |
| productSpecification | Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String", "internalId": "String", "internalVersion": "String", "version": "String" } ``` |
| productSpecification.id | Initial version or external ID of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: internal\_version or external\_id |
| productSpecification.internalId | Initial version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: initial\_version |
| productSpecification.internalVersion | Version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: version |
| productSpecification.version | External version of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] Field: external\_version |
| realizingResource | Resource that realizes the product. The realizing resource is a child product inventory of this product inventory.Data type: Object ``` "realizingResource": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingResource.id | Sys\_id of the realizing resource. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingResource.type | Type of the realizing resource.Valid value: child Data type: String |
| realizingService | Service that realizes the product. The realizing service is a child product inventory of this product inventory.Data type: Object ``` "realizingService": { "id": "String", "name": "String", "type": "String" } ``` |
| realizingService.id | Sys\_id of the realizing service. Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.type | Type of the realizing service.Valid value: child Data type: String |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.@referredType | Type of related party. Value is always `Related Party`.Data type: String |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table:Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| relatedParty.type | Type of customer.Possible values: - consumer - customer - customerContact Data type: String |
| status | Current state of the product.Data type: String |
| Name | Description |
|---|---|
| isBundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean Default: false |
| name | Required. Name of the product inventory.Data type: String |
| pid | Unique identifier for the product inventory from the external system.Data type: String Default: Blank string |
| productCharacteristic | List of product characteristics.For additional information on product characteristics, see [Create a product offering category](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-create-product-offering-category.md). Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String", "valueType": "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 |
| productCharacteristic.valueType | Type of characteristic value.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 |
| productOffering | Required. Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "name": "String" } ``` |
| productOffering.id | Required. Sys\_id of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.name | Name of the product offering.Data type: String Default: Blank string Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Required if using the **productRelationship** parameter. Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship. The only valid value is `child`. Data type: String Default: Blank string |
| productSpecification | Required. Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String" } ``` |
| productSpecification.id | Required. Sys\_id of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] |
| realizingResource | Realizing resource.Data type: Object ``` "realizingResource": { "id": "String", "type": "String" } ``` |
| realizingResource.id | Required if using the **realizingResource** parameter. Sys\_id of the realizing resource.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingResource.type | Type of the realizing resource.The only valid value is `child`. Data type: String Default: Blank string |
| realizingService | Realizing service.Data type: Object ``` "realizingService": { "id": "String", "type": "String" } ``` |
| realizingService.id | Required if using the **realizingService** parameter. Sys\_id of the realizing service.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.type | Type of the realizing service.The only valid value is `child`. Data type: String Default: Blank string |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.@referredType | Type of customer.Possible values: - consumer - customer - customer\_contact Data type: String Default: Blank string |
| relatedParty.id | Required if using the **relatedParty** parameter. Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_Consumer\] |
| state | Current state of the product.Possible values: - active - change\_pending - inactivation\_pending - inactive - installation\_pending Data type: String Default: installation\_pending |
| 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> |
| Name | Description |
|---|---|
| id | Sys\_id of the product inventory.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| isBundle | Flag that indicates whether the product inventory record is part of a bundled product.Valid values: - true: Is part of a bundle. - false: Isn't part of a bundle. Data type: Boolean |
| name | Name of the product inventory.Data type: String |
| pid | Unique identifier for the product inventory from the external system.Data type: String |
| productCharacteristic | List of product characteristics.Data type: Array of Objects ``` "productCharacteristic": [ { "name": "String", "value": "String" } ] ``` |
| productCharacteristic.name | Name of the characteristic.Data type: String |
| productCharacteristic.value | Value of the characteristic.Data type: String |
| productOffering | Product offering that the product inventory is associated with.Data type: Object ``` "productOffering": { "id": "String", "name": "String" } ``` |
| productOffering.id | Sys\_id of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productOffering.name | Name of the product offering.Data type: String Table: Product Offering \[sn\_prd\_pm\_product\_offering\] |
| productRelationship | List of related products.Data type: Array of Objects ``` "productRelationship": [ { "productId": "String", "relationshipType": "String" } ] ``` |
| productRelationship.productId | Sys\_id of the related product.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| productRelationship.relationshipType | Type of relationship.Data type: String |
| productSpecification | Product specification for the product.Data type: Object ``` "productSpecification": { "id": "String" } ``` |
| productSpecification.id | Sys\_id of the product specification.Data type: String Table: Product Specification \[sn\_prd\_pm\_product\_specification\] |
| realizingResource | Realizing resource.Data type: Object ``` "realizingResource": { "id": "String", "type": "String" } ``` |
| realizingResource.id | Sys\_id of the realizing resourceData type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingResource.type | Type of the realizing resource.Data type: String |
| realizingService | Realizing service.Data type: Object ``` "realizingService": { "id": "String", "type": "String" } ``` |
| realizingService.id | Sys\_id of the realizing service.Data type: String Table: Product Inventory \[sn\_prd\_invt\_product\_inventory\] |
| realizingService.type | Type of the realizing service.Data type: String |
| relatedParty | List of parties associated with the ticket.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "@referredType": "String" } ] ``` |
| relatedParty.id | Sys\_id of the account or customer contact associated with the ticket.Data type: String Table: Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] |
| relatedParty.@referredType | Type of customer.Possible values: - Consumer - Customer - CustomerContact Data type: String |
| state | Current state of the product.Data type: String |