---
schema_version: "1"
id: de11f0e9a04a3b8526cd1ae900eb880c21f8e0e66c9bf08bc1b474242cbd8aae
title: TMF637 v4 Product Inventory Management
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries-integrations/comms/references/generated-api-specs/tmf637.md
canonical_url: https://developer.salesforce.com/docs/industries/communications/references/tmf637
source_site: developer.salesforce.com
content_type: documentation
content_hash: ef00d2e35c7da829c3e41b518a9b5df99a4f8fa8f550a639cc0770f26e5ec969
products:
  - Communications Cloud TM Forum API
  - Industries Integrations
---
TMF637 v4 Product Inventory Management

# TMF637 v4 Product Inventory Management

Use the Product Inventory Management API to provide and manage an inventory of products. Product(s) can be retrieved. The data exchange is compliant with the TMForum 637 Open API specification.

**Version:** v1

Protocols: https.

## Operations

### GET List Products

`GET /product`

Retrieves a list of products with specified fields and based on filtering, if any.

#### Parameters

*   `fields` (query, string) Provide required attributes here in a comma seperated manner. Supported fields :- name, isBundle, isCustomerVisible, description, status, productSerialNumber
*   `status` (query, string) Filter based on the status of the product
*   `name` (query, string) Filter based on the name of the product.
*   `productSerialNumber` (query, string) Filter based on the serial number for the product.
*   `description` (query, string) Filter based on the description of the product.
*   `offset` (query, string) Specifies the requested index for the start of the resources to be included in the response.
*   `limit` (query, string) Specifies the requested number of the resources to be included in the response.
*   `Authorization` (header, string, required) Specifies the bearer token to use for the authentication of request.
*   `Namespace` (header, string) Specifies the namespace to use with the URL path.
*   `Domain-Name` (header, string, required) Specifies the domain name to use with the URL path received from the userinfo API.

#### Responses

*   **200** Successfully retrieved a list of products.
    
    Media type: `application/json`. Schema: `array of Product`.
    
    Array of `Product`.
    
    _Example_
    
    ```
    [
      {
          "isBundle": "false",
          "isCustomerVisible": true,
          "productSpecification": {
              "id": "01tDp000000Ogk5IAC",
              "name": "Cisco Firepower789"
          },
          "productOffering": {
              "id": "01tDp000000Ogk0IAC",
              "name": "Cisco Firepower789"
          },
          "description": "New DESC",
          "id": "99394f76-7187-c384-b50a-de213527ecd9",
          "name": "Testing Asset",
          "productSerialNumber": "123",
          "status": "Ready for review",
          "relatedParty": [
              {
                  "name": "Testing Asset",
                  "@referredType": "Account",
                  "id": "CC2134256"
              }
          ],
          "billingAccount": {
              "id": "001Dp000002RdyXIAS",
              "name": "TMForum"
          },
          "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/product/99394f76-7187-c384-b50a-de213527ecd9",
          "productPrice": [
              {
                  "priceType": "One-time",
                  "price": {
                      "taxIncludedAmount": {
                          "value": 0.00000
                      }
                  },
                  "name": "a3GDp000000LbKU"
              }
          ],
          "productCharacteristic": [
              {
                  "name": "B2CCmex_ATTR_DATA_CHAR",
                  "value": "50 GB",
                  "valueType": "Text"
              },
              {
                  "name": "B2CCmex_ATTR_HASDISCOUNT_CHAR",
                  "value": "true",
                  "valueType": "Checkbox"
              },
              {
                  "name": "B2CCmex_ATTR_MMS",
                  "value": "20",
                  "valueType": "Number"
              },
              {
                  "name": "B2CCmex_ATTR_PAYMENT_OPTION_CHAR",
                  "value": "Postpaid",
                  "valueType": "Picklist"
              },
              {
                  "name": "B2CCmex_ATTR_SMS_CHAR",
                  "value": "500",
                  "valueType": "Text"
              },
              {
                  "name": "B2CCmex_ATTR_TANGIBLE_CHAR",
                  "value": "false",
                  "valueType": "Checkbox"
              },
              {
                  "name": "B2CCmex_ATTR_VOICE_CHAR",
                  "value": "500",
                  "valueType": "Text"
              }
          ]
      },
      {
          "description": "hey",
          "id": "ed5feda3-b2fe-f590-c253-cd3ad81eae40",
          "name": "New Asset",
          "productSerialNumber": "112233",
          "status": "Active",
          "relatedParty": [
              {
                  "id": "CC213425",
                  "name": "Pyramid Construction Inc.",
                  "@referredType": "Account"
              }
          ],
          "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/product/ed5feda3-b2fe-f590-c253-cd3ad81eae40"
      },
      {
          "isBundle": "false",
          "isCustomerVisible": true,
          "productSpecification": {
              "id": "01tDp000000Ogk5IAC",
              "name": "Cisco Firepower789"
          },
          "productOffering": {
              "id": "01tDp000000OgkAIAS",
              "name": "Cisco Firepower789"
          },
          "orderDate": "2019-05-03",
          "productOrderItem": [
              {
                  "productOrderId": "00000100",
                  "orderItemAction": "Add",
                  "orderItemId": "0000000001"
              }
          ],
          "description": "new desc",
          "id": "1b55a381-1782-56d6-a90a-2030798d6e4b",
          "name": "TMForum",
          "productSerialNumber": "xyz",
          "startDate": "2024-05-05",
          "status": "Active",
          "relatedParty": [
              {
                  "id": "CD451791",
                  "name": "Test Sh1",
                  "@referredType": "Account"
              }
          ],
          "billingAccount": {
              "id": "001Dp000002RdyXIAS",
              "name": "TMForum"
          },
          "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/product/1b55a381-1782-56d6-a90a-2030798d6e4b",
          "productPrice": [
              {
                  "priceType": "One-time",
                  "price": {
                      "taxIncludedAmount": {
                          "value": 0.00000
                      }
                  },
                  "name": "a3GDp000000LbKe"
              }
          ],
          "productCharacteristic": [
              {
                  "name": "B2CCmex_ATTR_DATA_CHAR",
                  "value": "25 GB",
                  "valueType": "Text"
              },
              {
                  "name": "B2CCmex_ATTR_HASDISCOUNT_CHAR",
                  "value": "false",
                  "valueType": "Checkbox"
              },
              {
                  "name": "B2CCmex_ATTR_MMS",
                  "valueType": "Number"
              },
              {
                  "name": "B2CCmex_ATTR_PAYMENT_OPTION_CHAR",
                  "value": "Prepaid",
                  "valueType": "Picklist"
              },
              {
                  "name": "B2CCmex_ATTR_SMS_CHAR",
                  "value": "500",
                  "valueType": "Text"
              },
              {
                  "name": "B2CCmex_ATTR_TANGIBLE_CHAR",
                  "value": "false",
                  "valueType": "Checkbox"
              },
              {
                  "name": "B2CCmex_ATTR_VOICE_CHAR",
                  "value": "500",
                  "valueType": "Text"
              }
          ]
      }
    ]
    ```
    
*   **404** Resource not found.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example_
    
    ```
    code: NOT_FOUND
    reason: There are no matching resource.
    message: There are no data in system or not data for specified filters.
    ```
    
*   **500** Internal Server Error.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example_
    
    ```
    code: "500"
    reason: Internal Server Error
    ```
    

### GET Retrieve Individual Product

`GET /product/{id}`

Retrieves a product with specified fields

Retrieves an individual product with specified fields.

#### Parameters

*   `id` (path, string, required)
*   `fields` (query, string) Provide required attributes here in a comma seperated manner. Supported fields :- name, isBundle, isCustomerVisible, description, status, productSerialNumber
*   `Authorization` (header, string, required) Specifies the bearer token to use for the authentication of request.
*   `Namespace` (header, string) Specifies the namespace to use with the URL path.
*   `Domain-Name` (header, string, required) Specifies the domain name to use with the URL path received from the userinfo API.

#### Responses

*   **200** Successfully retrieved a product
    
    Media type: `application/json`. Schema: `Product`.
    
    _Example_
    
    ```
    {
      "isBundle": "false",
      "isCustomerVisible": true,
      "productSpecification": {
          "id": "01tDp000000Ogk5IAC",
          "name": "Cisco Firepower789"
      },
      "productOffering": {
          "id": "01tDp000000OgkAIAS",
          "name": "Cisco Firepower789"
      },
      "orderDate": "2019-05-03",
      "productOrderItem": [
          {
              "productOrderId": "00000100",
              "orderItemAction": "Add",
              "orderItemId": "0000000001"
          }
      ],
      "description": "new desc",
      "id": "1b55a381-1782-56d6-a90a-2030798d6e4b",
      "name": "TMForum",
      "productSerialNumber": "xyz",
      "startDate": "2024-05-05",
      "status": "Active",
      "relatedParty": [
        {
            "id": "CD451791",
            "name": "Test Sh1",
            "@referredType": "Account"
        }
      ],
      "billingAccount": {
          "id": "001Dp000002RdyXIAS",
          "name": "TMForum"
      },
      "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/product/1b55a381-1782-56d6-a90a-2030798d6e4b",
      "productPrice": [
          {
              "priceType": "One-time",
              "price": {
                  "taxIncludedAmount": {
                      "value": 0.00000
                  }
              },
              "name": "a3GDp000000LbKe"
          }
      ],
      "productCharacteristic": [
        {
            "name": "B2CCmex_ATTR_DATA_CHAR",
            "value": "25 GB",
            "valueType": "Text"
        },
        {
            "name": "B2CCmex_ATTR_HASDISCOUNT_CHAR",
            "value": "false",
            "valueType": "Checkbox"
        },
        {
            "name": "B2CCmex_ATTR_MMS",
            "valueType": "Number"
        },
        {
            "name": "B2CCmex_ATTR_PAYMENT_OPTION_CHAR",
            "value": "Prepaid",
            "valueType": "Picklist"
        },
        {
            "name": "B2CCmex_ATTR_SMS_CHAR",
            "value": "500",
            "valueType": "Text"
        },
        {
            "name": "B2CCmex_ATTR_TANGIBLE_CHAR",
            "value": "false",
            "valueType": "Checkbox"
        },
        {
            "name": "B2CCmex_ATTR_VOICE_CHAR",
            "value": "500",
            "valueType": "Text"
        }
      ]
    }
    ```
    
*   **404** Resource not found.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example_
    
    ```
    code: NOT_FOUND
    reason: There are no matching resource.
    message: There are no data in system or not data for specified filters.
    ```
    
*   **500** Internal Server Error.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example_
    
    ```
    code: "500"
    reason: Internal Server Error
    ```
    

## Schemas

### Product

*   `id` (_string_) Unique identifier of the product.
*   `href` (_string_) Reference of the product.
*   `description` (_string_) Is the description of the product. It could be copied from the description of the Product Offering.
*   `isBundle` (_string_) If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering.
*   `isCustomerVisible` (_boolean_) If true, the product is visible by the customer.
*   `name` (_string_) Name of the product. It could be the same as the name of the product offering.
*   `productSerialNumber` (_string_) serial number for the product. This is typically applicable to tangible products.
*   `orderDate` (_date-only_) Date when the product was ordered.
*   `startDate` (_date-only_) Date from which the product starts.
*   `status` (_string_, required) Lifecycle status of the product.
*   `terminationDate` (_date-only_) Date when the product was terminated. Supported only if the LifecycleManagment license is present. Specifically, the Addon License AssetLifecycleManagementAddon should be present
*   `billingAccount` (_object_) Detailed description of a bill structure.
    
    Includes all fields of `BillingAccountRef`.
    
*   `productCharacteristic` (_array of object_) A list of characteristics (Characteristic \[\*\]). Describes a given characteristic of an object or entity through a name/value pair.
    
    Includes all fields of `Characteristic`.
    
*   `productOffering` (_object_) A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
    
    Includes all fields of `ProductOfferingRef`.
    
*   `productOrderItem` (_array of object_) A list of related product order items. The product order item which triggered product creation/change/termination.
    
    Includes all fields of `RelatedProductOrderItem`.
    
*   `productPrice` (_array of object_) An amount, usually of money, that represents the actual price paid by a Customer for a purchase, a rent or a lease of a Product. The price is valid for a defined period of time.
    
    Includes all fields of `productPrice`.
    
*   `productSpecification` (_object_) A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.
    
    Includes all fields of `ProductSpecificationRef`.
    
*   `relatedParty` (_array of object_) Related Entity reference. A related party defines party or party role linked to a specific entity
    
    Includes all fields of `RelatedParty`.
    

### Error

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)

*   `code` (_string_, required) Application relevant detail, defined in the API or a common list.
*   `reason` (_string_, required) Explanation of the reason for the error which can be shown to a client user.
*   `message` (_string_) More details and corrective actions related to the error which can be shown to a client user.

### BillingAccountRef

A BillingAccount is a detailed description of a bill structure.

*   `id` (_string_, required) Unique identifier.
*   `name` (_string_) Name of the related entity..

### Characteristic

Describes a given characteristic of an object or entity through a name/value pair.

*   `name` (_string_) Name of the characteristic.
*   `value` (_string_) The Value of the characteristic.
*   `valueType` (_string_) Data type of the value of the characteristic.

### ProductOfferingRef

A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.

*   `id` (_string_, required) Unique identifier of a related entity.
*   `name` (_string_) Name of the related entity.

### RelatedProductOrderItem

RelatedProductOrderItem (ProductOrder item). The product order item which triggered product creation/change/termination.

*   `orderItemAction` (_string_) Action of the order item for this product.
*   `orderItemId` (_string_) Identifier of the order item where the product was managed.
*   `productOrderId` (_string_, required) Unique identifier of a related entity.

### productPrice

An amount, usually of money, that represents the actual price paid by a Customer for a purchase, a rent or a lease of a Product. The price is valid for a defined period of time.

*   `description` (_string_) A narrative that explains in detail the semantics of this product price.
*   `name` (_string_) A short descriptive name such as "Subscription price".
*   `price` (_object_) Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
    
    Includes all fields of `Price`.
    
*   `priceType` (_string_, required) A category that describes the price, such as recurring, discount, allowance, penalty, and so forth.
*   `productPriceAlteration` (_array of object_) A list of price alterations (PriceAlteration \[\*\]). Is an amount, usually of money, that modifies the price charged for an order item.
    
    Includes all fields of `PriceAlteration`.
    
*   `recurringChargePeriod` (_string_) The period to repeat the application of the price Could be month, week...
*   `unitOfMeasure` (_string_) A string. Could be minutes, GB

### ProductSpecificationRef

A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.

*   `id` (_string_, required) Unique identifier of a related entity.
*   `name` (_string_) Name of the related entity.

### RelatedParty

A related party defines party or party role linked to a specific entity.

*   `@referredType` (_string_, required) The actual type of the target instance when needed for disambiguation.
*   `id` (_string_, required) Unique identifier.
*   `name` (_string_) Name of the related entity.

### Price

Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.

*   `percentage` (_integer_) Percentage to apply for ProdOfferPriceAlteration.
*   `taxIncludedAmount` (_object_) All taxes included amount
    
    Includes all fields of `Money`.
    

### PriceAlteration

Is an amount, usually of money, that modifies the price charged for an order item.

*   `price` (_object_) Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
    
    Includes all fields of `Price`.
    
*   `priceType` (_string_) A category that describes the price such as recurring, one time and usage.

### Money

A base / value business entity used to represent money.

*   `unit` (_string_) Currency (ISO4217 norm uses 3 letters to define the currency).
*   `value` (_integer_) A positive floating point number.