Skip to content
codeon
CodeOn Core
API REFERENCE

GET /api/v1/updates/<plugin>

The update endpoint returns a WordPress-compatible manifest only when the caller owns the plugin, the license is active, and the domain has already completed license validation.

Method
GET
Path
/api/v1/updates/<plugin>

Query parameters

license_key
Required. The customer's CodeOn license key.
site_url
Required. Must match the already-bound domain.
current_version
Optional but recommended. Used for version comparison and dashboard freshness.
build_id
Optional. Same watermark UUID used by validate-license telemetry.
GET /api/v1/updates/tbc-card?license_key=SMS-...&site_url=https%3A%2F%2Fstore.example.ge&current_version=0.3.10

Success cases

{
  "version": "0.3.11",
  "tag": "v0.3.11",
  "name": "TBC Card Payments",
  "download_url": "https://codeon.ge/api/downloads/github/v0.3.11?...",
  "tested": "6.8",
  "description": "TBC Card Payments v0.3.11",
  "changelog": "..."
}

If the caller already has the latest version, the endpoint returns HTTP 200 with an empty JSON object. WordPress treats the missing update fields as "no update available."

Entitlement checks

  • The plugin slug must exist in CodeOn's plugin registry.
  • The GitHub repo must be configured for that plugin.
  • The license key must be valid and active.
  • The license module must cover the requested plugin.
  • The license must already be bound to the same domain through validate-license.

Errors

HTTPErrorMeaning
400license_key and site_url requiredMissing required query parameters.
400invalid_license_formatThe key fails checksum validation.
402license_inactiveExpired or revoked license.
402plugin_not_in_licenseValid key, wrong plugin.
403wrong_domainLicense is bound to a different domain.
403license_not_activated_on_this_domainRun validate-license successfully first.
404unknown_pluginSlug is not in the plugin registry.
502upstream_unavailableGitHub release lookup failed.