Skip to content

Download Release

Download a release ZIP file. Validates the license before serving and tracks download count.

GET /v1/download/:releaseId

Path Parameters

ParameterRequiredDescription
releaseIdYesRelease ID

Query Parameters

ParameterRequiredDescription
license_keyYesLicense key for download access
siteNoThe site URL. When supplied, a site whose activation has been deactivated is refused even with a valid key.

Response

Streams the release ZIP file from R2 storage:

Content-Type: application/zip
Content-Disposition: attachment; filename="my-plugin-1.0.0.zip"

Example

bash
curl -O "https://api.packedge.dev/v1/download/rel_xxx?license_key=MYPLUGIN-XXXX-XXXX-XXXX-XXXX"

Notes

  • License is validated before serving the file
  • Download count is automatically tracked
  • File is streamed directly from Cloudflare R2 storage
  • Invalid or expired licenses receive a 403 response
  • A deactivated site is refused even with a valid license key, so a copied download URL stops working once that site is deactivated

Errors

StatusDescription
403Invalid or expired license, or the site is deactivated
404Release not found

Usage

This endpoint is typically called by WordPress during plugin updates. The URL is provided in the package field of the update check response.

You generally don't need to call this directly — WordPress handles it automatically when the user clicks "Update" in the admin.