Skip to content

List Products ​

Returns the active products of the organization with their category, menu options, class prices and class restrictions. Draft and archived products are not included.

GET https://api.canteenweb.com/api/v1/admin/products

Query parameters ​

ParameterTypeDescription
categoryUUIDOnly products in this category. Must be a category of the organization, otherwise the request fails with 422.
pageintegerSee Pagination.

Examples ​

All active products:

bash
curl "https://api.canteenweb.com/api/v1/admin/products" \
  -H "Authorization: Bearer your-access-token" \
  -H "X-CANTEEN-ORGANIZATION: your-org-uuid"

Products of one category:

bash
curl "https://api.canteenweb.com/api/v1/admin/products?category=9e43cdc9-58e5-4374-bf48-2109927d38e0" \
  -H "Authorization: Bearer your-access-token" \
  -H "X-CANTEEN-ORGANIZATION: your-org-uuid"

Response ​

json
{
  "data": [
    {
      "uuid": "9e48ae62-4428-4126-96ff-4417fc40e651",
      "title": "Menú del día",
      "description": "Plato principal a elección con guarnición.",
      "image": "https://cdn.canteenweb.com/products/menu-del-dia.jpg",
      "sku": "MENU-DIA",
      "compare_at_price": { "amount": "20000", "currency": "ARS", "formatted": "$ 200,00" },
      "price": { "amount": "10000", "currency": "ARS", "formatted": "$ 100,00" },
      "cost": { "amount": "4000", "currency": "ARS", "formatted": "$ 40,00" },
      "is_menu": true,
      "require_menu_dates": true,
      "status": { "label": "Activo", "value": "active" },
      "category": {
        "uuid": "9e43cdc9-58e5-4374-bf48-2109927d38e0",
        "title": "Almuerzos"
      },
      "options": [
        {
          "uuid": "9e4e14c3-274a-45ff-8f82-9e3377aa1cca",
          "name": "Milanesa con puré",
          "image": "",
          "dates": ["2025-02-26", "2025-02-27"]
        },
        {
          "uuid": "9e4e14c3-2a72-4693-8a41-8a25bc4eb3d8",
          "name": "Tarta de verduras",
          "image": "",
          "dates": ["2025-02-28"]
        }
      ],
      "prices": [
        {
          "amount": "90.00",
          "customer_classes": [
            { "value": "9e4e1a11-1111-4111-8111-111111111111", "label": "Docentes" }
          ]
        }
      ],
      "class_restrictions": [
        { "value": "9e4e1a11-2222-4222-8222-222222222222", "label": "Jardín" }
      ],
      "created_at": "2025-02-20T12:00:00.000000Z",
      "updated_at": "2025-02-25T09:30:00.000000Z"
    }
  ],
  "links": {
    "first": "https://api.canteenweb.com/api/v1/admin/products?page=1",
    "last": "https://api.canteenweb.com/api/v1/admin/products?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "https://api.canteenweb.com/api/v1/admin/products",
    "per_page": 25,
    "to": 1,
    "total": 1
  },
  "success": true,
  "message": "Request was successful."
}

Fields ​

Product ​

FieldTypeDescription
uuidstringIdentifier of the product.
title, descriptionstringAs shown in the app. description can be null.
imagestring or nullURL of the product image.
skustring or nullStock keeping unit, when the organization uses one.
pricemoneyBase price.
compare_at_pricemoney or nullPrevious price, shown struck through in the app when present.
costmoney or nullCost price, for margin reports.
is_menubooleanA menu is a product where the diner picks one option per day.
require_menu_datesbooleanFor menus: whether each option must be assigned to specific dates.
statusenumAlways active on this endpoint.
categoryobjectuuid and title of the category.
created_at, updated_attimestampISO 8601.

Options ​

Only present with content for menus. Each option has a uuid, a name, an image and the list of dates (YYYY-MM-DD) it is served on.

Prices ​

Class specific prices, grouped by amount. Each entry has the amount as a decimal string and the customer_classes that pay it. Classes not listed pay the base price.

Class restrictions ​

Classes that are allowed to order the product. An empty array means every class can.

Private API. Access is granted per organization.