API Quickstart
Introduction to the LicenseSeat API.
IMPORTANT
Full API Docs — To see the full LicenseSeat API docs, together with the LicenseSeat OpenAPI spec, head to the LicenseSeat API Reference page. It also has an interactive experience with request testing, error codes, full schemas, and live examples.
Essentials
- Base URL:
https://licenseseat.com/api/v1 - Auth: Bearer token in
Authorizationheader - Format: JSON request/response bodies
- Errors: Structured format with
error.codeanderror.message
All license operations are product-scoped. The product slug and license key are in the URL path:
curl -X POST https://licenseseat.com/api/v1/products/my-app/licenses/XXXX-XXXX-XXXX-XXXX/validate \
-H "Authorization: Bearer pk_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fingerprint": "device-unique-id"}'
fingerprint is the canonical device-binding field. device_id remains accepted as a legacy alias for compatibility with older SDKs and integrations.
Response Format
All responses include an object field identifying the type:
{
"object": "validation_result",
"valid": true,
"license": { ... },
"activation": { ... }
}
Rate Limits
| Plan | Requests/min | Requests/day |
|---|---|---|
| Free | 60 | 1,000 |
| Pro | 300 | 50,000 |
| Enterprise | Unlimited | Unlimited |
Rate limit headers included in all responses: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset