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_id matches an existing activation for that license key.
POST
/v2/licenses/validate

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"
}