Catalog
- class ab.api.endpoints.catalog.CatalogEndpoint(client)[source]
Operations on catalogs (Catalog API).
- Parameters:
client (HttpClient)
- create(*, data)[source]
POST /Catalog.
- Parameters:
data (AddCatalogRequest | dict) – Catalog creation payload with
customer_catalog_id,agent,title,start_date(required datetime),end_date(required datetime), andseller_ids. Accepts anAddCatalogRequestinstance or a dict.- Return type:
Request model:
AddCatalogRequestDocs: https://ab-sdk.readthedocs.io/en/latest/api/catalog/create.html Request model: AddCatalogRequest Response model: CatalogWithSellersDto
- list(*, id=None, customer_catalog_id=None, agent=None, title=None, start_date=None, end_date=None, is_completed=None, seller_ids=None, page_size=25, page_number=1)[source]
List catalogs with optional filters.
- Parameters:
id (int | None) – Filter by catalog ID.
customer_catalog_id (str | None) – Filter by customer-facing catalog ID.
agent (str | None) – Filter by assigned agent name.
title (str | None) – Filter by catalog title.
start_date (str | None) – Filter by start date (ISO 8601 date-time string).
end_date (str | None) – Filter by end date (ISO 8601 date-time string).
is_completed (bool | None) – Filter by completion status.
page_size (int) – Number of items per page.
page_number (int) – Page number (1-based).
- Returns:
Paginated catalog results.
- Return type:
- get(catalog_id)[source]
Retrieve a single catalog by ID.
- Parameters:
catalog_id (int) – Catalog identifier.
- Returns:
Catalog details with seller/lot counts.
- Return type:
Docs: https://ab-sdk.readthedocs.io/en/latest/api/catalog/get.html Response model: CatalogExpandedDto
- update(catalog_id, *, data)[source]
PUT /Catalog/{id}.
- Parameters:
catalog_id (int) – Catalog identifier.
data (UpdateCatalogRequest | dict) – Catalog update payload — same shape as
AddCatalogRequest, including requiredstart_dateandend_date. Accepts anUpdateCatalogRequestinstance or a dict.
- Return type:
Request model:
UpdateCatalogRequestDocs: https://ab-sdk.readthedocs.io/en/latest/api/catalog/update.html Request model: UpdateCatalogRequest Response model: CatalogWithSellersDto
- delete(catalog_id)[source]
Delete a catalog.
- Parameters:
catalog_id (int) – Catalog identifier.
- Return type:
None
Docs: https://ab-sdk.readthedocs.io/en/latest/api/catalog/delete.html
- bulk_insert(*, data)[source]
POST /Bulk/insert.
- Parameters:
data (BulkInsertRequest | dict) – Bulk insert payload — a
BulkInsertRequestwith a singlecatalogslist. Each entry is aBulkInsertCatalogRequestcontaining nestedlots(BulkInsertLotRequest) andsellers(BulkInsertSellerRequest). The top-level shape is a nested tree, not a flat list. Accepts aBulkInsertRequestinstance or a dict.- Return type:
None
Request model:
BulkInsertRequestDocs: https://ab-sdk.readthedocs.io/en/latest/api/catalog/bulk_insert.html Request model: BulkInsertRequest
Per-endpoint reference
Each route-backed method has its own page rendering the HTTP route, the
Python and CLI call signatures, and the request/response model field tables.
This is the page help(api.catalog.<method>) links to via its Docs: footer.
These pages are generated by scripts/generate_endpoint_docs.py and kept
current by a CI freshness gate.
Methods
create
POST /Catalog — Create a new catalog.
from ab import ABConnectAPI
api = ABConnectAPI(env="staging")
result = api.catalog.create({"name": "New Catalog"})
list
GET /Catalog — List catalogs with optional filters (paginated).
Returns: PaginatedList[CatalogExpandedDto]
# List all catalogs
catalogs = api.catalog.list(page_number=1, page_size=25)
# Filter by agent and completion status
catalogs = api.catalog.list(agent="Smith", is_completed=False)
# Filter by seller IDs
catalogs = api.catalog.list(seller_ids=[1103])
get
GET /Catalog/{id} — Get a catalog by ID.
Returns: CatalogExpandedDto
catalog = api.catalog.get(1)
print(catalog.name)
update
PUT /Catalog/{id} — Update a catalog.
api.catalog.update(1, {"name": "Updated Catalog"})
delete
DELETE /Catalog/{id} — Delete a catalog.
api.catalog.delete(1)
bulk_insert
POST /Catalog/bulkInsert — Bulk insert catalog items.
api.catalog.bulk_insert({"items": [...]})