API reference
Seal batches
A seal batch mints one serial per unit (VS-XXXX-XXXX, an alphabet with no ambiguous glyphs) against a logged lot, and hands back the printable labels in three formats.
Mint a batch#
POST
/v1/seal-batchesAPI keyIdentify the lot by id, or by identity.
| Field | Type | Notes |
|---|---|---|
lot_id | string | The Veritura lot id (LOT-…). Preferred when known. |
supplier, product, lot_number | strings | Alternative: match a logged lot by identity. If more than one lot matches, the request is refused (409 ambiguous_lot) and lists the candidate ids. |
count | integer, required | Number of serials to mint. |
order_refs | string[] | Optional; binds serial n to reference n, which prints on that label. Opaque order/PO numbers only: entries that look like patient information are refused (400 phi_in_order_refs). |
label | string | Optional batch label for your own records. |
Response#
{
"ok": true,
"batch_id": "sb_…",
"lot_id": "LOT-…",
"count": 30,
"serials": ["VS-PJME-9CWM", …],
"assignments": { "VS-PJME-9CWM": "RX-10001", … },
"labels": {
"zpl": "/v1/seal-batches/sb_…/labels?format=zpl",
"pdf_thermal": "/v1/seal-batches/sb_…/labels?format=thermal",
"pdf_avery": "/v1/seal-batches/sb_…/labels?format=avery"
}
}
Download the labels#
GET
/v1/seal-batches/<batch_id>/labels?format=zpl|thermal|averyAPI keyzpl returns text/plain raw printer language, one ^XA…^XZ block per serial; the other two return a PDF. Default is avery. The label's exact geometry, the reference ZPL, and the printer requirements are in the label specification.
Notes#
- Minting is not idempotent: every successful request mints new serials. Retry only requests that failed.
- Each serial's QR payload is
https://verify.veritura.co/u/<serial>: the permanent public host. See Mode B for embedding serials in your own label template.