API ReferenceLicenses
Validate a license key
Check whether a license is valid, optionally for a specific activation.
Check whether a license key is valid. Include instance_id to check a specific
activation, or omit it to validate the key alone.
Validation checks if:
- The license key exists.
- The license key is currently
active. - The license key has not expired (
expires_at). - When provided,
instance_idmatches an existing activation for that license key.
Authorization
bearerAuth storeAuth AuthorizationBearer <token>
Provide your SellApp API key as a bearer token.
In: header
X-STORE<token>
Select the SellApp store for this API request.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v2/licenses/validate" \ -H "Content-Type: application/json" \ -d '{ "license_key": "01965f1d-f038-7116-b57f-9e7ecb4e7b8f" }'{
"data": {
"valid": true,
"license_key": {
"id": 1,
"key": "01965f1d-f038-7116-b57f-9e7ecb4e7b8f",
"limit": 4,
"active": 1,
"status": "ACTIVE",
"expires_at": null,
"is_expired": false,
"store_id": 1,
"order_id": 1,
"invoice_id": 1,
"product_id": 218,
"variant_id": 228,
"customer_id": 1,
"subscription_id": null,
"created_at": "2025-04-22T20:08:39.000000Z",
"updated_at": "2025-04-22T20:08:39.000000Z",
"instances_count": 4
},
"instance": null
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}