API Documentation

Everything you need to generate ZPL labels with a single API call.

Quick Start

Generate your first label in seconds. Replace YOUR_CLIENT_ID and YOUR_SECRET with your credentials.

curl -X POST https://api.zeepler.com/zeeplify/YOUR_CLIENT_ID \
  -H "secret: YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "config": { "size": "4x2" },
    "data": { "product": "Widget Pro", "sku": "WDG-001" },
    "templates": [
      { "type": "Text", "dataPath": "product", "coords": [50, 30] },
      { "type": "BarCode", "dataPath": "sku", "coords": [50, 80] }
    ]
  }'

Authentication

All requests to /zeeplify require your client ID in the URL path and your secret key in the secret header.

http
POST /zeeplify/:clientId
Host: api.zeepler.com
secret: sk_live_your_secret_key
Content-Type: application/json

Request Body

The request body contains your label data and templates.

emailstringrequired

Email address for tracking and notifications

configobjectrequired

Label configuration

json
{
  "size": "4x2"  // Label size: "3x1" or "4x2"
}
dataobjectrequired

Your label data (any key-value pairs)

json
{
  "product": "Widget Pro",
  "sku": "WDG-001",
  "price": "$29.99"
}
templatesarrayrequired

Array of elements to render on the label

Template Types

Each template defines an element on your label. Use dataPath to reference values from your data object.

Text

json
{
  "type": "Text",
  "dataPath": "product",     // Key from your data object
  "coords": [50, 30],        // [x, y] position in dots
  "font": "A"                // Optional: A-Z font selection
}

BarCode

json
{
  "type": "BarCode",
  "dataPath": "sku",
  "coords": [50, 80],
  "style": "code128"         // code128, code93, or ean13
}

QRCode

json
{
  "type": "QRCode",
  "dataPath": "url",
  "coords": [200, 30],
  "magnification": 5         // Size: 1-10
}

Response

On success, the API returns raw ZPL code that you can send directly to any Zebra printer.

zpl
^XA
^FO50,30^A0N,30,30^FDWidget Pro^FS
^BY2^FO50,80^BCN,100,Y,N,N^FDWDG-001^FS
^XZ

Status Codes

200Success - ZPL returned
400Bad request - Invalid template or data
401Unauthorized - Invalid credentials
500Server error

Label Sizes

Coordinate system uses dots (203 DPI). Origin (0,0) is top-left.

3" x 1"

609 x 203 dots

Good for: Product labels, asset tags

4" x 2"

812 x 406 dots

Good for: Shipping labels, detailed info

Complete Example

A shipping label with product name, SKU barcode, and QR code.

json
1{
2 "email": "warehouse@example.com",
3 "config": {
4 "size": "4x2"
5 },
6 "data": {
7 "product": "Widget Pro",
8 "sku": "WDG-001",
9 "url": "https://example.com/track/12345"
10 },
11 "templates": [
12 {
13 "type": "Text",
14 "dataPath": "product",
15 "coords": [50, 30],
16 "font": "B"
17 },
18 {
19 "type": "BarCode",
20 "dataPath": "sku",
21 "coords": [50, 100],
22 "style": "code128"
23 },
24 {
25 "type": "QRCode",
26 "dataPath": "url",
27 "coords": [500, 50],
28 "magnification": 6
29 }
30 ]
31}

Need Help?

Having trouble? We're here to help.