---
title: Product Catalogs
description: The product catalogs that a storefront sells from, for the customer that the user orders for.

---

# Product Catalogs

The product catalogs that a storefront sells from, for the customer that the user orders for.


## [GET /storefront](/end-user-api/product-catalogs#tag/product-catalogs/GET/storefront)

Get storefront

Get the product catalogs that a storefront sells from, and the sections that the storefront shows their product offerings in.

The caller decides the answer:

- A request with `customerType` gets the default catalogs for that customer type. Every visitor who did not choose a customer sees these catalogs.
- A request with `customerId` gets the catalogs of that customer. The request must carry the bearer token of a signed-in user who can order for the customer.

A customer with no catalog of its own gets the default catalogs. A customer whose catalogs are all for the other customer type gets no catalog. A catalog that extends the default catalog comes after the default catalog.

The sections are in display order: by catalog, then in the order that each catalog arranges them. A catalog that extends the default catalog puts its own product offerings into sections of the default catalog. An empty list of sections means that nobody arranged these catalogs.

The sections are only the layout. `initialProductOfferingIds` names the initial product offerings of the catalogs, and a section holds only such product offerings.

`simTypes` names the SIM types that the storefront sells. They are the same for every customer.

Authentication: X-Api-Key + Bearer JWT

### Query parameters

- `customerType` (`enum<string>`, optional, one of CONSUMER, BUSINESS) — The kind of customer to get the catalogs for. It is necessary unless you send `customerId`. You cannot send it together with `customerId`, because the customer has a type of its own. — Whether the customer is a private individual (CONSUMER) or a company (BUSINESS). Determines the expected identity format and which billing rules apply.
- `customerId` (`string`, optional) — The customer to get the catalogs for. The request must carry the bearer token of a signed-in user who can order for this customer. May be the entity's internal UUID or an external reference identifier. Reference identifiers MUST be prefixed with `rid_` (e.g., `rid_crm-customer-12345`) so the API can distinguish them from internal UUIDs. The prefix is stripped before lookup.

### Responses

#### 200

The storefront.

Type: [Storefront](/end-user-api/models.md#models/Storefront)

#### 400

The request was malformed or invalid.

Type: [Error](/end-user-api/models.md#models/Error)

#### 401

Authentication is required to access this resource.

Type: [Error](/end-user-api/models.md#models/Error)

#### 403

Access to this resource is forbidden.

Type: [Error](/end-user-api/models.md#models/Error)

#### 404

The requested resource was not found.

Type: [Error](/end-user-api/models.md#models/Error)

#### 429

Too many requests have been sent in a given amount of time.

Type: [Error](/end-user-api/models.md#models/Error)

#### 500

An unexpected error occurred on the server.

Type: [Error](/end-user-api/models.md#models/Error)

### Example request

```bash
curl https://apiv2.example.com/api/v2/end-user/storefront \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
```
