Create label design
create_label_designSave a new label from positions in millimetres. Call describe_label_design first and use those column names when a field reads a sheet. Pass profile_id to update an existing profile. Bind a field with column. Fixed words such as a caption use content and no column. Optional date_stamp on a text element prints a calculated date instead of content or the column value. The calendar day uses the organization time zone in Settings, User defaults, Regional. Do not send time_zone: that fails with DATE_STAMP_TIME_ZONE. offset_days is an integer from 0 to 3650, offset_months is an integer from 0 to 120, or offset_column is a column name whose cell is a whole number such as 6 or 12. unit is days or months. Omit unit and offset_months means months, otherwise days. format is DD/MM/YY, MM/DD/YY, DD/MM/YYYY, DD.MM.YYYY, YYYY-MM-DD, or D MMM YYYY. prefix is optional text of at most 40 characters with no control characters. An empty cell or text such as "6 months" stops the print with DATE_STAMP_CELL. A missing organization time zone also stops the print. Invalid values fail with DATE_STAMP, DATE_STAMP_OFFSET, DATE_STAMP_FORMAT, DATE_STAMP_TIME_ZONE, DATE_STAMP_PREFIX, or DATE_STAMP_CELL. A date_stamp text element does not need content. A text element on a currency column can set currency_format (plain, symbol, or code), prefix, suffix, and show_currency. show_currency false stores plain. The same fields on any other element are ignored and listed in warnings. font must be a Design Center font from describe_label_design. An unknown font fails with UNKNOWN_FONT and lists the valid names. font_size is 1 to 120 pt. Barcode needs a column whose sample fits the symbology. If it does not fit, the call fails with BARCODE_TYPE_MISMATCH and does not switch the barcode to Code 128. Code 128 and Code 39 use height for the box. The default is 14 mm when height is omitted. EAN and UPC set the box height from the width so the digits stay on the label. Optional bar_height_mm is the rendered 1D bar height in millimetres, from 0.423 to 16.933 mm. PDF, PNG, and ZPL use that same height. For Code 128 and Code 39 the box height becomes the natural content height, and a narrow box widens to the bars, so the bars are not scaled. Omit bar_height_mm and the barcode uses the standard bar height. profile_id rebuilds the whole label, so an omitted bar_height_mm does not keep a height saved earlier. Optional rotation is degrees from -180 to 180. A rotated element that leaves the label is rejected. Omit rotation and the element stays at 0 degrees. font_weight bold is drawn as regular for Bebas Neue, Pacifico, Righteous, Great Vibes, Satisfy, Anton, and Bungee, which only include weight 400. QR can bind to a column, or use content for a fixed payload with no column and no sheet, or wifi {ssid, password, security WPA|WEP|nopass, optional hidden}. static_text without a column is not enough. A Wi-Fi password is stored in plaintext in the label design and is visible in the QR. Do not log the password. Optional QR join_mode is space (default), none (no separator), or gs1_digital_link (static_text + /01/ + GTIN-14). gtin_column names the GTIN column for gs1_digital_link. An empty or invalid GTIN leaves the QR blank. A logo or decorative background uses asset_id from upload_label_asset and sits behind the content. Do not draw the barcode into the image. The server places a white rectangle behind the barcode when the background is not plain white. A divider width is the line length. The stroke stays 0.5mm. A filled stripe is a shape. Pass media (for example continuous:DK-22205) or width_mm and height_mm, from 10 to 500 mm. length_mm is the cut length on continuous tape. Does not accept designState. Optional sheet_template_id from list_sheet_templates saves that A4 or Letter sheet on the profile, in the same place Design Center stores it. A label size that does not match the sheet is kept and named in warnings. Optional idempotency_key. Omit this field when it is not used. Null, an empty string, or only spaces are also treated as omitted. Use a unique value such as a UUID. The same key and the same arguments return the stored result for 24 hours and set idempotent_replay to true. A key still in progress is rejected until the lease expires (15 minutes by default). The same key can also stay reserved until the lease expires (15 minutes by default) after a call failed after writing rows, so check whether those rows were saved before trying again. The same key with different arguments is rejected. A stored result over 200 KB is replaced by a short summary of ids and counts.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"elements": "<elements>"
},
"name": "create_label_design"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| media | No | ||
| shape | No | ||
| elements | Yes | ||
| width_mm | No | ||
| height_mm | No | ||
| length_mm | No | ||
| profile_id | No | ||
| sheet_number | No | ||
| corner_radius | No | ||
| idempotency_key | No | Optional. Omit this field when it is not used. An empty string is also treated as omitted. Use a unique value such as a UUID when you send one. Same key and same arguments return the stored result for 24 hours in this organization, with idempotent_replay true. A different payload is rejected. | |
| background_color | No | ||
| sheet_template_id | No |