Documentation Changelog
Extensibility for TMF APIs
Use Cases
Resource Mappings
Known Issues
FAQ
The TMF637 v5 API retrieves product inventory from Asset records and, from Winter ‘27, updates a limited set of fields on a single product.
You can perform these operations.
Starting from the Winter ‘27 release, only the Direct Access option is supported for this API.
Important
It is assumed that you have completed the following.
NOTE:
productOrderItem is returned on retrieve (GET by ID) only. List responses omit it.| I want to | Request Type | Example URL |
|---|---|---|
| Retrieve and display details of a particular product. | GET by ID | {{orgendpoint}}/services/data/{{version}}/connect/comms/productinventorymanagement/v5/productinventory/{ID} NOTE: For an invalid product ID, you receive HTTP 404. |
| List the products present in the inventory. | GET List | {{orgendpoint}}/services/data/{{version}}/connect/comms/productinventorymanagement/v5/productinventory |
| List products and return only the requested fields. | GET List with Fields | {{orgendpoint}}/services/data/{{version}}/connect/comms/productinventorymanagement/v5/productinventory?fields=name,description,status NOTE: Requested fields are part of the output when they have a value. |
| List products that match a filter. | GET List with Filters | {{orgendpoint}}/services/data/{{version}}/connect/comms/productinventorymanagement/v5/productinventory?status=Initial Sale |
| List products, limit the number of records, and start from the page specified by offset. | GET with Pagination | {{orgendpoint}}/services/data/{{version}}/connect/comms/productinventorymanagement/v5/productinventory?offset=0&pageLimit=1 |
| Update the name, description, and product serial number of a product. | PATCH | {{orgendpoint}}/services/data/{{version}}/connect/comms/productinventorymanagement/v5/productinventory/{ID} NOTE: PATCH is available from Winter ‘27. Only name, description, and productSerialNumber can be updated. |
Consider you want to retrieve the product whose Asset ID is 02ixx0000004HI0AAM.
productOrderItem is included on this operation only.
https://MyDomainName.my.salesforce.com/services/data/v68.0/connect/comms/productinventorymanagement/v5/productinventory/02ixx0000004HI0AAM
1{
2 "id": "02ixx0000004HI0AAM",
3 "href": "/connect/comms/productinventorymanagement/v5/productinventory/02ixx0000004HI0AAM",
4 "isBundle": false,
5 "productOffering": {
6 "id": "01txx0000006i2fAAA",
7 "href": "/services/data/v68.0/sobjects/Product2/01txx0000006i2fAAA",
8 "name": "Support",
9 "@referredType": "ProductOffering"
10 },
11 "productOrderItem": [
12 {
13 "productOrderId": "00000111",
14 "orderItemAction": "add",
15 "orderItemId": "0000000037",
16 "@type": "RelatedProductOrderItem"
17 }
18 ],
19 "description": "Multi field update test",
20 "productSerialNumber": "SN-MULTI-001",
21 "startDate": "2026-07-03T00:00:00.000Z",
22 "terminationDate": "2026-08-02T23:59:59.000Z",
23 "name": "Multi-Field-Test",
24 "status": "Initial Sale",
25 "relatedParty": [
26 {
27 "id": "001xx000003GYzmAAG",
28 "name": "Cloud Kicks",
29 "role": "customer",
30 "@referredType": "Account"
31 }
32 ],
33 "productPrice": [
34 {
35 "recurringChargePeriod": "months",
36 "priceType": "termdefined",
37 "price": {
38 "dutyFreeAmount": {
39 "unit": "USD",
40 "value": 14.99
41 },
42 "taxIncludedAmount": {
43 "unit": "USD",
44 "value": 14.99
45 },
46 "@type": "Price"
47 },
48 "@type": "ProductPrice"
49 }
50 ],
51 "@type": "Product"
52}Consider there are multiple products in the inventory and you want to list them.
https://MyDomainName.my.salesforce.com/services/data/v68.0/connect/comms/productinventorymanagement/v5/productinventory
1[
2 {
3 "isBundle": false,
4 "terminationDate": "2026-09-02T23:59:59.000Z",
5 "productOffering": {
6 "id": "01txx0000006i3EAAQ",
7 "href": "/services/data/v67.0/sobjects/Product2/01txx0000006i3EAAQ",
8 "name": "API Access Premium",
9 "@referredType": "ProductOffering"
10 },
11 "@type": "Product",
12 "name": "API Access Premium",
13 "id": "02ixx0000004HHiAAM",
14 "href": "/connect/comms/productinventorymanagement/v5/productinventory/02ixx0000004HHiAAM",
15 "relatedParty": [
16 {
17 "id": "001xx000003GYzmAAG",
18 "name": "Cloud Kicks",
19 "role": "customer",
20 "@referredType": "Account"
21 }
22 ],
23 "startDate": "2026-08-03T00:00:00.000Z",
24 "productPrice": [
25 {
26 "recurringChargePeriod": "onetime",
27 "priceType": "onetime",
28 "price": {
29 "dutyFreeAmount": {
30 "unit": "USD",
31 "value": 75.0
32 },
33 "taxIncludedAmount": {
34 "unit": "USD",
35 "value": 82.5
36 },
37 "@type": "Price"
38 },
39 "@type": "ProductPrice"
40 }
41 ],
42 "status": "Initial Sale"
43 }
44]Consider you want to list products and return only selected fields.
https://MyDomainName.my.salesforce.com/services/data/v68.0/connect/comms/productinventorymanagement/v5/productinventory?fields=name,description,status
1[
2 {
3 "id": "02ixx0000004HHiAAM",
4 "href": "/connect/comms/productinventorymanagement/v5/productinventory/02ixx0000004HHiAAM",
5 "name": "API Access Premium",
6 "status": "Initial Sale",
7 "@type": "Product"
8 }
9]Consider you want to list products whose status is Initial Sale.
https://MyDomainName.my.salesforce.com/services/data/v68.0/connect/comms/productinventorymanagement/v5/productinventory?status=Initial%20Sale
1[
2 {
3 "id": "02ixx0000004HHiAAM",
4 "href": "/connect/comms/productinventorymanagement/v5/productinventory/02ixx0000004HHiAAM",
5 "name": "API Access Premium",
6 "status": "Initial Sale",
7 "isBundle": false,
8 "@type": "Product"
9 }
10]offset defaults to 0. pageLimit defaults to 100.
https://MyDomainName.my.salesforce.com/services/data/v68.0/connect/comms/productinventorymanagement/v5/productinventory?offset=0&pageLimit=1
The response is a list containing at most pageLimit products, starting at offset. The shape of each product matches GET List.
PATCH is available from Winter ‘27. Only name, description, and productSerialNumber can be updated.
https://MyDomainName.my.salesforce.com/services/data/v68.0/connect/comms/productinventorymanagement/v5/productinventory/02ixx0000004HI0AAM
1{
2 "name": "Multi-Field-Test",
3 "description": "Multi field update test",
4 "productSerialNumber": "SN-MULTI-001"
5}The response is the updated product. The shape matches GET by ID.