Sign inCreate server
API

Client API (v1)

Programmatic access to manage your VPS/VDS services — power control and firewall, scoped to your own account.

3 min read#api#api key#automation#reseller

Programmatic access to the VPS/VDS services in your Solume account — built for resellers and automation. Every request is scoped to your own account: you can only see and control services that belong to you, never anyone else's.

Authentication

Every request must include your API key as a Bearer token:

texto
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx

Generate a key from your dashboard under Account → API Keys. The full key is shown to you only once, right after you create it — copy it somewhere safe. Solume never stores it in plain text and can't show it to you again; if you lose it, revoke it and generate a new one.

IP allowlist (required — read this first)

For security, an API key only works from IP addresses that Solume staff has explicitly authorized for that specific key. A brand-new key rejects every single request until at least one IP has been authorized — this is intentional, not a bug.

To authorize an IP:

  1. Open a support ticket from your dashboard.
  2. Ask to authorize your IP address(es) for your API key.
  3. Include the exact IP address(es) you'll call the API from, and the name of the key (shown in Account → API Keys).

A staff member will link the IP(s) to your key. Requests from a non-authorized IP always get 403 Forbidden, even with an otherwise valid key.

Base URL

texto
https://api.solumecore.com/v1

Rate limits

Each group of actions (reading, power control, firewall) has its own limit. Current limit and remaining quota are returned on every response as x-ratelimit-limit / x-ratelimit-remaining headers. Going over a limit returns 429 Too Many Requests.

Errors

Errors always come back as:

json
{ "error": "human-readable message" }

with a matching HTTP status: 400 (bad input), 403 (not your service, or IP not authorized), 404 (not found), 429 (rate limited), 502 (upstream/infrastructure problem — safe to retry).

Endpoints

List your services

texto
GET /v1/services

Returns an array of the services that belong to your account: id, public code (e.g. vps-1000), hostname, state, plan, primary IP.

Get one service

texto
GET /v1/services/:id

:id accepts either the internal id or the public code shown in your dashboard (e.g. vps-1000).

Power control

texto
POST /v1/services/:id/power/:action

:action is one of start, stop, restart.

Firewall — read current rules

texto
GET /v1/services/:id/firewall

Returns the full firewall state for that service: geo-blocking, ASN blocks, whitelist, ports, protections, ban list, recent attacks.

Firewall — apply a rule

texto
POST /v1/services/:id/firewall/:feature

:feature and the matching JSON body:

feature body
geoblock { "country": "US" }
srcwl { "cidr": "1.2.3.4/32" }
asn-block { "asn": "4837" }
tcp-allow-perdst / udp-allow-perdst / syn-gate { "port": 25565 }
ports-fivem / ports-rdp / ports-ssh { "port": 25565 }
rdp-filter / ssh-filter / udp-strict { "enabled": true }
geoblock-policy { "policy": 0 } (0 = blacklist, 1 = whitelist)
filter-mode { "mode": "filter" } (or "drop")
blacklist { "src_addr": "5.6.7.8" }

Firewall — remove a rule

texto
DELETE /v1/services/:id/firewall/:feature

Same body shape as the matching POST (some features don't support removal — see the response message).

Example

bash
curl -X POST https://api.solumecore.com/v1/services/vps-1000/power/restart \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx"
bash
curl -X POST https://api.solumecore.com/v1/services/vps-1000/firewall/geoblock \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"country":"CN"}'

Support

Questions, or need to authorize a new IP for your key? Open a support ticket from your dashboard.

Was this article helpful?
Client API (v1)