Skip to content

Create Release

Create a release record, typically pointing at a file stored via Upload Release File.

POST /v1/products/:id/releases

Requires a paid plan (free-tier products get 402).

Request Body

json
{
  "version": "1.4.0",
  "releaseNotes": "Bug fixes and improvements",
  "filePath": "my-plugin/1.4.0/my-plugin-1.4.0.zip",
  "fileName": "my-plugin-1.4.0.zip",
  "fileSize": 1248576,
  "status": "published",
  "requiresWp": "6.0",
  "testedWp": "6.7",
  "requiresPhp": "7.4"
}
FieldRequiredTypeDescription
versionYesstringRelease version (must be unique per product)
releaseNotesNostringChangelog / release notes
filePathNostringStorage path returned by the upload endpoint
fileNameNostringOriginal file name
fileSizeNonumberFile size in bytes
statusNostringdraft (default) or published
requiresWpNostringMinimum WordPress version
testedWpNostringTested-up-to WordPress version
requiresPhpNostringMinimum PHP version

Response

json
{
  "data": {
    "id": "rel_xxx"
  }
}

Example

bash
curl -X POST "https://api.packedge.dev/v1/products/prd_xxx/releases" \
  -H "Authorization: Bearer pk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.4.0",
    "filePath": "my-plugin/1.4.0/my-plugin-1.4.0.zip",
    "fileName": "my-plugin-1.4.0.zip",
    "fileSize": 1248576,
    "status": "published"
  }'

Notes

  • Creating with status: "published" automatically makes this the stable release customers update to
  • Duplicate versions are rejected with 409 — edit the existing release to replace its file instead