Compatibility LayersLabelary Compatibility
Authentication
API key setup and required authentication
Every request must carry a valid API key in the X-API-Key header.
Create an API key
- Go to your API Keys page
- Click Create API Key
- Copy your API key and store it securely
Send your API key
curl -X POST "https://api.zpl.tools/compatibility/labelary/v1/printers/8dpmm/labels/4x6/0" \
-H "X-API-Key: your_api_key_here" \
--data "^XA^FO50,50^FDHello World^FS^XZ"For more examples, see the Quickstart guide.
Rate Limits
New keys have no per-key rate limits. You can set soft limits per key on the API Keys page:
- Requests per second — the API enforces this immediately, and returns a
429with aRetry-Afterheader. - Pages per day — rendered label pages per UTC day. The analytics pipeline aggregates the usage, so the API enforces this within a few minutes. The limit resets at midnight UTC.
A platform-level abuse limit also applies per organization. The API returns a structured 429 for any limit. See the Error Reference for the response shape.
Fix an error
401 Unauthorized
Check each item in order:
- Send the
X-API-Keyheader. - Spell the key correctly.
- Send the full key, not a truncated one.
- Check that the key is not expired or revoked. An expired key returns
{"error": "key_expired"}. An unknown or revoked key returns{"error": "invalid_key"}. - Write the header name exactly as
X-API-Key, in the same case. - Check that no proxy or middleware removes the header.
403 Forbidden
A 403 with {"error": "scope_denied"} means the key is valid, but its scope does not accept the output format in the Accept header. Use a key scoped to that format or to all formats. Create one on the API Keys page.