Recipes

Add a recipe to a person

Adds a recipe to the person. It also shows in the person's log in Cliento, where staff read it. A recipe is not changed afterwards through the API: when the mix is adjusted, add a new recipe. Send an Idempotency-Key so that a repeat of the call does not add the recipe twice. Not available at a location that keeps medical records.

post/v1/locations/{locationId}/persons/{personId}/recipes

Request

  • Base URL: https://api.cliento.com
  • URL: https://api.cliento.com/v1/locations/{locationId}/persons/{personId}/recipes
  • Auth: HTTP bearer

Path parameters

locationIdstring required
personIdstring required

Headers

Idempotency-Keystring

A value you make up for this one request, such as a UUID. Send the same value when you retry and the first answer is returned; see Retrying safely.

Request body

appDataobject

A JSON object of your own, for what the recipe has no field for. It is stored and returned as it is, and never shown in Cliento. At most 16 kB. A number keeps the precision of a double; send a longer one as a string.

notestring

Free text. At most 4000 characters.

propertiesobject

Your own names and values for the whole recipe, with the same limits as a component's properties.

staffIdstring

The staff member who made the recipe, shown as its author in the person's log. Without it the author is the API key.

stockReferencestring

The externalReference of the stock document that took the recipe's products out of stock, when you recorded one. At most 100 characters.

titlestring

What the recipe is for. At most 200 characters.

Example request

{
  "appData": {
    "formulaId": "F-2291"
  },
  "bowls": [
    {
      "components": [
        {
          "amount": "30",
          "name": "Koleston Perfect 7/0",
          "productId": "prd_5Tg8mPq1Xc7Jd2Ls9WbNrK",
          "properties": {
            "brand": "Wella"
          },
          "role": "colour",
          "shade": "7/0",
          "strengthPercent": "6",
          "unit": "g"
        }
      ],
      "properties": {
        "processingTime": "35 min"
      },
      "ratio": "1:2",
      "title": "Roots"
    }
  ],
  "note": "Slightly warmer than last time.",
  "properties": {
    "processingTime": "35 min"
  },
  "staffId": "stf_7Hn3kQw9Zr4Tb6Vy1MxPdE",
  "stockReference": "treatment-2026-10-11-0042",
  "title": "Colour, roots and lengths"
}

Response

Created

appDataobject

The JSON object of your own that is stored with the recipe, returned as it is.

createdAtstring date-time required
idstring required
notestring
personIdstring required
propertiesobject
stockReferencestring
titlestring
updatedAtstring date-time

When staff last changed the recipe in Cliento. Left out when they never have.

Example response

{
  "appData": {
    "formulaId": "F-2291"
  },
  "bowls": [
    {
      "components": [
        {
          "amount": "30",
          "name": "Koleston Perfect 7/0",
          "productId": "prd_5Tg8mPq1Xc7Jd2Ls9WbNrK",
          "properties": {
            "brand": "Wella"
          },
          "role": "colour",
          "shade": "7/0",
          "strengthPercent": "6",
          "unit": "g"
        }
      ],
      "properties": {
        "processingTime": "35 min"
      },
      "ratio": "1:2",
      "title": "Roots"
    }
  ],
  "createdAt": "2026-10-11T09:24:31Z",
  "id": "rcp_4Kd8sWn2Qy6Hb9Tf3LmVxA",
  "note": "Slightly warmer than last time.",
  "personId": "per_6Jm2tRx8Lc4Nq7Bv5ZgWkD",
  "properties": {
    "processingTime": "35 min"
  },
  "stockReference": "treatment-2026-10-11-0042",
  "title": "Colour, roots and lengths",
  "updatedAt": "2026-10-12T14:02:10Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.