Catalogs

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

GET/establishments/{establishmentId}/catalogs

Parameters

AttributeDescriptionTypeLocationRequired
establishmentIdstringpathYes

Responses

200

Catalogs fetched successfully.

[
  {
    "establishmentId": "00000000-0000-0000-0000-000000000000",
    "catalogId": "00000000-0000-0000-0000-000000000000",
    "category": "string",
    "name": "string",
    "productCount": 0
  }
]
AttributeTypeRequiredDescription
items[]objectNo
items[].establishmentIdstring(uuid)No
items[].catalogIdstring(uuid)No
items[].categorystringNo
items[].namestringNo
items[].productCountintegerNo

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

POST/establishments/{establishmentId}/catalogs

Request Body

{
  "name": "string",
  "category": "string",
  "productIds": [
    "string"
  ]
}
AttributeTypeRequiredDescription
namestringYes
categorystringYes
productIdsarray<string>No
productIds[]stringNo

Parameters

AttributeDescriptionTypeLocationRequired
establishmentIdstringpathYes

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

GET/establishments/{establishmentId}/catalogs/{catalogId}

Parameters

AttributeDescriptionTypeLocationRequired
establishmentIdstringpathYes
catalogIdstringpathYes

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"
        }
      ]
    }
  ]
}
AttributeTypeRequiredDescription
establishmentIdstring(uuid)No
catalogIdstring(uuid)No
categorystringNo
namestringNo
productsarray<object>No
products[]objectNo
products[].internalPricenumberNo
products[].visiblebooleanNo
products[].extendedDescriptionstringNo
products[].certificatebooleanNo
products[].statusstringNo
products[].reservedintegerNo
products[].stockintegerNo
products[].ordernumberNo
products[].namestringNo
products[].weightintegerNo
products[].establishmentIdstring(uuid)No
products[].probabilitynumberNo
products[].additionalDetailsstringNo
products[].mediasarray<string>No
products[].medias[]stringNo
products[].valueInEurosnumberNo
products[].heightintegerNo
products[].yearintegerNo
products[].verifiedBystringNo
products[].categorystringNo
products[].verificationDatestring(date-time)No
products[].descriptionstringNo
products[].pricenumberNo
products[].productIdstring(uuid)No
products[].typestringNo
products[].catalogsarray<object>No
products[].catalogs[]objectNo
products[].catalogs[].establishmentIdstring(uuid)No
products[].catalogs[].catalogIdstring(uuid)No
products[].catalogs[].categorystringNo
products[].catalogs[].namestringNo

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

PUT/establishments/{establishmentId}/catalogs/{catalogId}

Request Body

{
  "name": "string"
}
AttributeTypeRequiredDescription
namestringYes

Parameters

AttributeDescriptionTypeLocationRequired
establishmentIdstringpathYes
catalogIdstringpathYes

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

DELETE/establishments/{establishmentId}/catalogs/{catalogId}

Parameters

AttributeDescriptionTypeLocationRequired
establishmentIdstringpathYes
catalogIdstringpathYes

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

POST/establishments/{establishmentId}/catalogs/{catalogId}/products

Request Body

{
  "productIds": [
    "string"
  ]
}
AttributeTypeRequiredDescription
productIdsarray<string>Yes
productIds[]stringYes

Parameters

AttributeDescriptionTypeLocationRequired
establishmentIdstringpathYes
catalogIdstringpathYes

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

DELETE/establishments/{establishmentId}/catalogs/{catalogId}/products/{productId}

Parameters

AttributeDescriptionTypeLocationRequired
establishmentIdstringpathYes
catalogIdstringpathYes
productIdstringpathYes

Responses

200

Product removed from catalog.

500

Failed to remove product from catalog.