Skip to main content

Overview

The Server API provides endpoints for managing Modrinth Hosting servers, including creation, configuration, power management, and console access. All endpoints require authentication via JWT token.

Authentication

All server API requests must include an Authorization header:

Endpoints

Get Server

Retrieve detailed information about a specific server.
string
required
The unique identifier of the server
string
Unique server identifier
string
Server display name
string
User ID of the server owner
object
Network configuration
string
Server IP address
number
Server port number
string
Server domain name
string
Game type (e.g., “Minecraft”)
string
Server status: installing, broken, available, or suspended
string | null
Reason for suspension: moderated, paymentfailed, cancelled, upgrading, or other
string | null
Mod loader: Forge, NeoForge, Fabric, Quilt, Purpur, Spigot, Vanilla, or Paper
string | null
Version of the mod loader
string | null
Minecraft version
object | null
Upstream modpack configuration
string
modpack or none
string
Modrinth version ID
string
Modrinth project ID
string
SFTP username for file access
string
SFTP password for file access
string
SFTP host address
string
Datacenter location
number
Maximum number of backups allowed
number
Number of backups currently in use
boolean
Whether the server is a Medal (sponsored) server
string
ISO 8601 timestamp when Medal status expires

List Servers

Retrieve a paginated list of servers for the authenticated user.
number
Number of servers to return per page (default: 20)
number
Number of servers to skip (default: 0)
array
Array of server objects (see Get Server response)
object
Pagination metadata
number
Current page number
number
Number of items per page
number
Total number of pages
number
Total number of servers

Check Stock Availability

Check if a server configuration is available in a specific region.
string
required
Region shortcode (e.g., “us-east”, “eu-west”)
number
Number of CPU cores
number
Memory in megabytes
number
Swap space in megabytes
number
Storage space in megabytes
number
Number of available server slots with this configuration

Get Available Regions

Retrieve a list of all available hosting regions.
string
Region identifier (e.g., “us-east”)
string
ISO country code
string
Human-readable region name
number
Latitude coordinate
number
Longitude coordinate
string
Availability zone

Power Management

Send Power Action

Control server power state.
string
required
The unique identifier of the server
string
required
Power action: Start, Stop, Restart, or Kill
Power state changes are broadcast via WebSocket events (see WebSocket API).

Console Access

Server console access is provided via WebSocket connections. See the WebSocket API documentation for details on:
  • Receiving real-time log output
  • Sending console commands
  • Monitoring server statistics

File Management

Get Filesystem Authentication

Obtain credentials for accessing a server’s filesystem via the Kyros API.
string
required
The unique identifier of the server
string
Base URL for Kyros filesystem API (e.g., “node-xyz.modrinth.com/modrinth/v0/fs”)
string
JWT token for authenticating filesystem requests
The token is automatically used by the Kyros file API when you call methods like:
  • listDirectory() - Browse files and folders
  • uploadFile() - Upload files with progress tracking
  • downloadFile() - Download files
  • createFileOrFolder() - Create new files/directories
  • deleteFileOrFolder() - Delete files/directories
  • moveFileOrFolder() - Move or rename files
  • updateFile() - Update file contents
See the Kyros Files API documentation for complete file management capabilities.

Installing Mods

List Installed Mods

Get a list of all mods installed on a server.
string
required
The unique identifier of the server
string
Mod file name
string | undefined
Modrinth project ID
string | undefined
Modrinth version ID
string | undefined
Mod display name
string | undefined
Mod version number
string | undefined
URL to mod icon image
string | undefined
Mod author/owner
boolean
Whether the mod is disabled
boolean
Whether the mod is currently being installed

Install a Mod

Install a mod or plugin from Modrinth.
string
required
The unique identifier of the server
string
required
Modrinth project ID
string
required
Modrinth version ID
string
required
Content type: mod or plugin
Installation progress is broadcast via WebSocket installation-result events.

Update a Mod

Update an existing mod to a new version.
string
required
The unique identifier of the server
string
required
Path to the existing mod file to replace
string
required
Modrinth project ID
string
required
New Modrinth version ID

Delete a Mod

Remove a mod from the server.
string
required
The unique identifier of the server
string
required
Path to the mod file to delete

Example: Complete Server Setup