Upload a plugin jar
const url = 'https://example.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/plugins/upload';const options = { method: 'POST', headers: { cookie: '__Host-shardkeep_session=<__Host-shardkeep_session>', 'Content-Type': 'application/octet-stream' }, body: 'binary'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/plugins/upload \ --header 'Content-Type: application/octet-stream' \ --cookie __Host-shardkeep_session=<__Host-shardkeep_session> \ --data binaryNeeds plugins.install; audited. Installs a plugin jar you supply (at most 64 MiB), for plugins that are private
or not in the catalog. It must declare a plugin in paper-plugin.yml or plugin.yml; its name identifies it, so
uploading another jar with the same name replaces it. Uploaded plugins are unverified: nothing vouches for
them, and their compatibility is not checked.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”The jar’s file name, for display; only its last path element is kept.
Request Bodyrequired
Section titled “Request Bodyrequired”Responses
Section titled “Responses”Installed; takes effect when the server next starts.
object
The installation’s ID.
The catalog plugin ID, or upload:<name> for an uploaded jar.
False for uploads.
False when it was installed with force, or is an upload.
True when it was installed because another plugin requires it.
Plugin IDs of installed plugins that require this one.
Set when the catalog’s denylist names this version.
object
The newest catalog version compatible with the server, when it is newer than this one.
object
Example
{ "pluginId": "modrinth:Vebnzrzj", "source": "CATALOG"}The request is invalid.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Not signed in, or the credentials are invalid.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Signed in, but not allowed.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Not found, or not visible to you.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Clashes with existing data or state.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}The request body is too large.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Shardkeep is free software under the AGPL-3.0. Minecraft is a trademark of Mojang AB; Shardkeep is not affiliated with or endorsed by Mojang or Microsoft.