Plugins
The plugins endpoint is used to manage plugins on a WunderUpdates account.
/plugins
GET
Displays a list of all plugins on the account
Request
curl -X GET https://api.wunderupdates.com/v1/plugins \
-H "x-api-key: YOUR_API_KEY"
Response
{
"status": 200,
"plugins": [
{
"license": {
"type": "static-keys"
},
"versions": [],
"slug": "my-new-plugin"
}
]
}
POST
Adds a new plugin to the account.
Request
curl -X POST https://api.wunderupdates.com/v1/plugins \
-H "x-api-key: YOUR_API_KEY" \
-d '{"slug": "my-new-plugin", "license": {"type": "static-keys"}}'
Response
{
"status": 200
"data": [
{
"versions": [],
"slug": "my-new-plugin",
"license": {
"type": "static-keys"
}
}
]
}
/plugins/$slug
The plugins/$slug endpoint is used to manage an individual plugin on a WunderUpdates account.
GET
Displays info about a specific plugin, identified by the $slug request parameter.
Request
curl -X GET https://api.wunderupdates.com/v1/plugins/my-new-plugin \
-H "x-api-key: YOUR_API_KEY"
Response
{
"status": 200,
"plugin": {
"license": {
"type": "static-keys"
},
"versions": [],
"slug": "my-new-plugin"
}
}
PUT
Updates the plugin identified by the $slug request parameter. Right now, the only thing you can update is the license type.
Request
curl -X PUT https://api.wunderupdates.com/v1/plugins/my-new-plugin \
-H "x-api-key: YOUR_API_KEY" \
-d '{"license": {"type": "lemonsqueezy", "products": [12345]}}'
Parameters
The POSTed JSON object must contain a license
object with the following properties:
- type: The license provider to use. Possible values are
static-keys
,lemonsqueezy
,no-license
. - products: If the license provider is
lemonsqueezy
, this is an array of Lemon Squeezy product IDs that can provide license keys for the plugin.
Response
{
"status": 200,
"plugin": {
"license": {
"type": "lemonsqueezy"
"products": [12345]
},
"versions": [],
"slug": "no-license"
}
}
DELETE
Deletes the plugin identified by the $slug request parameter.
Request
curl -X DELETE https://api.wunderupdates.com/v1/plugins/my-new-plugin \
-H "x-api-key: YOUR_API_KEY"
Response
{
"status": 200,
"message": "Plugin my-new-plugin was deleted"
}
/plugins/$slug/versions
The plugins/$slug/versions endpoint is used to manage an versions for a plugin.
GET
Displays a list of all versions for a plugin identified by the $slug request parameter.
Request
curl -X GET https://api.wunderupdates.com/v1/plugins/my-new-plugin/versions \
-H "x-api-key: YOUR_API_KEY"
Response
{
"status": 200,
"versions": [
{
"file": "my-new-plugin-1.0.0.zip",
"version": "1.0.0"
},
{
"file": "my-new-plugin-2.0.0-beta.1.zip",
"version": "2.0.0-beta.1"
}
]
}
POST
Adds a new version to the plugin by uploading a zip file containing the plugin. The main PHP entry point file and the readme.txt file are parsed to determine the plugin version and other meta information. If the version can't be determined from these files, the request will fail. The file is saved with the name $slug-$version.zip
file name.
If the meta data from the uploaded plugin zip has the same version as an existing version, the newly uploaded file will replace the existing version.
Request
curl -X POST https://api.wunderupdates.com/v1/plugins/my-new-plugin/versions \
-H "x-api-key: YOUR_API_KEY" \
--data-binary @builds/my-new-plugin-2.0.0-beta.2.zip
Response
{
"status": 200,
"message": "Zip archive uploaded successfully."
}
/plugins/$slug/versions/$version
Used to see or delete a specific version of a plugin.
GET
See details about a specific version identified by the request parameter $version.
Request
curl -X GET https://api.wunderupdates.com/v1/plugins/my-new-plugin/versions/2.0.0-beta.2 \
-H "x-api-key: YOUR_API_KEY"
Response
{
"status": 200,
"version": {
"file": "my-new-plugin-1.0.0.zip",
"version": "1.0.0"
}
}
DELETE
Delete a specific version identified by the request parameter $version.
Request
curl -X DELETE https://api.wunderupdates.com/v1/plugins/my-new-plugin/versions/2.0.0-beta.2 \
-H "x-api-key: YOUR_API_KEY"
Response
{
"status": 200,
"message": "Version 2.0.0-beta.2 of my-new-plugin was deleted."
}