Skip to main content
Issue unique keys for your software or digital goods, control activations, and revoke access when needed. License keys pair well with subscriptions and one-time purchases.

What Are License Keys?

License keys are unique tokens that authorize access to your product. They’re ideal for:
  • Software licensing: Desktop apps, plugins, and CLIs
  • Per-seat controls: Limit activations per user or device
  • Digital goods: Gate downloads, updates, or premium features

Key Benefits

  • Access control: Define expiry and activation limits
  • Operational visibility: Track usage, devices, and history
  • Security and support: Disable, re-enable, and audit quickly

Creating License Keys

1

Create a License Key

Go to your Dodo Payments dashboard and open the License Keys section. Select the option to create a new license key.
2

Configure License Key Settings

Set how your license keys will be issued and used by specifying these fields:
  • License Key Expiry Date: Define how long the key stays valid. Choose a specific duration (for example, 30 days or 1 year), or select “no expiry” for a perpetual key.
  • Activation Limit: Set the maximum number of concurrent activations per key. Use a specific number for scenarios like single-user (1) or team licenses (5), or select “unlimited” for no activation cap.
  • Activation Instructions: Provide clear activation steps for your customers, which will also be emailed with the license key. Examples: “Paste the key in Settings → License” or “Run: mycli activate <key>”.
3

Review and Save

Check all entered details. When ready, save the license key configuration to finish key creation.
Use realistic instructions and include support links to reduce activation tickets.
Creating a license key in Dodo Payments dashboard

Manage & Monitor

The License Keys Section provides a comprehensive view of all license key activity and enables you to manage and monitor licenses effectively.

Key Information

View detailed information for each license key:
  • Key Details: License key value, associated product name, customer details (customer_id), and purchase date
  • Usage Activity: Number of activations, activation dates and times, and status (active, expired, disabled)
  • Expiry and Limits: Key expiry date, remaining activation count, and current activation instances
License key details

Available Actions

You can perform the following actions on license keys:
  • Disable License Key: Immediately disable a key to prevent further usage
  • Enable Key: Re-enable a previously disabled license key
  • View Activation Instances: See all associated activation instances for a particular license key
License key actions

Benefits

  • Track license key activity in real-time
  • Identify potential misuse or unauthorized activations
  • Simplify customer support by providing detailed usage records in case of discrepancy

API Management

Use these APIs to activate, validate, list, and update license keys and their activation instances.
Public Endpoints: The activate, deactivate, and validate license endpoints are public and do not require an API key. This allows you to call them directly from your client applications, desktop software, or CLIs without exposing your API credentials.

Integration Examples

Activate a license

These endpoints do not require an API key and can be called directly from your client applications.
import DodoPayments from 'dodopayments';

// No API key needed for public license endpoints
const client = new DodoPayments();

const response = await client.licenses.activate({ 
  license_key: 'license_key', 
  name: 'Device Name' 
});

console.log(response.id);

Validate a license

import DodoPayments from 'dodopayments';

// No API key needed for public license endpoints
const client = new DodoPayments();

const response = await client.licenses.validate({ 
  license_key: '2b1f8e2d-c41e-4e8f-b2d3-d9fd61c38f43' 
});

console.log(response.valid);

Best Practices

  • Keep limits clear: Choose sensible defaults for expiry and activations
  • Guide users: Provide precise activation instructions and self-serve documentation
  • Automate checks: Validate keys server-side before granting access
  • Monitor events: Use webhooks to detect abuse and automate revocations