BETTERMENU
Studio

Export Label Artifact

Generate (or return cached) label artifact(s) for one serving.

On the first request for a given (recipe version, serving, format, resolution) combination the label HTML is assembled, rendered by the label-renderer Lambda, and the result is permanently cached in S3. Subsequent requests return the cached artifact without re-rendering.

Concurrent first-download requests are safe — only one PUT lands; all others receive a pre-signed URL for the same artifact.

All artifacts carry a DRAFT watermark until a finalize workflow is available.

Available only on API versions declaring the recipe_versioning capability.

GET
/studio/recipes/{recipe_id}/servings/{serving_id}/label-export

Path Parameters

serving_id*Serving Id

Serving identifier

recipe_id*Recipe Id

Query Parameters

formats?array<string>|

Output file formats. Valid values: pdf, png, jpeg. Specify once per format, e.g. ?formats=pdf&formats=png.

resolution?LabelResolution

Output resolution tier.

Default"print"
Value in"print" | "digital"
label_format?LabelFormat

Panel layout.

Default"standard_vertical"
Value in"standard_vertical"
version_id?|

Optional version ULID to pin the response to a historical snapshot. Omit to read the live HEAD on the main branch. 26-character Crockford Base32 (no I, L, O, U).

draft_watermark?Draft Watermark

When true (default), overlay a DRAFT watermark on all output formats. Set to false to export the final, watermark-free artifact.

Defaulttrue

Response Body

application/json

application/json

curl -X GET "https://api.bettermenu.live/studio/recipes/string/servings/string/label-export"
{
  "label_format": "standard_vertical",
  "resolution": "print",
  "version_id": "string",
  "artifacts": [
    {
      "format": "string",
      "artifact_url": "string",
      "expires_at": "2019-08-24T14:15:22Z"
    }
  ],
  "meta": {
    "version": "string",
    "request_id": "string",
    "timestamp": "string"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}