REST API reference
Licenses
Purchase codes and license keys stored for the team's customers, and live checks against the marketplace. Admin and owner tokens only, as they reveal customer data. Verifying never stores or changes anything, so a read-only token is enough.
Every request needs a bearer token: an API key or an OAuth access token. See authentication and scopes.
api.v1.licenses.index
GET
/api/v1/licensesList stored licenses, newest first.
- Scope
licenses:read- Unscoped key
- Read-only or read-write
Query parameters
purchase_codestring- Exact purchase code or license key, as issued or in all lower or upper case.
customer_idstring- Customer id.
marketplacestring- envato, shopify, wordpress, gumroad, lemonsqueezy, independent.
product_idinteger- Product id.
external_license_idstring- The marketplace's own id for the license or order.
per_pageinteger- 1-100, default 25.
cursorstring- meta.next_cursor from the previous page.
Request
curl https://zono.support/api/v1/licenses?purchase_code=86781236-23d0-4b3c-7dfa-c1c147e0dece \
-H "Authorization: Bearer $ZONO_TOKEN" \
-H "Accept: application/json"Response200 OK
{
"data": [
{
"object": "license",
"id": "01j9x0a1b2c3d4e5f6g7h8j9k0",
"purchase_code": "purchase_code",
"marketplace": "envato",
"external_license_id": "01j9x0a1b2c3d4e5f6g7h8j9k0",
"product": {
"id": "01j9x0a1b2c3d4e5f6g7h8j9k0",
"name": "Billing"
},
"customer": {
"id": "01j9x0a1b2c3d4e5f6g7h8j9k0",
"name": "Billing",
"email": "[email protected]"
},
"license_type": "license_type",
"is_active": true,
"has_active_support": true,
"support_status": "support_status",
"purchase_date": "2026-01-15T10:24:07Z",
"support_until": "2026-01-15T10:24:07Z",
"verification_source": "verification_source",
"last_verified_at": "2026-01-15T10:24:07Z",
"created_at": "2026-01-15T10:24:07Z"
}
],
"links": {
"first": null,
"last": null,
"prev": null,
"next": "https://zono.support/api/v1/licenses?cursor=eyJpZCI6IjAxajl4MnAzcTQiLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9"
},
"meta": {
"path": "https://zono.support/api/v1/licenses",
"per_page": 25,
"next_cursor": "eyJpZCI6IjAxajl4MnAzcTQiLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
"prev_cursor": null
}
}api.v1.licenses.verify
POST
/api/v1/licenses/verifyCheck a key live against the marketplace. Returns valid, a short summary (item, buyer, license type, dates), and the stored license and customer if any. Limited to 30 requests per minute per token.
- Scope
licenses:read- Unscoped key
- Read-only or read-write
Body parameters
license_keystringRequired- The purchase code or license key.
product_idinteger- Verify the way this product is set up to (no license, manual or automatic).
marketplacestring- Marketplace to ask when no product is given. Defaults to the stored license's marketplace, then the team's primary one.
Request
curl -X POST https://zono.support/api/v1/licenses/verify \
-H "Authorization: Bearer $ZONO_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"license_key":"86781236-23d0-4b3c-7dfa-c1c147e0dece","marketplace":"envato"}'Response200 OK
{
"object": "license_verification",
"valid": true,
"error": "error",
"marketplace": "envato",
"mode": "mode",
"summary": {
"item": "item",
"buyer": "buyer",
"buyer_email": "buyer_email",
"license_type": "license_type",
"status": "status",
"purchased_at": "2026-01-15T10:24:07Z",
"supported_until": "supported_until"
},
"license": {
"object": "license",
"id": "01j9x0a1b2c3d4e5f6g7h8j9k0",
"purchase_code": "purchase_code",
"marketplace": "envato",
"external_license_id": "01j9x0a1b2c3d4e5f6g7h8j9k0",
"product": null,
"customer": null,
"license_type": "license_type",
"is_active": true,
"has_active_support": true,
"support_status": "support_status",
"purchase_date": "2026-01-15T10:24:07Z",
"support_until": "2026-01-15T10:24:07Z",
"verification_source": "verification_source",
"last_verified_at": "2026-01-15T10:24:07Z",
"created_at": "2026-01-15T10:24:07Z"
},
"customer": {
"object": "customer",
"id": "01j9x1c2d3e4f5g6h7j8k9m0n1",
"name": "Ada Lovelace",
"email": "[email protected]",
"external_id": "crm-5521",
"avatar": null,
"has_deliverable_email": true,
"created_at": "2026-01-15T09:58:12Z",
"updated_at": "2026-01-15T09:58:12Z",
"url": "https://zono.support/customers/01j9x1c2d3e4f5g6h7j8k9m0n1"
}
}