Zartevo
Product setupSDK downloads
Zartevo License SDK

License activation that lets each vendor choose the right install flow.

Use guided login activation when you want a premium setup wizard, or manual key activation when copy-paste is better. Both flows end with the same secure domain activation, rotating session token, heartbeat, and audit trail.

Guided activation

Open Zartevo, ask the customer to sign in, let them choose the purchased license, then return to your installer with a completion code.

Best for: WordPress wizards, desktop installers, SaaS connectors, and products where login is smoother than copy-paste.

Manual license key

Ask the customer to paste their key inside your settings screen, then activate and verify from your product.

Best for: Simple plugins, CLI tools, private deployments, and products that should work without opening a browser.

Quick facts

Domain locked

Production activation is tied to the customer domain.

Dev friendly

Localhost, staging, and sandbox are tracked separately.

Heartbeat ready

Long-running products can verify every few hours.

Fingerprint optional

Send a stable install fingerprint when your stack supports it.

Server-side evidence

Each activation and check writes an audit log.

Documentation

Guided activationManual activationAPI contractProduct setup

Guided activation

Recommended when you want the customer to authenticate with Zartevo and select the purchased license. The product never asks them to paste a license key.

1

Create the activation session

Your installer sends the product id, domain, environment, and return URL. Zartevo returns a short-lived activation URL.

Open Zartevo from your setup wizard

const response = await fetch("https://zartevo.com/api/licenses/activation-session", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    productId: "PRODUCT_ID_FROM_Zartevo",
    domain: window.location.hostname,
    environment: window.location.hostname === "localhost" ? "LOCALHOST" : "PRODUCTION",
    returnUrl: "https://customer-site.com/your-installer/callback",
    fingerprint: "optional-stable-installation-fingerprint"
  })
});

const { activationUrl } = await response.json();
window.location.href = activationUrl;
2

Complete after redirect

When Zartevo redirects back, your installer exchanges the short-lived code for the normal session token.

Exchange the completion code

const code = new URLSearchParams(window.location.search).get("Zartevo_activation");

const response = await fetch("https://zartevo.com/api/licenses/activation-session/complete", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ code })
});

const activation = await response.json();

if (activation.valid) {
  localStorage.setItem("Zartevo_session_token", activation.sessionToken);
  // Continue the installer and unlock paid features.
}

Manual license key

Use this when your product should stay inside its own settings page. The customer copies the key from their Zartevo download/license area and pastes it into your product.

Activate with a customer-provided key

const license = new ZartevoLicense(customerLicenseKey, {
  productId: "PRODUCT_ID_FROM_Zartevo",
  apiUrl: "https://zartevo.com/api/licenses",
});

await license.activate("customer-domain.com");

if (await license.isValid("customer-domain.com")) {
  // Unlock paid features.
}

After activation, store only the returned session token locally. Keep verifying with heartbeat. Do not hardcode customer license keys in public source.

API contract

The SDK files call these endpoints. Custom integrations can call them directly.

POST/api/licenses/activation-sessionCreate a short-lived guided login activation URL.
POST/api/licenses/activation-session/completeExchange the return code for the license session token.
POST/api/licenses/activateManual key activation for products that collect a license key directly.
POST/api/licenses/verifyVerify domain, session token, environment, status, and fingerprint.
POST/api/licenses/heartbeatRecurring lightweight check for long-running apps.
POST/api/licenses/deactivateDeactivate a domain slot when a customer moves installs.

Product setup in Vendor Studio

When creating or editing a product, Zartevo shows product-specific values so vendors do not need to guess IDs or endpoints.

Create product

Add licensing details while building the listing.

Open setup

Download SDK files

Secure vendor downloads for JS, PHP, and Python packages.

Open SDK center