Catalogs
GET /establishments/[establishmentId]/catalogs
Retrieves a list of prize catalogs for the specified establishment. Each catalog represents a collection of prizes organized by category.
Endpoint
Parameters
| Attribute | Description | Type | Location | Required |
|---|---|---|---|---|
| establishmentId | string | path | Yes |
Responses
200
Catalogs fetched successfully.
[
{
"establishmentId": "00000000-0000-0000-0000-000000000000",
"catalogId": "00000000-0000-0000-0000-000000000000",
"category": "string",
"name": "string",
"productCount": 0
}
]| Attribute | Type | Required | Description |
|---|---|---|---|
| items[] | object | No | |
| items[].establishmentId | string(uuid) | No | |
| items[].catalogId | string(uuid) | No | |
| items[].category | string | No | |
| items[].name | string | No | |
| items[].productCount | integer | No |
500
Failed to retrieve catalogs due to server error.
POST /establishments/[establishmentId]/catalogs
Creates a new prize catalog for the given establishment. A catalog may optionally include an array of initial product IDs.
Endpoint
Request Body
{
"name": "string",
"category": "string",
"productIds": [
"string"
]
}| Attribute | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | |
| category | string | Yes | |
| productIds | array<string> | No | |
| productIds[] | string | No |
Parameters
| Attribute | Description | Type | Location | Required |
|---|---|---|---|---|
| establishmentId | string | path | Yes |
Responses
200
Catalog created successfully.
500
Server error while creating catalog.
GET /establishments/[establishmentId]/catalogs/[catalogId]
Fetches details for a specific catalog, including associated metadata and prize relationships.
Endpoint
Parameters
| Attribute | Description | Type | Location | Required |
|---|---|---|---|---|
| establishmentId | string | path | Yes | |
| catalogId | string | path | Yes |
Responses
200
Catalog and associated products retrieved successfully.
{
"establishmentId": "00000000-0000-0000-0000-000000000000",
"catalogId": "00000000-0000-0000-0000-000000000000",
"category": "string",
"name": "string",
"products": [
{
"internalPrice": 0,
"visible": false,
"extendedDescription": "string",
"certificate": false,
"status": "string",
"reserved": 0,
"stock": 0,
"order": 0,
"name": "string",
"weight": 0,
"establishmentId": "00000000-0000-0000-0000-000000000000",
"probability": 0,
"additionalDetails": "string",
"medias": [
"string"
],
"valueInEuros": 0,
"height": 0,
"year": 0,
"verifiedBy": "string",
"category": "string",
"verificationDate": "2026-01-01T00:00:00.000Z",
"description": "string",
"price": 0,
"productId": "00000000-0000-0000-0000-000000000000",
"type": "string",
"catalogs": [
{
"establishmentId": "00000000-0000-0000-0000-000000000000",
"catalogId": "00000000-0000-0000-0000-000000000000",
"category": "string",
"name": "string"
}
]
}
]
}| Attribute | Type | Required | Description |
|---|---|---|---|
| establishmentId | string(uuid) | No | |
| catalogId | string(uuid) | No | |
| category | string | No | |
| name | string | No | |
| products | array<object> | No | |
| products[] | object | No | |
| products[].internalPrice | number | No | |
| products[].visible | boolean | No | |
| products[].extendedDescription | string | No | |
| products[].certificate | boolean | No | |
| products[].status | string | No | |
| products[].reserved | integer | No | |
| products[].stock | integer | No | |
| products[].order | number | No | |
| products[].name | string | No | |
| products[].weight | integer | No | |
| products[].establishmentId | string(uuid) | No | |
| products[].probability | number | No | |
| products[].additionalDetails | string | No | |
| products[].medias | array<string> | No | |
| products[].medias[] | string | No | |
| products[].valueInEuros | number | No | |
| products[].height | integer | No | |
| products[].year | integer | No | |
| products[].verifiedBy | string | No | |
| products[].category | string | No | |
| products[].verificationDate | string(date-time) | No | |
| products[].description | string | No | |
| products[].price | number | No | |
| products[].productId | string(uuid) | No | |
| products[].type | string | No | |
| products[].catalogs | array<object> | No | |
| products[].catalogs[] | object | No | |
| products[].catalogs[].establishmentId | string(uuid) | No | |
| products[].catalogs[].catalogId | string(uuid) | No | |
| products[].catalogs[].category | string | No | |
| products[].catalogs[].name | string | No |
400
Invalid catalog or establishment ID.
500
Failed to retrieve catalog or associated products.
PUT /establishments/[establishmentId]/catalogs/[catalogId]
Updates the catalog name or metadata for a given catalog ID. Typically used to rename or re-categorize the catalog.
Endpoint
Request Body
{
"name": "string"
}| Attribute | Type | Required | Description |
|---|---|---|---|
| name | string | Yes |
Parameters
| Attribute | Description | Type | Location | Required |
|---|---|---|---|---|
| establishmentId | string | path | Yes | |
| catalogId | string | path | Yes |
Responses
200
Catalog updated successfully.
500
Server error while updating catalog.
DELETE /establishments/[establishmentId]/catalogs/[catalogId]
Deletes a catalog by its ID. This action will detach all product associations linked to the catalog.
Endpoint
Parameters
| Attribute | Description | Type | Location | Required |
|---|---|---|---|---|
| establishmentId | string | path | Yes | |
| catalogId | string | path | Yes |
Responses
200
Catalog deleted successfully.
500
Server error while deleting catalog.
POST /establishments/[establishmentId]/catalogs/[catalogId]/products
Adds a batch of product IDs to the specified catalog. Useful for dynamically updating prize sets or rotating inventory.
Endpoint
Request Body
{
"productIds": [
"string"
]
}| Attribute | Type | Required | Description |
|---|---|---|---|
| productIds | array<string> | Yes | |
| productIds[] | string | Yes |
Parameters
| Attribute | Description | Type | Location | Required |
|---|---|---|---|---|
| establishmentId | string | path | Yes | |
| catalogId | string | path | Yes |
Responses
200
Products added to catalog successfully.
500
Server error while adding products to catalog.
DELETE /establishments/[establishmentId]/catalogs/[catalogId]/products/[productId]
Removes a specific product from the given catalog. Does not delete the product itself—only the catalog linkage.
Endpoint
Parameters
| Attribute | Description | Type | Location | Required |
|---|---|---|---|---|
| establishmentId | string | path | Yes | |
| catalogId | string | path | Yes | |
| productId | string | path | Yes |
Responses
200
Product removed from catalog.
500
Failed to remove product from catalog.