Appearance
Create Release
Create a release record, typically pointing at a file stored via Upload Release File.
POST /v1/products/:id/releasesRequires 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"
}| Field | Required | Type | Description |
|---|---|---|---|
version | Yes | string | Release version (must be unique per product) |
releaseNotes | No | string | Changelog / release notes |
filePath | No | string | Storage path returned by the upload endpoint |
fileName | No | string | Original file name |
fileSize | No | number | File size in bytes |
status | No | string | draft (default) or published |
requiresWp | No | string | Minimum WordPress version |
testedWp | No | string | Tested-up-to WordPress version |
requiresPhp | No | string | Minimum 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
