---
schema_version: "1"
id: a55d5b8fff0b1fe02a5ee4d9119a9adadaac6b0b35a23c0016b5478884d33048
title: Catalog Use Cases
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries-integrations/comms/guides/TMF620/catalog-use-cases.md
canonical_url: https://developer.salesforce.com/docs/industries/communications/guide/catalog-use-cases.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: acbc3573f4a0156e0647ee9b450c7bf035245a88ad260c345fe9f06fb913f9f2
products:
  - Communications Cloud TM Forum API
  - Industries Integrations
---
# Catalog Use Cases

| I want to                                                                                                                 | Request Type                                                          | Example URL                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Retrieve and display details of a requested catalog                                                                       | [GET by ID](#get-by-id)                                               | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}<br><br>**NOTE:**<br>For invalid catalog ID, you will receive HTTP 404 error. |
| Based on the provided field values, retrieve and display details of a particular catalog ID.                              | [GET by ID and Fields](#get-by-id-and-fields)                         | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}?fields=name,id<br>                                                           |
| List all the catalogs present in the system.                                                                              | [GET List](#get-list)                                                 | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog                                                                                   |
| List all the catalogs present in the system based on the provided field values.                                           | [GET List with Fields](#get-list-with-fields)                         | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?name=Cloud Services T                                                             |
| List all the catalogs present in the inventory based on the provided field values and filter applied.                     | [GET List by Fields and Filtering](#get-list-by-fields-and-filtering) | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?fields=isRoot,name,id&name=Catalog+Wholesale+Business                             |
| Limit the number of catalogs to a maximum of specified limit and<br>display results from the page specified by an offset. | [GET List by limit and offset](#get-list-by-limit-and-offset)         | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?lisRoot=true&fields=lifecycleStatus,name&limit=3&offset=2<br>                     |
| Create a catalog                                                                                                          | [POST](#post)                                                         | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog<br>                                                                               |
| Update a catalog                                                                                                          | [PATCH](#patch)                                                       | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}                                                                              |
| Delete a catalog                                                                                                          | [DELETE](#delete)                                                     | _{https<nolink>://MyDomainLoginUrl}_/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}<br>                                                                          |

### GET by ID

Consider you want to retrieve details of a catalog from the inventory. For example, catalog ID = 7cc8a363-51ab-2413-7214-6bf24f90e856.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/7cc8a363-51ab-2413-7214-6bf24f90e856`

#### Sample Response

```
200 OK
{
  "PageInfo": "Page 1 of 1",
  "PageSize": 50,
  "Result": {
    "@referredType": "vlocity_cmt__Catalog__c",
    "description": "A category to hold all available cloud service offers",
    "id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
    "isRoot": false,
    "name": "Cloud Services T",
    "lifecycleStatus": true,
    "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
    "relatedParty": [
      {
        "href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
        "@referredType": "RecordType",
        "role": "Consumer",
        "name": "demo user15",
        "id": "123",
        "@type": "RelatedParty"
      }
    ],
    "category": [
      {
        "href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxXqEAK",
        "@referredType": "vlocity_cmt__Catalog__c",
        "id": "03ed94db-2d33-af8e-f785-deddd0d6657d",
        "name": "Cloud Storage",
        "@type": "CategoryRef"
      }
    ],
    "validFor": {
      "startDateTime": "2020-08-24T00:00:00.000+0000",
      "endDateTime": "2024-03-25T00:00:00.000+0000"
    },
    "@type": "Catalog"
  }
}


```

### GET by ID and Fields

Consider you want to retrieve details of the catalog ID = 7cc8a363-51ab-2413-7214-6bf24f90e856 and get the `name` and `id` details in the output.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/7cc8a363-51ab-2413-7214-6bf24f90e856?fields=name,id`

#### Sample Response

```
200 OK
{
  "PageInfo": "Page 1 of 1",
  "PageSize": 50,
  "Result": {
    "@referredType": "vlocity_cmt__Catalog__c",
    "id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
    "name": "Cloud Services T",
    "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
    "@type": "Catalog"
  }
}
```

### GET List

Consider you want to retrieve details of all the catalogs in the inventory.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog`

#### Sample Response

```
200 OK
{
  "PageInfo": "Page 1 of 5",
  "PageSize": 50,
  "Result": [
    {
      "@referredType": "vlocity_cmt__Catalog__c",
      "description": "A category to hold all available cloud service offers",
      "id": "35b35cc6-0ac4-5d8d-1b53-c2cee91a8a52",
      "isRoot": true,
      "name": "aaaaaa",
      "lifecycleStatus": true,
      "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003bsNxAAI",
      "validFor": {
        "startDateTime": "2020-08-24T00:00:00.000+0000",
        "endDateTime": "2024-03-25T00:00:00.000+0000"
      },
      "@type": "Catalog"
    },
    {
      "@referredType": "vlocity_cmt__Catalog__c",
      "description": "ADDON Root catalog",
      "id": "be03bc15-8f67-c5a4-379e-32f4acf3cb96",
      "isRoot": true,
      "name": "Add On",
      "lifecycleStatus": true,
      "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003bKGIAA2",
      "category": [
        {
          "href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxGiEAK",
          "@referredType": "vlocity_cmt__Catalog__c",
          "id": "15847f92-c3df-162a-50a1-3917a1dcf333",
          "name": "Prepaid Add On",
          "@type": "CategoryRef"
        }
      ],
      "@type": "Catalog"
    },
    {
      "@referredType": "vlocity_cmt__Catalog__c",
      "description": "A category to hold all available cloud service offers",
      "id": "28a85d60-4e2d-9e27-80e3-73a3b04f6422",
      "isRoot": false,
      "name": "B12345",
      "lifecycleStatus": true,
      "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003boN8AAI",
      "relatedParty": [
        {
          "href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
          "@referredType": "RecordType",
          "role": "Consumer",
          "name": "demo user15",
          "id": "123",
          "@type": "RelatedParty"
        }
      ],
      "validFor": {
        "startDateTime": "2020-08-24T00:00:00.000+0000",
        "endDateTime": "2024-03-25T00:00:00.000+0000"
      },
      "@type": "Catalog"
    }
  ]
}
```

### GET List with Fields

Consider you want to retrieve all the catalogs by applying the requested fields.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog?name=Cloud Services T`

#### Sample Response

```
200 OK
  {
  "PageInfo": "Page 1 of 1",
  "PageSize": 50,
  "Result": {
    "@referredType": "vlocity_cmt__Catalog__c",
    "description": "A category to hold all available cloud service offers",
    "id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
    "isRoot": false,
    "name": "Cloud Services T",
    "lifecycleStatus": true,
    "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
    "relatedParty": [
      {
        "href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
        "@referredType": "RecordType",
        "role": "Consumer",
        "name": "demo user15",
        "id": "123",
        "@type": "RelatedParty"
      }
    ],
    "category": [
      {
        "href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxXqEAK",
        "@referredType": "vlocity_cmt__Catalog__c",
        "id": "03ed94db-2d33-af8e-f785-deddd0d6657d",
        "name": "Cloud Storage",
        "@type": "CategoryRef"
      }
    ],
    "validFor": {
      "startDateTime": "2020-08-24T00:00:00.000+0000",
      "endDateTime": "2024-03-25T00:00:00.000+0000"
    },
    "@type": "Catalog"
  }
}

```

### GET List by Fields and Filtering

Consider you want to retrieve all the catalogs by specified filter.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog?fields=isRoot,name,id&name=Catalog+Wholesale+Business`

#### Sample Response

```
200 OK

{
    "PageInfo": "Page 1",
    "PageSize": 50,
    "result": {
        "isBundle": "Simple",
        "isCustomerVisible": true,
        "productOffering": {
            "id": "01tDp000000Ogk0IAC"
        },
        "description": "New DESC",
        "id": "99394f76-7187-c384-b50a-de213527ecd9",
        "name": "Testing Asset",
        "productSerialNumber": "123",
        "status": "Ready for review",
        "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/product/99394f76-7187-c384-b50a-de213527ecd9"
    }
}
```

### GET List by limit and offset

Consider you want to retrieve perform the following.

- Limit the number of catalogs to a maximum of specified limit
- Display results from the page specified by an offset

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog?isRoot=true&fields=lifecycleStatus,name&limit=3&offset=2`

#### Sample Response

```
200 OK

{
"PageInfo": "Page 3 of 39",
"PageSize": 2,
"Result": [
{
"@referredType": "vlocity_cmt__Catalog__c",
"name": "category demo",
"lifecycleStatus": true,
"@type": "Catalog"
},
{
"@referredType": "vlocity_cmt__Catalog__c",
"name": "category name",
"lifecycleStatus": true,
"@type": "Catalog"
}
]
}
```

### POST

Consider you want to create a new catalog.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog`

#### Sample Request

```
{
    "name": "Cloud Services retest",
    "description": "A category to hold all available cloud service offers",
    "validFor": {
        "startDateTime": "2020-08-24T00:00:00Z",
        "endDateTime": "2024-03-25T00:00:00Z"
    },
    "lifecycleStatus": "Active",
    "@type": "Catalog",
    "relatedParty": [
           {
            "id": "123",
            "name": "demo user15",
            "role": "Consumer",
            "@referredType": "Account",
            "@type": "RelatedParty"
            }
          ]
}
```

#### Sample Response

```
{
  "validFor": {
    "endDateTime": "2024-03-25T00:00:00.000+0000",
    "startDateTime": "2020-08-24T00:00:00.000+0000"
  },
  "relatedParty": [
    {
      "id": "123",
      "name": "demo user15",
      "role": "Consumer",
      "@referredType": "RecordType"
    }
  ],
  "lifecycleStatus": true,
  "isRoot": false,
  "description": "A category to hold all available cloud service offers",
  "name": "Cloud Services retest",
  "id": "d5dd5c73-588e-857d-732b-d01e3090577a",
  "@referredType": "vlocity_cmt__Catalog__c",
  "statusCode": "201"
}

```

### PATCH

Consider for the catalog ID: f24eb59b-a466-af2a-4db3-67c87430e8a6, you want to update sub-resource: `relatedParty`.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/f24eb59b-a466-af2a-4db3-67c87430e8a6`

#### Sample Request

```
{
    "relatedParty": [
        {
            "href": "/services/data/v48.0/sobjects/Account/0015e00000uMie0AAC",
            "@referredType": "RecordType",
            "role": "MobilePhoneAccount",
            "name": "AccTest1",
            "id": "3424",
            "@type": "RelatedParty"
        }
    ]
}
```

#### Sample Response

```
{
    "@type":"Catalog",
    "validFor":{
        "endDateTime":"2024-04-25T00:00:00.000+0000",
        "startDateTime":"2021-08-24T00:00:00.000+0000"
    },
    "category":[
        {
            "@type":"CategoryRef",
            "name":"CloudStorage updated 1",
            "id":"03ed94db-2d33-af8e-f785-deddd0d6657d",
            "@referredType":"vlocity_cmt__Catalog__c",
            "href":"/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000001M2WbEAK"
        }
     ],
    "relatedParty":[
        {
        "@type":"RelatedParty",
        "id":"3424",
        "name":"AccTest1",
        "role":"MobilePhoneAccount",
        "@referredType":"RecordType",
        "href":"/services/data/v48.0/sobjects/Account/0015e00000uMie0AAC"
        }
    ],
    "href":"/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003boMAAAY",
    "lifecycleStatus":false,
    "name":"Update from workbeanch 1",
    "isRoot":false,
    "id":"f24eb59b-a466-af2a-4db3-67c87430e8a6",
    "description":"Update On from workbeanch 1",
    "@referredType":"vlocity_cmt__Catalog__c"
}
```

### DELETE

Consider you want to delete a catalog ID: 3830.

#### Sample URL

`https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/3830`

#### Sample Response

```
204 No content
```
