Skip to main content

Public API

The Public API provides endpoints used by WordPress installations for license verification, updates, and component delivery. These endpoints require no authentication (or license-based auth via query parameters/headers).

Base path: /api/v1


License Endpoints

Activate License

POST /api/v1/licenses/activate

Rate limit: 10/minute

Activates a license key on a specific domain. Called automatically by the WordPress plugin/theme when a user enters their license key.

Request Body:

{
"license_key": "FLVR-ABCD-EFGH-IJKL-MNOP",
"domain": "mysite.com",
"product_slug": "flavor-starter"
}

Response:

{
"status": "activated",
"tier": "starter",
"expires_at": "2027-03-30T00:00:00Z"
}

Deactivate License

POST /api/v1/licenses/deactivate

Rate limit: 10/minute

Removes a domain from a license's activation list.

Request Body:

{
"license_key": "FLVR-ABCD-EFGH-IJKL-MNOP",
"domain": "mysite.com"
}

Verify License

POST /api/v1/licenses/verify

Rate limit: 30/minute

Checks if a license is valid and active on a specific domain. Used by the WordPress cron for periodic verification.

Request Body:

{
"license_key": "FLVR-ABCD-EFGH-IJKL-MNOP",
"domain": "mysite.com"
}

Response:

{
"valid": true,
"tier": "starter",
"status": "active",
"expires_at": "2027-03-30T00:00:00Z"
}

Update Endpoints

These endpoints are compatible with the Plugin Update Checker (PUC) library format.

Check for Updates

GET /api/v1/updates/check/{slug}

Rate limit: 30/minute

Returns the latest version metadata for a product.

ParameterLocationDescription
slugpathProduct slug (e.g., flavor-starter, wp-ecommerce-core)

Response: PUC-compatible metadata including version, download URL, changelog excerpt, and requirements.


Get Update Info

GET /api/v1/updates/info/{slug}

Rate limit: 30/minute

Returns detailed information about the latest version, including the full changelog.


Download Update

GET /api/v1/updates/download/{slug}/{version}

Rate limit: 5/minute

Downloads the product ZIP file. Requires license-based authentication via query parameters.

ParameterLocationDescription
slugpathProduct slug
versionpathVersion string
license_keyqueryValid license key
domainqueryActivated domain

Example:

GET /api/v1/updates/download/flavor-starter/4.2.0?license_key=FLVR-...&domain=mysite.com

Feature Manifest

GET /api/v1/manifest/{product_slug}

Rate limit: 60/minute

Returns the Ed25519-signed feature manifest that maps features to license tiers. WordPress installations cache this manifest and use it for feature gating.

The manifest is signed with an Ed25519 private key. The plugin/theme verifies the signature using the embedded public key.


Component Endpoints

Components are modular add-ons (payment gateways, shipping couriers, ERP modules, etc.) that can be downloaded individually based on license tier.

List Components

GET /api/v1/components/{slug}/list

Rate limit: 30/minute

Lists all active components for a product.


List Available Components

GET /api/v1/components/{slug}/available

Rate limit: 30/minute

Lists components accessible to the requesting license's tier.

HeaderDescription
X-License-KeyValid license key
X-DomainActivated domain

Check Component Updates

POST /api/v1/components/{slug}/check-updates

Rate limit: 30/minute

Compares installed component versions against the latest available versions.

Request Body:

{
"installed": {
"acs-courier": "1.0.0",
"stripe-gateway": "2.1.0"
}
}

Download Component

GET /api/v1/components/{slug}/download/{component_id}

Rate limit: 100/minute

Downloads a component ZIP file. Requires license + tier verification via headers.

HeaderDescription
X-License-KeyValid license key
X-DomainActivated domain

Telemetry Endpoints

Used by the WordPress plugin/theme for integrity monitoring.

Report Integrity Failure

POST /api/v1/telemetry/integrity

Rate limit: 20/minute

Reports file integrity check failures detected by the runtime integrity verifier.


Report Sentinel

POST /api/v1/telemetry/sentinel-report

Rate limit: 20/minute

Reports sentinel flags that indicate potential file tampering.


Announcements

Login Page Announcements

GET /api/v1/announcements/public

Returns active announcements targeted at the login page. No authentication required.


Viva Wallet Webhooks

These endpoints handle payment callback notifications from Viva Wallet.

GET /api/v1/webhooks/viva    # Verification (returns key)
POST /api/v1/webhooks/viva # Payment callback

These are called by Viva Wallet's systems, not by users or integrations.