Skip to main content

Job Schemas

A JobSchema is a JSON Schema (Draft 07) that defines the shape of orderData for a given vertical (restaurants, florists, Shopify, etc.). When you POST /v20/jobs, your request body is validated against the schema assigned to the target printer.

If validation fails, the endpoint returns 400 with per-field errors and schema identity. If your printer isn't pointing at a JobSchema, the endpoint returns 422 "Printer is not configured for v20 API (missing jobSchemaV20Id)".

How schemas are assigned​

  • Each printer is assigned a JobSchema — the schema its orderData is validated against.
  • Each account has a default schema, applied to new printers created on that account.
  • Customers don't create or manage schemas directly.

If you need a different schema than the one currently assigned, contact support.

Schemas and templates​

Each JobSchema has an associated JobTemplate — the layout that determines what a validated orderData will look like when printed. One default template ships with each schema. A printer using a given schema prints with that schema's default template unless a custom template has been assigned to it.

See each schema's detail page for a preview of the default template's printed output.

Custom templates​

Eatabit AI can create a custom JobTemplate for clients who need branded layouts, different information density, different languages, or other variations on the default. Contact support to request a custom template.

Language support​

Tickets render correctly in many scripts (Latin, Cyrillic, Greek, CJK, …). See Language support for the full list of supported languages and tips on sending non-Latin content in orderData.

Available schemas​

NameVerticalVersionSourceTemplate
restaurant-default (v1)restaurant1apiV20preview
cannabis-label-maryland (v1)cannabis1apiV20preview
cannabis-label-florida (v1)cannabis1apiV20preview
cannabis-label-new-york (v1)cannabis1apiV20preview

More schemas will be listed here as they are added.