Multicraft Plugin List

The Multicraft Plugin List is a collection of plugin lists from different sources. The goal is to offer a set of properties that is shared among different plugins lists. We use a very low-traffic method of getting just the latest changes of each plugin list in order to conserve their resources.

API Usage

The API can be used from any kind of environment/programming language using simple GET requests.

For a real like usage example please see the "protected/models/ServerPlugin.php" file inside the Multicraft panel source code

URL

All API calls are made to the following URL, where "source" would be the plugin source and "function" would be the API function you'd like to call:
https://plugins.multicraft.org/api/v1/source/function

Return Value

All API calls return JSON data in a very compact format containing only the most relevant information.

See the function list below for examples of returned data.

Parameters

Parameters can be passed as normal GET parameter, for example:
curl http://plugins.multicraft.org/api/v1/spigot/plugin?id=32920
This would return information about Spigot plugin 32920.

Errors

API calls return HTTP code 2xx and 3xx on success and 4xx and 5xx on error.

When an error is encountered the response can contain additional information in an "error" field:
{
  "error":"error message"
}

Functions


sources

Return a list of available plugin sources.
This function is special in that it does not need a source specified.

Parameters Return value
No parameters required
dictionaryDictionary of available sources in an id=>name mapping.
Example
curl:
curl http://plugins.multicraft.org/api/v1/sources
Response:
{
    "bukkit": "Bukkit",
    "spigot": "Spigot",
    "pocketmine": "Pocketmine",
    "imagicalmine": "Imagicalmine"
}


source/categories

Return a list of categories for this source.

Parameters Return value
No parameters required
arrayList of available category names
Example
curl:
curl \
http://plugins.multicraft.org/api/v1/spigot/categories
Response:
[
    "Anti-Griefing Tools",
    "Chat Related",
    ...
    "World Editing and Management",
    "World Generators"
]


source/category_plugins

Return a list of plugins for the category specified.

Parameters Return value
category
string
The category name
arrayAn array of plugin IDs
Example
curl:
curl \
http://plugins.multicraft.org/api/v1/bukkit/category_plugins \
    -Gd category=Fun
Response:
[
    "aaaaahdeath",
    "abba-rules",
    "abc",
    "abilities",
    ...,
    "zplayerfreeze",
    "ztntgrenades"
]


source/plugin

Return information about the specified plugin.

Parameters Return value
id
string
The plugin ID
id
string
The plugin ID
name
string
The name of the plugin
link
string
The link to the plugin page on the original plugin list
description
string
A short description of the plugin
server
string
The server type this plugin is for (matches "source")
logo
string
The logo URL for this plugin
authors
array
An array of author names
icon
string
The icon URL
categories
integer
Categories this plugin belongs to
stage
decimal as string
The development stage of the plugin
updated
integer
Unix Timestamp of the last plugin update
Example
curl:
curl \
http://plugins.multicraft.org/api/v1/spigot/plugin \
    -Gd id=32920
Response:
{
    "id": "32920",
    "name": "Warp Books",
    "link": "https:\/\/www.spigotmc.org\/resources\/warp-books.32920\/",
    "description": "A teleportation plugin based on physical books that the player can share",
    "server": "spigot",
    "logo": null,
    "authors": ["sebdomsan"],
    "icon": null,
    "categories": ["Bungee - Bukkit\/Transportation"],
    "stage":"",
    "updated":"1481170005"
}


source/plugin_versions

Return a list of versions for the specified plugin.

Parameters Return value
id
string
The plugin ID
id
string
The version ID
game_versions
array
An array of compatible game versions
filename
string
The filename of the downloaded plugin
size
integer
The plugin file size in bytes
link
string
The link to the download page for this version
download
string
The download link for this plugin
version
string
The plugin version string/name
date
string
The release date as a Unix Timestamp
type
integer
The release type/phase
Example
curl:
curl \
http://plugins.multicraft.org/api/v1/spigot/plugin_versions \
    -Gd id=32920
Response:
[
    {
        "id": "128729"
        "game_versions": ["1.8","1.9","1.10","1.11"],
        "filename": "WarpBooks.jar",
        "size": "40323",
        "link": "https:\/\/www.spigotmc.org\/resources\/warp-books.32920\/history",
        "download": "http:\/\/plugins.multicraft.org\/api\/v1\/spigot\/download\/WarpBooks.jar?id=128729",
        "version": "2016-12-07",
        "date": "1481170005",
        "type": "",
    },
    {
        ...
    }
]


source/plugins

Return a list of plugins.

Parameters Return value
since
integer
(optional)
Return only plugins updated after this Unix Timestamp
array of dictionariesThe list of plugins
id
string
The plugin ID
name
string
The plugin name
stage
string
The development stage of the plugin
updated
integer
Unix Timestamp of the last plugin update
description
string
A short description of the plugin
Example
curl:
curl \
http://plugins.multicraft.org/api/v1/bukkit/plugins \
    -Gd since=1481146495
Response:
[
    {
        "id": "servertutorial",
        "name": "ServerTutorial",
        "stage": "",
        "updated": "1481177755",
        "description": "Allows you to create a tutorial for your players to follow"
    },
    {
        "id": "smartessentials",
        "name": "SmartEssentials",
        "stage": "",
        "updated": "1481156325",
        "description": "SmartEssentials"
    },
    {
        ...
    }
]


source/download

Redirects to the plugin download URL.

Parameters Return value
id
string
The plugin version ID
This will essentially return the plugin file. The API only returns a redirect header to the download link of the plugin so it's up to the client to follow the redirect(s).
Example
curl:
curl \
http://plugins.multicraft.org/api/v1/bukkit/download \
    -Gd id=2353523
Response:
> GET /api/v1/bukkit/download?id=2353523 HTTP/1.1
> Host: plugins.multicraft.org
> User-Agent: curl/7
> Accept: */*
>
< HTTP/1.1 302 Found
< Date: Thu, 08 Dec 2016 08:06:33 GMT
< Content-Type: application/json; charset=utf-8
< Location: https://dev.bukkit.org/projects/servertutorial/files/2353523/download
<