# simplecloud: English Developer

## Developer

### Getting Started

- [Cloud API](https://simplecloud.app/docs/en/developer/overview.md): Build Minecraft plugins that work with your SimpleCloud network
- [Installation](https://simplecloud.app/docs/en/developer/installation.md): Add the Cloud API to your Minecraft plugin

### Cloud API

- [Groups API](https://simplecloud.app/docs/en/developer/api/groups.md): Create, query, update, and delete server groups
- [Servers API](https://simplecloud.app/docs/en/developer/api/servers.md): Find, inspect, update, and stop running server instances
- [Persistent servers API](https://simplecloud.app/docs/en/developer/api/persistent-servers.md): Create, query, update, and delete persistent servers
- [Players API](https://simplecloud.app/docs/en/developer/api/players.md): Look up players, inspect presence, transfer or kick them, and manage player data
- [Events API](https://simplecloud.app/docs/en/developer/api/events.md): Subscribe to group, server, persistent server, and blueprint events

### Guides

- [Transfer a player to another server](https://simplecloud.app/docs/en/developer/guides/player-transfer.md): Connect an online player to a known server and handle the result
- [Route players with autoscaling](https://simplecloud.app/docs/en/developer/guides/server-management.md): Send a player to an available server without managing group capacity yourself
- [React to server availability](https://simplecloud.app/docs/en/developer/guides/event-handling.md): Run your plugin logic when a server becomes available

### REST API Reference

#### admin

- [List all networks (admin only)](https://simplecloud.app/docs/en/developer/api-reference/admin/list-all-networks-admin-only.md): List all networks. Requires admin access.

#### blueprints

- [List blueprints](https://simplecloud.app/docs/en/developer/api-reference/blueprints/list-blueprints.md): Get a list of blueprints for a network
- [Update a blueprint](https://simplecloud.app/docs/en/developer/api-reference/blueprints/update-a-blueprint.md): Update an existing blueprint
- [Create a new blueprint](https://simplecloud.app/docs/en/developer/api-reference/blueprints/create-a-new-blueprint.md): Create a new blueprint for a network
- [Delete a blueprint](https://simplecloud.app/docs/en/developer/api-reference/blueprints/delete-a-blueprint.md): Delete an existing blueprint
- [Partially update a blueprint](https://simplecloud.app/docs/en/developer/api-reference/blueprints/partially-update-a-blueprint.md): Partially update an existing blueprint

#### environment-variables

- [List environment variables](https://simplecloud.app/docs/en/developer/api-reference/environment-variables/list-environment-variables.md): Lists network environment variables with readable values. Values are decrypted by the controller after loading encrypted database rows.
- [Update an environment variable](https://simplecloud.app/docs/en/developer/api-reference/environment-variables/update-an-environment-variable.md): Replaces a readable network environment variable. Its value is encrypted by the controller before it is stored.
- [Create an environment variable](https://simplecloud.app/docs/en/developer/api-reference/environment-variables/create-an-environment-variable.md): Creates a readable network environment variable. Its value is encrypted by the controller before it is stored.
- [Delete an environment variable](https://simplecloud.app/docs/en/developer/api-reference/environment-variables/delete-an-environment-variable.md): Deletes a network environment variable by its key.

#### metrics

- [Query logs with flexible filters](https://simplecloud.app/docs/en/developer/api-reference/metrics/query-logs-with-flexible-filters.md): Query logs using POST body with array-based filters for maximum flexibility
- [Stream logs in real-time via SSE](https://simplecloud.app/docs/en/developer/api-reference/metrics/stream-logs-in-real-time-via-sse.md): Server-Sent Events endpoint for real-time log streaming with filters
- [Query current metric values](https://simplecloud.app/docs/en/developer/api-reference/metrics/query-current-metric-values.md): Get the latest values for a metric, optionally grouped by a label
- [Query metric time series](https://simplecloud.app/docs/en/developer/api-reference/metrics/query-metric-time-series.md): Get time-bucketed metric values for charts, optionally grouped by a label

#### networks

- [Delete a network and all its resources](https://simplecloud.app/docs/en/developer/api-reference/networks/delete-a-network-and-all-its-resources.md): Delete a network and cascade delete all associated resources (servers, groups, blueprints, etc.)
- [Update a network](https://simplecloud.app/docs/en/developer/api-reference/networks/update-a-network.md): Update the authenticated network
- [List network passwords](https://simplecloud.app/docs/en/developer/api-reference/networks/list-network-passwords.md): List all network passwords for the authenticated network
- [Create network password](https://simplecloud.app/docs/en/developer/api-reference/networks/create-network-password.md): Create a new network password for the authenticated network
- [Delete network password](https://simplecloud.app/docs/en/developer/api-reference/networks/delete-network-password.md): Delete a network password from the authenticated network
- [Register a new network](https://simplecloud.app/docs/en/developer/api-reference/networks/register-a-new-network.md): Register a new network and generate credentials
- [Verify network credentials](https://simplecloud.app/docs/en/developer/api-reference/networks/verify-network-credentials.md): Verify if the provided network credentials are valid

#### persistent-servers

- [List persistent servers](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/list-persistent-servers.md): Get a list of persistent servers for a network
- [Update a persistent server](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/update-a-persistent-server.md): Update an existing persistent server
- [Create a new persistent server](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/create-a-new-persistent-server.md): Create a new persistent server for a network
- [Delete a persistent server](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/delete-a-persistent-server.md): Delete an existing persistent server
- [Partially update a persistent server](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/partially-update-a-persistent-server.md): Partially update an existing persistent server
- [Replace persistent server properties](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/replace-persistent-server-properties.md): Replace entire properties object for a persistent server
- [Delete persistent server property keys](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/delete-persistent-server-property-keys.md): Delete specific property keys from a persistent server
- [Merge persistent server properties](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/merge-persistent-server-properties.md): Merge/update specific property keys for a persistent server (deep merge)
- [Execute a manual workflow for all running servers of a persistent server](https://simplecloud.app/docs/en/developer/api-reference/persistent-servers/execute-a-manual-workflow-for-all-running-servers-of-a-persistent-server.md): Execute a configured manual workflow for all eligible running servers of a persistent server

#### players

- [List players](https://simplecloud.app/docs/en/developer/api-reference/players/list-players.md): Get a list of players for a network with optional filtering
- [Partially update a player](https://simplecloud.app/docs/en/developer/api-reference/players/partially-update-a-player.md): Partially update admin-managed player fields like online time and optionally reset first/last seen timestamps to now
- [Connect player to server](https://simplecloud.app/docs/en/developer/api-reference/players/connect-player-to-server.md): Connect a player to a specific server, server group, or persistent server
- [Get player by UUID](https://simplecloud.app/docs/en/developer/api-reference/players/get-player-by-uuid.md): Get a player by their Minecraft UUID
- [Kick a player](https://simplecloud.app/docs/en/developer/api-reference/players/kick-a-player.md): Kick a player from the network
- [Get player by name](https://simplecloud.app/docs/en/developer/api-reference/players/get-player-by-name.md): Get a player by their name
- [List online players](https://simplecloud.app/docs/en/developer/api-reference/players/list-online-players.md): Get a list of online players
- [Get player online time](https://simplecloud.app/docs/en/developer/api-reference/players/get-player-online-time.md): Get total online time for a player on this network
- [Get online player count](https://simplecloud.app/docs/en/developer/api-reference/players/get-online-player-count.md): Get the count of online players
- [List player profiles](https://simplecloud.app/docs/en/developer/api-reference/players/list-player-profiles.md): Get a player's profile history (name/skin changes)
- [Get latest player profile](https://simplecloud.app/docs/en/developer/api-reference/players/get-latest-player-profile.md): Get the most recent profile (name/skin) for a player
- [Get player properties](https://simplecloud.app/docs/en/developer/api-reference/players/get-player-properties.md): Get custom properties for a player
- [Update player properties](https://simplecloud.app/docs/en/developer/api-reference/players/update-player-properties.md): Replace all player properties
- [Delete player properties](https://simplecloud.app/docs/en/developer/api-reference/players/delete-player-properties.md): Delete specific property keys
- [Patch player properties](https://simplecloud.app/docs/en/developer/api-reference/players/patch-player-properties.md): Merge properties with existing ones
- [List player sessions](https://simplecloud.app/docs/en/developer/api-reference/players/list-player-sessions.md): Get session history for a player on this network
- [Get current session](https://simplecloud.app/docs/en/developer/api-reference/players/get-current-session.md): Get the current active session for an online player
- [Get client settings](https://simplecloud.app/docs/en/developer/api-reference/players/get-client-settings.md): Get client settings for an online player's current session
- [Update client settings](https://simplecloud.app/docs/en/developer/api-reference/players/update-client-settings.md): Update client settings for an online player's current session

#### plugin-assignments

- [List plugin assignments](https://simplecloud.app/docs/en/developer/api-reference/plugin-assignments/list-plugin-assignments.md): Get a list of plugin assignments for a network, optionally filtered by server group or persistent server
- [Update a plugin assignment](https://simplecloud.app/docs/en/developer/api-reference/plugin-assignments/update-a-plugin-assignment.md): Update the plugin metadata for an existing assignment without deleting it first
- [Create a new plugin assignment](https://simplecloud.app/docs/en/developer/api-reference/plugin-assignments/create-a-new-plugin-assignment.md): Assign a plugin to a server group or persistent server. You can either provide a plugin_id to use an existing plugin, or provide plugin_name, source_type, and source_value to find or create the plugin automatically.
- [Delete a plugin assignment](https://simplecloud.app/docs/en/developer/api-reference/plugin-assignments/delete-a-plugin-assignment.md): Delete an existing plugin assignment
- [Bulk create plugin assignments](https://simplecloud.app/docs/en/developer/api-reference/plugin-assignments/bulk-create-plugin-assignments.md): Assign one or more plugins to multiple server groups and persistent servers atomically
- [Bulk delete plugin assignments](https://simplecloud.app/docs/en/developer/api-reference/plugin-assignments/bulk-delete-plugin-assignments.md): Delete multiple plugin assignments in one request

#### plugin-collection-assignments

- [List plugin collection installations](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-assignments/list-plugin-collection-installations.md): Get plugin collection installations for a network, optionally filtered by target
- [Install a plugin collection on a target](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-assignments/install-a-plugin-collection-on-a-target.md): Install a plugin collection on a server group or persistent server and materialize normal plugin assignments
- [Delete a plugin collection installation](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-assignments/delete-a-plugin-collection-installation.md): Delete a plugin collection installation without deleting the normal plugin assignments created from it
- [Bulk install a plugin collection on targets](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-assignments/bulk-install-a-plugin-collection-on-targets.md): Install a plugin collection on multiple server groups and persistent servers atomically
- [Reapply plugin collection assignments](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-assignments/reapply-plugin-collection-assignments.md): Materialize missing plugin assignments from existing plugin collection assignments

#### plugin-collection-plugins

- [List plugins in a plugin collection](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-plugins/list-plugins-in-a-plugin-collection.md): Get the plugins configured for a plugin collection
- [Add a plugin to a plugin collection](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-plugins/add-a-plugin-to-a-plugin-collection.md): Add a plugin reference to a plugin collection without modifying existing assignments
- [Delete a plugin from a plugin collection](https://simplecloud.app/docs/en/developer/api-reference/plugin-collection-plugins/delete-a-plugin-from-a-plugin-collection.md): Delete a plugin from a plugin collection without deleting existing assignments created from it

#### plugin-collections

- [List plugin collections](https://simplecloud.app/docs/en/developer/api-reference/plugin-collections/list-plugin-collections.md): Get a list of plugin collections for a network
- [Update a plugin collection](https://simplecloud.app/docs/en/developer/api-reference/plugin-collections/update-a-plugin-collection.md): Update an existing plugin collection
- [Create a plugin collection](https://simplecloud.app/docs/en/developer/api-reference/plugin-collections/create-a-plugin-collection.md): Create a new plugin collection for a network
- [Delete a plugin collection](https://simplecloud.app/docs/en/developer/api-reference/plugin-collections/delete-a-plugin-collection.md): Delete a plugin collection without deleting existing plugin assignments created from it

#### plugins

- [List plugins](https://simplecloud.app/docs/en/developer/api-reference/plugins/list-plugins.md): Get a list of plugins for a network
- [Update a plugin](https://simplecloud.app/docs/en/developer/api-reference/plugins/update-a-plugin.md): Update an existing plugin
- [Create a new plugin](https://simplecloud.app/docs/en/developer/api-reference/plugins/create-a-new-plugin.md): Create a new plugin for a network
- [Delete a plugin](https://simplecloud.app/docs/en/developer/api-reference/plugins/delete-a-plugin.md): Delete an existing plugin

#### secrets

- [List stored network secrets](https://simplecloud.app/docs/en/developer/api-reference/secrets/list-stored-network-secrets.md): List the keys of all stored network secrets. Secret values are never returned.
- [Delete a stored network secret](https://simplecloud.app/docs/en/developer/api-reference/secrets/delete-a-stored-network-secret.md): Delete a stored network secret by its key
- [List stored network secrets with encrypted values](https://simplecloud.app/docs/en/developer/api-reference/secrets/list-stored-network-secrets-with-encrypted-values.md): List all stored network secrets including their encrypted values. Intended for serverhosts, which decrypt the values with the shared private key. Values are ciphertext; the controller cannot decrypt them.
- [Update a client-encrypted network secret](https://simplecloud.app/docs/en/developer/api-reference/secrets/update-a-client-encrypted-network-secret.md): Replaces an existing secret with a v1 envelope encrypted by the client with the network's current public key. The controller validates the envelope structure and key fingerprint but cannot decrypt or authenticate the ciphertext.
- [Create a client-encrypted network secret](https://simplecloud.app/docs/en/developer/api-reference/secrets/create-a-client-encrypted-network-secret.md): Creates a secret from a v1 envelope encrypted by the client with the network's current public key. The controller validates the envelope structure and key fingerprint but cannot decrypt or authenticate the ciphertext.
- [Get the network shared public key](https://simplecloud.app/docs/en/developer/api-reference/secrets/get-the-network-shared-public-key.md): Get the public half of the network's shared encryption key, registered by the first serverhost of the network
- [Register the network shared public key](https://simplecloud.app/docs/en/developer/api-reference/secrets/register-the-network-shared-public-key.md): Register a shared public key for this network. The first registration wins atomically; if a key already exists, accepted is false and the canonical key is returned so the serverhost can sync the matching private key from its peers instead.

#### server-groups

- [List server groups](https://simplecloud.app/docs/en/developer/api-reference/server-groups/list-server-groups.md): Get a list of server groups for a network
- [Update a server group](https://simplecloud.app/docs/en/developer/api-reference/server-groups/update-a-server-group.md): Update an existing server group
- [Create a new server group](https://simplecloud.app/docs/en/developer/api-reference/server-groups/create-a-new-server-group.md): Create a new server group for a network
- [Delete a server group](https://simplecloud.app/docs/en/developer/api-reference/server-groups/delete-a-server-group.md): Delete an existing server group
- [Partially update a server group](https://simplecloud.app/docs/en/developer/api-reference/server-groups/partially-update-a-server-group.md): Partially update an existing server group
- [Replace server group properties](https://simplecloud.app/docs/en/developer/api-reference/server-groups/replace-server-group-properties.md): Replace entire properties object for a server group
- [Delete server group property keys](https://simplecloud.app/docs/en/developer/api-reference/server-groups/delete-server-group-property-keys.md): Delete specific property keys from a server group
- [Merge server group properties](https://simplecloud.app/docs/en/developer/api-reference/server-groups/merge-server-group-properties.md): Merge/update specific property keys for a server group (deep merge)
- [Get rolling restart status](https://simplecloud.app/docs/en/developer/api-reference/server-groups/get-rolling-restart-status.md): Get the status of a rolling restart for a server group
- [Start a rolling restart](https://simplecloud.app/docs/en/developer/api-reference/server-groups/start-a-rolling-restart.md): Start a durable rolling restart for a server group using SLOTS scaling mode. Other scaling modes return 400. Restarts servers one by one while ensuring availability.
- [Cancel a rolling restart](https://simplecloud.app/docs/en/developer/api-reference/server-groups/cancel-a-rolling-restart.md): Cancel an in-progress rolling restart for a server group
- [List queued server group starts](https://simplecloud.app/docs/en/developer/api-reference/server-groups/list-queued-server-group-starts.md): List queued server starts aggregated by server group
- [Queue a server group start](https://simplecloud.app/docs/en/developer/api-reference/server-groups/queue-a-server-group-start.md): Persist one queued server start for a server group that will be executed by the reconciler on the next tick
- [Clear queued server group starts](https://simplecloud.app/docs/en/developer/api-reference/server-groups/clear-queued-server-group-starts.md): Clear all queued server starts for one server group
- [Stop all servers in a server group](https://simplecloud.app/docs/en/developer/api-reference/server-groups/stop-all-servers-in-a-server-group.md): Send stop commands to all running servers in a server group
- [Execute a manual workflow for all running servers in a server group](https://simplecloud.app/docs/en/developer/api-reference/server-groups/execute-a-manual-workflow-for-all-running-servers-in-a-server-group.md): Execute a configured manual workflow for all eligible servers in a server group

#### serverhosts

- [Resolve a serverhost gateway target](https://simplecloud.app/docs/en/developer/api-reference/serverhosts/resolve-a-serverhost-gateway-target.md): Resolve and mark a serverhost gateway connection for a network
- [List serverhosts](https://simplecloud.app/docs/en/developer/api-reference/serverhosts/list-serverhosts.md): Get a list of serverhosts for a network
- [Update a serverhost](https://simplecloud.app/docs/en/developer/api-reference/serverhosts/update-a-serverhost.md): Update an existing serverhost
- [Delete a serverhost](https://simplecloud.app/docs/en/developer/api-reference/serverhosts/delete-a-serverhost.md): Delete an existing serverhost
- [Deactivate or reactivate a serverhost](https://simplecloud.app/docs/en/developer/api-reference/serverhosts/deactivate-or-reactivate-a-serverhost.md): Deactivate or reactivate a serverhost to prevent/allow new server allocations
- [Register a new serverhost](https://simplecloud.app/docs/en/developer/api-reference/serverhosts/register-a-new-serverhost.md): Register a new serverhost for a network
- [Verify a serverhost](https://simplecloud.app/docs/en/developer/api-reference/serverhosts/verify-a-serverhost.md): Verify if a serverhost exists and belongs to the specified network

#### servers

- [List servers](https://simplecloud.app/docs/en/developer/api-reference/servers/list-servers.md): Get a list of servers for a network with optional filters. Returns comprehensive server information including server group or persistent server details, blueprint information, and workflow configurations. Filters for type, name, and tags work with both server groups and persistent servers.
- [Stop a server](https://simplecloud.app/docs/en/developer/api-reference/servers/stop-a-server.md): Stop an existing server
- [Partially update a server](https://simplecloud.app/docs/en/developer/api-reference/servers/partially-update-a-server.md): Partially update an existing server's configuration. Runtime observation fields such as player_count are read-only.
- [Send command to server](https://simplecloud.app/docs/en/developer/api-reference/servers/send-command-to-server.md): Send a command to a running server via NATS
- [Delete a server row from the database](https://simplecloud.app/docs/en/developer/api-reference/servers/delete-a-server-row-from-the-database.md): Delete a server row from the database without stopping the server or publishing events
- [Replace server properties](https://simplecloud.app/docs/en/developer/api-reference/servers/replace-server-properties.md): Replace entire properties object for a server
- [Delete server property keys](https://simplecloud.app/docs/en/developer/api-reference/servers/delete-server-property-keys.md): Delete specific property keys from a server
- [Merge server properties](https://simplecloud.app/docs/en/developer/api-reference/servers/merge-server-properties.md): Merge/update specific property keys for a server (deep merge)
- [Execute a manual workflow for a server](https://simplecloud.app/docs/en/developer/api-reference/servers/execute-a-manual-workflow-for-a-server.md): Execute a configured manual workflow for a running server

#### stats

- [Get cloud statistics](https://simplecloud.app/docs/en/developer/api-reference/stats/get-cloud-statistics.md): Get aggregated statistics for the network including server counts, player stats, resource utilization, and health status

## OpenAPI Specs

- [doc](https://controller.simplecloud.app/swagger/doc.json)
