Sandbox
Test ZPL rendering in real-time. No API key required for the sandbox.
API Reference
Detailed guide to the ZPL SaaS API Gateway endpoints and data models.
Base URL
All API requests should be made to our global gateway:
https://api.zplrender.comAuthentication
Public API Keys
Use your standard API key in the x-api-key header for conversion requests.
x-api-key: YOUR_API_KEY
Rate Limits
Rate limits are applied per API key and depend on your plan:
| Plan | Requests/sec | Requests/month |
|---|---|---|
| Free | 3 | 500 |
| Basic | 5 | 10,000 |
| Pro | 25 | 50,000 |
Rate limit headers are included in every response: X-RateLimit-Remaining, X-RateLimit-Reset
API Error Codes
All error responses follow this JSON structure:
{
"success": false,
"message": "Description of the error"
}| Status | Message (Example) | Description |
|---|---|---|
| 400 | `Validation Error` | Invalid request body or parameters. |
| 401 | `Missing API Key` | The `x-api-key` header is missing. |
| 401 | `Invalid API Key` | The provided API key is invalid or inactive. |
| 403 | `No active subscription found` | The customer associated with the API key has no active plan. |
| 403 | `No plan associated with subscription` | The subscription is active but missing plan details. |
| 404 | `Not Found` | The requested resource (e.g., plan, customer) was not found. |
| 429 | `Monthly rate limit exceeded` | You have reached the monthly request limit for your plan. |
| 429 | `Per-second rate limit exceeded` | You are sending requests too quickly. |
| 500 | `Internal Server Error` | Unexpected server-side error during conversion. |
Rate Limit Headers
When a 429 Too Many Requests error is returned, the following headers provide context on the per-second limit:
X-RateLimit-LimitMaximum requests allowed per second for your plan.
X-RateLimit-RemainingRemaining requests in the current 1-second window.
X-RateLimit-ResetTime in seconds until the limit resets (always 1 for per-second limits).
These headers are also included in successful (200 OK) responses.