POST
/
v1
/
license-keys
/
validate
Typescript (SDK)
import { Polar } from "@polar-sh/sdk";

const polar = new Polar({
  accessToken: process.env["POLAR_ACCESS_TOKEN"] ?? "",
});

async function run() {
  const result = await polar.licenseKeys.validate({
    key: "<key>",
    organizationId: "<value>",
  });

  console.log(result);
}

run();
{
  "id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "modified_at": "2023-11-07T05:31:56Z",
  "organization_id": "<string>",
  "customer_id": "<string>",
  "customer": {
    "id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "metadata": {},
    "external_id": "usr_1337",
    "email": "customer@example.com",
    "email_verified": true,
    "name": "John Doe",
    "billing_address": {
      "line1": "<string>",
      "line2": "<string>",
      "postal_code": "<string>",
      "city": "<string>",
      "state": "<string>",
      "country": "US"
    },
    "tax_id": [
      "911144442",
      "us_ein"
    ],
    "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
    "deleted_at": "2023-11-07T05:31:56Z",
    "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"
  },
  "benefit_id": "<string>",
  "key": "<string>",
  "display_key": "<string>",
  "status": "granted",
  "limit_activations": 123,
  "usage": 123,
  "limit_usage": 123,
  "validations": 123,
  "last_validated_at": "2023-11-07T05:31:56Z",
  "expires_at": "2023-11-07T05:31:56Z",
  "activation": {
    "id": "<string>",
    "license_key_id": "<string>",
    "label": "<string>",
    "meta": {},
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

You can generate an Organization Access Token from your organization's settings.

Body

application/json
key
string
required
organization_id
string<uuid4>
required
activation_id
string<uuid4> | null
benefit_id
string<uuid4> | null

The benefit ID.

customer_id
string<uuid4> | null
increment_usage
integer | null
conditions
object

Key-value object allowing you to set conditions that must match when validating the license key.

The key must be a string with a maximum length of 40 characters. The value must be either:

  • A string with a maximum length of 500 characters
  • An integer
  • A floating-point number
  • A boolean

You can store up to 50 key-value pairs.

Response

Successful Response

id
string<uuid4>
required

The ID of the object.

created_at
string<date-time>
required

Creation timestamp of the object.

modified_at
string<date-time> | null
required

Last modification timestamp of the object.

organization_id
string<uuid4>
required
customer_id
string<uuid4>
required
customer
object
required
benefit_id
string<uuid4>
required

The benefit ID.

key
string
required
display_key
string
required
status
enum<string>
required
Available options:
granted,
revoked,
disabled
limit_activations
integer | null
required
usage
integer
required
limit_usage
integer | null
required
validations
integer
required
last_validated_at
string<date-time> | null
required
expires_at
string<date-time> | null
required
activation
object | null