---
editLink: false
lastUpdated: false
outline: [2, 3]
---

<!-- Generated by python/b2c-tooling-sdk/scripts/generate_api_docs.py. Do not edit. -->

# b2c_tooling_sdk.operations.catalogs

SCAPI-first catalog operations with transitional OCAPI fallback.

Mirrors `src/operations/catalogs/index.ts`.

## Classes

### CatalogInfo {#cataloginfo}

```python
class CatalogInfo
```

Normalized catalog summary, shared by both backends.

**Fields**

| Name | Type | Default |
| --- | --- | --- |
| `id` | `str` |  |
| `name` | `str \| None` | `None` |
| `online` | `bool \| None` | `None` |
| `raw` | `Any` | `None` |

### CatalogsBackend {#catalogsbackend}

```python
class CatalogsBackend(BackendBase, Protocol)
```

Common interface implemented by both catalogs backends.

#### list_catalogs <Badge type="info" text="method" /> {#catalogsbackend-list-catalogs}

```python
async def list_catalogs(options: ListCatalogsOptions | None = None) -> list[CatalogInfo]
```

List catalogs, paginating internally up to `options.count` (or all).

### ListCatalogsOptions {#listcatalogsoptions}

```python
class ListCatalogsOptions
```

Options for [`CatalogsBackend.list_catalogs`](/python/api/operations/catalogs#catalogsbackend-list-catalogs).

**Fields**

| Name | Type | Default |
| --- | --- | --- |
| `start` | `int \| None` | `None` |
| `count` | `int \| None` | `None` |

### OcapiCatalogsBackend {#ocapicatalogsbackend}

```python
class OcapiCatalogsBackend
```

Lists catalogs against the legacy OCAPI Data API `/catalogs` resource.

**Fields**

| Name | Type |
| --- | --- |
| `name` | `Literal['ocapi']` |

### ScapiCatalogsBackend {#scapicatalogsbackend}

```python
class ScapiCatalogsBackend
```

Lists catalogs against the SCAPI Catalogs Admin API.

**Fields**

| Name | Type |
| --- | --- |
| `name` | `Literal['scapi']` |

## Functions

### create_catalogs_backend {#create-catalogs-backend}

```python
def create_catalogs_backend(config: CatalogsBackendConfig) -> CatalogsBackend
```

Create a [`CatalogsBackend`](/python/api/operations/catalogs#catalogsbackend), resolving SCAPI/OCAPI per `config`.

## Attributes

### CatalogsBackendConfig {#catalogsbackendconfig}

```python
CatalogsBackendConfig = DualBackendConfig
```

### ScapiCatalogsBackendConfig {#scapicatalogsbackendconfig}

```python
ScapiCatalogsBackendConfig = ScapiBackendCtorConfig
```
