Skip to content
Developers
Pilot. The API is open to a small number of organisations and may change — every change is in the changelog.

Reference · Products

Update a product

PATCH/v1/sites/{siteId}/products/{code}

Changes a product, modifier group or modifier: its names, price, category, taxes, or whether it is retired. Only the fields sent change. A product is never deleted: retire it with active false.

Needs Catalogue: writeChanges live data

Path

  • siteIdrequired

    The site, from GET /v1/sites.

    string

  • coderequired

    The record's code.

    string

Headers

  • Authorizationrequired

    An API key from Automation > Access in the Dnero portal, sent as Authorization: Bearer <key>.

    string

Body

  • active

    False to retire it, true to bring it back. A retired product is kept, so past orders and reports that name it are unaffected.

    boolean

  • categoryCode

    Move it to this category, by code.

    string

  • costPrice

    A new cost price, in minor units.

    integer · ≥ 0

  • description

    A new description. An empty string clears it.

    string · at most 2000 characters

  • displayName

    A new customer-facing name.

    string · 1–200 characters

  • name

    A new name. A print name that only repeated the old name follows it.

    string · 1–200 characters

  • price

    A new price, in minor units.

    integer · ≥ 0

  • printName

    A new name for dockets and receipts.

    string · 1–200 characters

  • reportGroupCode

    Count it in this reporting group, by code.

    string

  • sku

    A new SKU. An empty string clears it.

    string · at most 100 characters

  • soldIndividually

    Whether it can be ordered on its own.

    boolean

  • taxCodes

    Replaces its taxes, by code. Send an empty array to clear them; leave it out to keep them.

    array of string

Responses

200 OK

  • activerequired

    False for a retired product, which is listed only with includeInactive.

    boolean

  • availablerequired

    False while it is sold out.

    boolean

  • barcodesrequired

    Its barcodes.

    array of string

  • childrenrequired

    For a product, its modifier groups. For a modifier group, its options. Empty otherwise.

    array of objects

    4 fields in each
    • coderequired

      The child product's code.

      string

    • defaultQty

      How many of this child come by default.

      integer

    • maxQty

      The most of this child that may be chosen.

      integer

    • minQty

      The fewest of this child that may be chosen.

      integer

  • coderequired

    The product's code, the same at every site that has it.

    string

  • namerequired

    The product's name in the portal and reports.

    string

  • pricerequired

    The price, in the site's currency's minor units: 450 is $4.50.

    integer

  • soldIndividuallyrequired

    Whether it can be ordered on its own. False for a modifier or an ingredient.

    boolean

  • taxCodesrequired

    The taxes it is charged with, by code.

    array of string

  • typerequired

    What it is. product is sold on its own. A modifierGroup is a choice on a product, such as Milk; its children are the options. A modifier is one option, such as Oat milk.

    string · one of "product", "modifierGroup", "modifier", "inventory", "combo"

  • categoryCode

    The category it is in, by code.

    string

  • costPrice

    What it costs to buy or make, in minor units. For reporting; never what a customer pays.

    integer

  • courseCode

    The course it goes to the kitchen with, by code.

    string

  • description

    The product's description.

    string

  • displayName

    The name customers see, when it differs from name.

    string

  • imageUrl

    Its picture.

    string · uri

  • maxChoices

    For a modifier group: the most options a customer may choose.

    integer

  • minChoices

    For a modifier group: the fewest options a customer must choose.

    integer

  • printName

    The name printed on kitchen dockets and receipts.

    string

  • reportGroupCode

    The reporting group it is counted in, by code.

    string

  • sku

    Your stock-keeping unit for it.

    string

  • soldOutUntil

    When a sold-out product comes back on its own. Absent when it is not sold out, or is sold out until someone says otherwise.

    string · date-time

  • updatedAt

    When the product last changed.

    string · date-time