Documentation

Restore Hub API

AdminUpdated Sep 20, 2026

Public

GEThttps://api.restorehub.net/api/v1/openapi.json
Get this OpenAPI spec

Public — no authentication required.

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/openapi.json"
GEThttps://api.restorehub.net/api/v1/public/templates
List public marketplace templates

Public — no authentication required.

Parameters
NameInTypeRequiredDescription
pagequeryintegerno
limitqueryintegerno
categoryquerystringno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/public/templates"
GEThttps://api.restorehub.net/api/v1/public/templates/{id}
Get a public template

Public — no authentication required.

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/public/templates/{id}"

Widget

GEThttps://api.restorehub.net/api/v1/.well-known/jwks.json
Get the JWKS used to sign widget JWTs (RS256, public)

Public — no authentication required.

Responses
200 JWKS document
{
  "keys": [
    {
      "kty": "RSA",
      "kid": "string",
      "alg": "RS256",
      "use": "sig",
      "n": "string",
      "e": "string"
    }
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/.well-known/jwks.json"
POSThttps://api.restorehub.net/api/v1/widget/verify-token
Verify a widget JWT and return the decoded Discord identity

Public — no authentication required.

Request body application/json
{
  "token": "string"
}
Responses
200 Decoded payload
{
  "valid": true,
  "user": {
    "id": "string",
    "username": "string",
    "avatar": null,
    "globalName": null,
    "discriminator": null,
    "banner": null,
    "accentColor": null,
    "locale": null,
    "mfaEnabled": null,
    "premiumType": null,
    "publicFlags": null,
    "email": null,
    "emailVerified": null,
    "phoneVerified": null,
    "accountCreatedAt": null
  },
  "serverId": "string",
  "discordGuildId": "string",
  "issuedAt": "2024-01-01T00:00:00Z",
  "expiresAt": "2024-01-01T00:00:00Z"
}
400 Invalid request body
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Invalid or expired token
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit (100/min per IP)
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/widget/verify-token" \
  -H "Content-Type: application/json" \
  -d '{
  "token": "string"
}'
POSThttps://api.restorehub.net/api/v1/widget/access-token
Trade a widget JWT for the verified member's Discord OAuth access_token + refresh_token. Requires the server owner to enable 'Share Discord OAuth tokens with widget integrators' in dashboard widget settings.

Public — no authentication required.

Request body application/json
{
  "token": "string"
}
Responses
200 Discord OAuth tokens for the verified member
{
  "accessToken": "string",
  "refreshToken": "string",
  "expiresAt": "2024-01-01T00:00:00Z",
  "discordUserId": "string",
  "serverId": "string",
  "tokenType": "string"
}
400 Invalid request body
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Invalid or expired widget JWT
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Server owner has not enabled OAuth-token sharing. Error code ACCESS_TOKEN_SHARE_DISABLED. The owner must flip the toggle in Dashboard → Widget → 'Share Discord OAuth tokens'.
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Server or verified member record not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit (60/min per IP)
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
500 Decrypt failed — member may need to re-verify
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/widget/access-token" \
  -H "Content-Type: application/json" \
  -d '{
  "token": "string"
}'
POSThttps://api.restorehub.net/api/v1/widget/refresh-token
Refresh an expired Discord access_token using a refresh_token previously obtained from /widget/access-token. Proxies through Discord's /oauth2/token endpoint using the server's OAuth credentials (which the integrator doesn't have). Requires scopeAccessTokenShare.

Public — no authentication required.

Request body application/json
{
  "refreshToken": "string",
  "serverId": "string"
}
Responses
200 New Discord OAuth tokens
{
  "accessToken": "string",
  "refreshToken": "string",
  "expiresAt": "2024-01-01T00:00:00Z",
  "scope": null,
  "serverId": "string",
  "tokenType": "string"
}
400 Invalid request body
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Discord rejected the refresh. Error code REFRESH_TOKEN_INVALID — the token may have been revoked, expired, or already used (Discord rotates).
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 scopeAccessTokenShare not enabled on this server
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Server or bot not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit (60/min per IP)
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
500 Internal decrypt failure
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
502 Could not reach Discord
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/widget/refresh-token" \
  -H "Content-Type: application/json" \
  -d '{
  "refreshToken": "string",
  "serverId": "string"
}'
GEThttps://api.restorehub.net/api/v1/servers/{id}/widget/domain-connect-url
Build a 1-click Domain Connect apply URL for the requested domain. Returns { supported:false } if the domain's DNS provider does not support Domain Connect — the manual TXT flow remains available.

Required scope: `widget:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/widget/domain-connect-url"

Account

GEThttps://api.restorehub.net/api/v1/account
Get the authenticated account

Required scope: `account:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/account"
PUThttps://api.restorehub.net/api/v1/account
Update account profile + notification preferences

Required scope: `account:write`

Request body application/json
{
  "displayName": "string",
  "locale": "en",
  "notifyAccountChanges": true,
  "notifyVerifyLogs": true,
  "notifyTeamInvites": true,
  "notifyUpgrades": true,
  "notifyMemberPulls": true,
  "notifyBackups": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/account" \
  -H "Content-Type: application/json" \
  -d '{
  "displayName": "string",
  "locale": "en",
  "notifyAccountChanges": true,
  "notifyVerifyLogs": true,
  "notifyTeamInvites": true,
  "notifyUpgrades": true,
  "notifyMemberPulls": true,
  "notifyBackups": true
}'
DELETEhttps://api.restorehub.net/api/v1/account
Delete the authenticated account (requires '*' scope)

Required scope: `account:delete`

Request body application/json
{
  "password": "string",
  "mfaCode": "string",
  "confirm": "delete-my-account"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/account" \
  -H "Content-Type: application/json" \
  -d '{
  "password": "string",
  "mfaCode": "string",
  "confirm": "delete-my-account"
}'
PUThttps://api.restorehub.net/api/v1/account/password
Change password (requires MFA if enabled)

Required scope: `account:write`

Request body application/json
{
  "currentPassword": "string",
  "newPassword": "string",
  "mfaCode": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/account/password" \
  -H "Content-Type: application/json" \
  -d '{
  "currentPassword": "string",
  "newPassword": "string",
  "mfaCode": "string"
}'
POSThttps://api.restorehub.net/api/v1/account/mfa/enable
Enable MFA in one shot, returns secret + QR + 10 single-use recovery codes (returned once)

Required scope: `account:write`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/enable"
POSThttps://api.restorehub.net/api/v1/account/mfa/disable
Disable MFA (password required)

Required scope: `account:write`

Request body application/json
{
  "password": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/disable" \
  -H "Content-Type: application/json" \
  -d '{
  "password": "string"
}'
GEThttps://api.restorehub.net/api/v1/account/sessions
List active login sessions

Required scope: `account:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/account/sessions"
DELETEhttps://api.restorehub.net/api/v1/account/sessions/{id}
Revoke a login session

Required scope: `account:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/account/sessions/{id}"
DELETEhttps://api.restorehub.net/api/v1/account/sessions/all
Revoke all active login sessions

Required scope: `account:write`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/account/sessions/all"
POSThttps://api.restorehub.net/api/v1/account/email/change
Initiate email change (sends OTP to the new address)

Required scope: `account:write`

Request body application/json
{
  "newEmail": "string",
  "password": "string",
  "mfaCode": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/email/change" \
  -H "Content-Type: application/json" \
  -d '{
  "newEmail": "string",
  "password": "string",
  "mfaCode": "string"
}'
POSThttps://api.restorehub.net/api/v1/account/email/verify
Confirm email change with OTP

Required scope: `account:write`

Request body application/json
{
  "newEmail": "string",
  "token": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/email/verify" \
  -H "Content-Type: application/json" \
  -d '{
  "newEmail": "string",
  "token": "string"
}'
POSThttps://api.restorehub.net/api/v1/account/transfer
Transfer the account to another email (requires '*' scope)

Required scope: `account:delete`

Request body application/json
{
  "targetEmail": "string",
  "password": "string",
  "mfaCode": "string",
  "confirm": "transfer-account"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/transfer" \
  -H "Content-Type: application/json" \
  -d '{
  "targetEmail": "string",
  "password": "string",
  "mfaCode": "string",
  "confirm": "transfer-account"
}'
POSThttps://api.restorehub.net/api/v1/account/discord/unlink
Unlink the linked Discord account

Required scope: `account:link`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/discord/unlink"
POSThttps://api.restorehub.net/api/v1/account/discord/relink
Get a Discord OAuth URL to re-grant guilds scope

Required scope: `account:link`

Request body application/json
{
  "botId": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/discord/relink" \
  -H "Content-Type: application/json" \
  -d '{
  "botId": "string"
}'
POSThttps://api.restorehub.net/api/v1/account/mfa/setup
Begin MFA setup (returns secret + QR; does NOT enable MFA)

Required scope: `account:write`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/setup"
POSThttps://api.restorehub.net/api/v1/account/mfa/verify
Verify TOTP, enable MFA, and return 10 single-use recovery codes (returned once)

Required scope: `account:write`

Request body application/json
{
  "code": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/verify" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "string"
}'
POSThttps://api.restorehub.net/api/v1/account/mfa/recovery-codes
Regenerate MFA recovery codes — invalidates the prior batch and returns 10 new plaintext codes ONCE

Required scope: `account:write`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/recovery-codes"
GEThttps://api.restorehub.net/api/v1/account/verified-emails
List the user's verified alert-recipient emails

Required scope: `account:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/account/verified-emails"
POSThttps://api.restorehub.net/api/v1/account/verified-emails
Send a verification link to an email so it can be used as an alert recipient (24h expiry)

Required scope: `account:write`

Request body application/json
{
  "email": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/verified-emails" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "string"
}'
POSThttps://api.restorehub.net/api/v1/account/verified-emails/verify
Confirm an email-verification token sent to the email

Required scope: `account:write`

Request body application/json
{
  "token": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/account/verified-emails/verify" \
  -H "Content-Type: application/json" \
  -d '{
  "token": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/account/verified-emails/{id}
Remove a verified email from the registry

Required scope: `account:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/account/verified-emails/{id}"

Servers

GEThttps://api.restorehub.net/api/v1/servers
List your servers

Required scope: `servers:read`

Parameters
NameInTypeRequiredDescription
pagequeryintegerno
limitqueryintegerno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers"
POSThttps://api.restorehub.net/api/v1/servers
Register a new server

Required scope: `servers:write`

Request body application/json
{
  "discordGuildId": "string",
  "customBotId": "string",
  "name": "string",
  "verifiedRoleId": "string",
  "logChannelId": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers" \
  -H "Content-Type: application/json" \
  -d '{
  "discordGuildId": "string",
  "customBotId": "string",
  "name": "string",
  "verifiedRoleId": "string",
  "logChannelId": "string"
}'
GEThttps://api.restorehub.net/api/v1/servers/{id}
Get a server

Required scope: `servers:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}"
PUThttps://api.restorehub.net/api/v1/servers/{id}
Update server settings (partial)

Required scope: `servers:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}" \
  -H "Content-Type: application/json" \
  -d '{}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}
Delete a server

Required scope: `servers:delete`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}"
POSThttps://api.restorehub.net/api/v1/servers/{id}/refresh-discord
Re-fetch the guild's name/icon/memberCount from Discord

Required scope: `servers:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/refresh-discord"

Analytics

GEThttps://api.restorehub.net/api/v1/servers/{id}/analytics
Server analytics with funnel, device/geo breakdown, daily growth, recent verifications, and blocked-reason categorization

Required scope: `analytics:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
periodquerystringno
Responses
200 Analytics payload
{
  "data": {
    "period": "7d",
    "server": {
      "id": "string",
      "name": "string"
    },
    "totalMembers": 0,
    "pullableMembers": 0,
    "recentVerifications": 0,
    "pageViews": 0,
    "conversionRate": 0,
    "conversionRateLabel": "string",
    "funnel": {},
    "funnelData": [
      {
        "name": "string",
        "value": 0
      }
    ],
    "totalCompleted": 0,
    "totalBlocked": 0,
    "totalPageViews": 0,
    "deviceData": [
      {
        "name": "string",
        "value": 0
      }
    ],
    "geoData": [
      {
        "country": "string",
        "count": 0
      }
    ],
    "growthData": [
      {
        "date": "string",
        "members": 0
      }
    ],
    "uniqueDevices": 0,
    "recentVerificationsList": [
      {
        "id": "string",
        "discordUsername": "string",
        "discordUserId": "string",
        "timestamp": "2024-01-01T00:00:00Z",
        "ipAddress": "string",
        "country": "string",
        "device": "string",
        "status": "completed",
        "blockReason": "string"
      }
    ],
    "blockedBreakdown": {
      "vpn": 0,
      "alt": 0,
      "blacklist": 0,
      "wireless": 0,
      "firewall": 0,
      "captcha": 0,
      "other": 0
    }
  }
}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/analytics"
GEThttps://api.restorehub.net/api/v1/overview
Cross-server account overview — daily verification chart, per-server stats, top countries, recent members and pulls

Required scope: `analytics:read`

Responses
200 Account-level dashboard view
{
  "data": {
    "serverCount": 0,
    "totalVerified": 0,
    "stillAuthed": 0,
    "churned": 0,
    "servers": [
      {
        "id": "string",
        "name": "string",
        "icon": "string",
        "memberCount": 0,
        "discordGuildId": "string",
        "chartColor": "string",
        "verified": 0,
        "pullable": 0,
        "churned": 0
      }
    ],
    "serverNames": [
      "string"
    ],
    "serverColorMap": {},
    "chartData": [
      {
        "date": "string"
      }
    ],
    "recentPulls": [
      {
        "id": "string",
        "serverName": "string",
        "serverIcon": "string",
        "status": "string",
        "pulledCount": 0,
        "totalMembers": 0,
        "createdAt": "2024-01-01T00:00:00Z"
      }
    ],
    "topCountries": [
      {
        "code": "string",
        "count": 0
      }
    ],
    "recentMembers": [
      {
        "id": "string",
        "discordUserId": "string",
        "discordUsername": "string",
        "avatar": "string",
        "verifiedAt": "2024-01-01T00:00:00Z",
        "serverName": "string",
        "serverId": "string"
      }
    ]
  }
}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/overview"

ServerConfig

GEThttps://api.restorehub.net/api/v1/servers/{id}/security
Get security config

Required scope: `servers:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/security"
PUThttps://api.restorehub.net/api/v1/servers/{id}/security
Update security config

Required scope: `servers:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/security" \
  -H "Content-Type: application/json" \
  -d '{}'
GEThttps://api.restorehub.net/api/v1/servers/{id}/verify-page
Get verify page config

Required scope: `verify-page:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/verify-page"
PUThttps://api.restorehub.net/api/v1/servers/{id}/verify-page
Update verify page config

Required scope: `verify-page:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/verify-page" \
  -H "Content-Type: application/json" \
  -d '{}'
GEThttps://api.restorehub.net/api/v1/servers/{id}/verify-variants
List verify-page A/B variants

Required scope: `verify-page:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/verify-variants"
POSThttps://api.restorehub.net/api/v1/servers/{id}/verify-variants
Create a verify-page variant

Required scope: `verify-page:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "name": "string",
  "config": {}
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/verify-variants" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "config": {}
}'
PUThttps://api.restorehub.net/api/v1/servers/{id}/verify-variants/reorder
Bulk reorder verify-page variants by priority (one transaction)

Required scope: `verify-page:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "order": [
    {
      "id": "string",
      "priority": 0
    }
  ]
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/verify-variants/reorder" \
  -H "Content-Type: application/json" \
  -d '{
  "order": [
    {
      "id": "string",
      "priority": 0
    }
  ]
}'
PUThttps://api.restorehub.net/api/v1/servers/{id}/verify-variants/{variantId}
Update a variant

Required scope: `verify-page:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
variantIdpathstringyes
Request body application/json
{
  "name": "string",
  "config": {},
  "weight": 0,
  "enabled": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/verify-variants/{variantId}" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "config": {},
  "weight": 0,
  "enabled": true
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/verify-variants/{variantId}
Delete a variant

Required scope: `verify-page:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
variantIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/verify-variants/{variantId}"
GEThttps://api.restorehub.net/api/v1/servers/{id}/widget
Get widget config

Required scope: `widget:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/widget"
PUThttps://api.restorehub.net/api/v1/servers/{id}/widget
Update widget config

Required scope: `widget:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/widget" \
  -H "Content-Type: application/json" \
  -d '{}'
GEThttps://api.restorehub.net/api/v1/servers/{id}/passwords
List server passwords

Required scope: `servers:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/passwords"
POSThttps://api.restorehub.net/api/v1/servers/{id}/passwords
Create a server password

Required scope: `servers:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "password": "string",
  "label": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/passwords" \
  -H "Content-Type: application/json" \
  -d '{
  "password": "string",
  "label": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/passwords
Bulk delete server passwords. Body { ids?: string[] }; if ids is omitted, deletes ALL passwords on the server.

Required scope: `servers:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "ids": [
    "string"
  ]
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/passwords" \
  -H "Content-Type: application/json" \
  -d '{
  "ids": [
    "string"
  ]
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/passwords/{passwordId}
Delete a server password

Required scope: `servers:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
passwordIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/passwords/{passwordId}"
GEThttps://api.restorehub.net/api/v1/servers/{id}/discovery
Get discovery listing

Required scope: `servers:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/discovery"
PUThttps://api.restorehub.net/api/v1/servers/{id}/discovery
Update discovery listing

Required scope: `servers:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/discovery" \
  -H "Content-Type: application/json" \
  -d '{}'

Bots

GEThttps://api.restorehub.net/api/v1/bots
List custom bots

Required scope: `bots:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/bots"
POSThttps://api.restorehub.net/api/v1/bots
Add a custom bot

Required scope: `bots:write`

Request body application/json
{
  "name": "string",
  "applicationId": "string",
  "token": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/bots" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "applicationId": "string",
  "token": "string"
}'
GEThttps://api.restorehub.net/api/v1/bots/{botId}
Get a custom bot

Required scope: `bots:read`

Parameters
NameInTypeRequiredDescription
botIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/bots/{botId}"
PUThttps://api.restorehub.net/api/v1/bots/{botId}
Update a custom bot

Required scope: `bots:write`

Parameters
NameInTypeRequiredDescription
botIdpathstringyes
Request body application/json
{
  "name": "string",
  "avatar": "string",
  "redirectUri": "string",
  "isActive": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/bots/{botId}" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "avatar": "string",
  "redirectUri": "string",
  "isActive": true
}'
DELETEhttps://api.restorehub.net/api/v1/bots/{botId}
Delete a custom bot

Required scope: `bots:delete`

Parameters
NameInTypeRequiredDescription
botIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/bots/{botId}"
PUThttps://api.restorehub.net/api/v1/bots/{botId}/presence
Set bot presence (status + activity)

Required scope: `bots:write`

Parameters
NameInTypeRequiredDescription
botIdpathstringyes
Request body application/json
{
  "status": "ONLINE",
  "activityType": "PLAYING",
  "activityText": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/bots/{botId}/presence" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "ONLINE",
  "activityType": "PLAYING",
  "activityText": "string"
}'
POSThttps://api.restorehub.net/api/v1/bots/{botId}/transfer
Transfer bot ownership (also moves all servers using it; requires bots:delete)

Required scope: `bots:delete`

Parameters
NameInTypeRequiredDescription
botIdpathstringyes
Request body application/json
{
  "email": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/bots/{botId}/transfer" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "string"
}'
GEThttps://api.restorehub.net/api/v1/bots/{botId}/guilds
Discord guilds this bot is currently in (excludes already-registered)

Required scope: `bots:read`

Parameters
NameInTypeRequiredDescription
botIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/bots/{botId}/guilds"
GEThttps://api.restorehub.net/api/v1/bots/{botId}/guilds/{guildId}/roles
Assignable roles for a guild via this bot

Required scope: `bots:read`

Parameters
NameInTypeRequiredDescription
botIdpathstringyes
guildIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/bots/{botId}/guilds/{guildId}/roles"

Members

GEThttps://api.restorehub.net/api/v1/servers/{id}/members
List verified members

Required scope: `members:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
pagequeryintegerno
limitqueryintegerno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/members"
POSThttps://api.restorehub.net/api/v1/servers/{id}/pull
Trigger a member pull

Required scope: `members:pull`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "targetGuildId": "string",
  "limit": 0,
  "roleIds": [
    "string"
  ]
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/pull" \
  -H "Content-Type: application/json" \
  -d '{
  "targetGuildId": "string",
  "limit": 0,
  "roleIds": [
    "string"
  ]
}'
GEThttps://api.restorehub.net/api/v1/pulls/{id}
Get pull job status

Required scope: `members:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/pulls/{id}"
GEThttps://api.restorehub.net/api/v1/servers/{id}/members/{memberId}
Member detail — decrypted email/IP, verification history, account-age

Required scope: `members:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
memberIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/members/{memberId}"
POSThttps://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/kick
Kick a verified member (deletes member record from RestoreHub)

Required scope: `members:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
memberIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/kick"
POSThttps://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/dm
Send a direct message to a single member

Required scope: `members:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
memberIdpathstringyes
Request body application/json
{
  "message": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/dm" \
  -H "Content-Type: application/json" \
  -d '{
  "message": "string"
}'
POSThttps://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/pull
Pull a single member back into the source guild

Required scope: `members:pull`

Parameters
NameInTypeRequiredDescription
idpathstringyes
memberIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/pull"
POSThttps://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/blacklist
Blacklist a member (server-scoped by default)

Required scope: `blacklist:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
memberIdpathstringyes
Request body application/json
{
  "reason": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/members/{memberId}/blacklist" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'
POSThttps://api.restorehub.net/api/v1/servers/{id}/mass-verify
Enqueue a mass-verify job (returns 202 + jobId; poll /v1/jobs/{jobId})

Required scope: `members:mass-verify`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "tokens": [
    "string"
  ],
  "roleId": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/mass-verify" \
  -H "Content-Type: application/json" \
  -d '{
  "tokens": [
    "string"
  ],
  "roleId": "string"
}'
POSThttps://api.restorehub.net/api/v1/servers/{id}/massdm
Enqueue a mass-DM job (returns 202 + jobId; poll /v1/jobs/{jobId})

Required scope: `members:massdm`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "message": "string",
  "filter": {}
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/massdm" \
  -H "Content-Type: application/json" \
  -d '{
  "message": "string",
  "filter": {}
}'
GEThttps://api.restorehub.net/api/v1/jobs/{jobId}
Get the status + result of a queued mass-action job (mass-verify, mass-DM)

Required scope: `audit:read`

Parameters
NameInTypeRequiredDescription
jobIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/jobs/{jobId}"

Backups

GEThttps://api.restorehub.net/api/v1/servers/{id}/backups
List backups for a server

Required scope: `backups:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/backups"
POSThttps://api.restorehub.net/api/v1/servers/{id}/backups
Trigger a new backup

Required scope: `backups:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "name": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/backups" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string"
}'
POSThttps://api.restorehub.net/api/v1/servers/{id}/backups/{backupId}/restore
Restore a backup

Required scope: `backups:restore`

Parameters
NameInTypeRequiredDescription
idpathstringyes
backupIdpathstringyes
Request body application/json
{
  "options": {}
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/backups/{backupId}/restore" \
  -H "Content-Type: application/json" \
  -d '{
  "options": {}
}'
GEThttps://api.restorehub.net/api/v1/servers/{id}/backups/{backupId}
Get a single backup (full snapshot)

Required scope: `backups:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
backupIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/backups/{backupId}"
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/backups/{backupId}
Delete a backup

Required scope: `backups:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
backupIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/backups/{backupId}"
GEThttps://api.restorehub.net/api/v1/servers/{id}/backup-schedule
Get the backup schedule for this server

Required scope: `backups:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/backup-schedule"
POSThttps://api.restorehub.net/api/v1/servers/{id}/backup-schedule
Create or replace the backup schedule (Premium+ required)

Required scope: `backups:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "intervalDays": 0,
  "maxBackups": 0,
  "isActive": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/backup-schedule" \
  -H "Content-Type: application/json" \
  -d '{
  "intervalDays": 0,
  "maxBackups": 0,
  "isActive": true
}'
PUThttps://api.restorehub.net/api/v1/servers/{id}/backup-schedule/{scheduleId}
Update the backup schedule

Required scope: `backups:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
scheduleIdpathstringyes
Request body application/json
{
  "intervalDays": 0,
  "maxBackups": 0,
  "isActive": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/backup-schedule/{scheduleId}" \
  -H "Content-Type: application/json" \
  -d '{
  "intervalDays": 0,
  "maxBackups": 0,
  "isActive": true
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/backup-schedule/{scheduleId}
Delete the backup schedule

Required scope: `backups:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
scheduleIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/backup-schedule/{scheduleId}"

Templates

GEThttps://api.restorehub.net/api/v1/templates
List your templates

Required scope: `templates:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/templates"
POSThttps://api.restorehub.net/api/v1/templates
Create a template

Required scope: `templates:write`

Request body application/json
{
  "name": "string",
  "description": "string",
  "data": {},
  "isPublic": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/templates" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "description": "string",
  "data": {},
  "isPublic": true
}'
POSThttps://api.restorehub.net/api/v1/templates/from-backup
Create a template from an existing backup

Required scope: `templates:write`

Request body application/json
{
  "backupId": "string",
  "name": "string",
  "description": "string",
  "isPublic": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/templates/from-backup" \
  -H "Content-Type: application/json" \
  -d '{
  "backupId": "string",
  "name": "string",
  "description": "string",
  "isPublic": true
}'
GEThttps://api.restorehub.net/api/v1/templates/{id}
Get a template

Required scope: `templates:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/templates/{id}"
PUThttps://api.restorehub.net/api/v1/templates/{id}
Update a template

Required scope: `templates:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "name": "string",
  "description": "string",
  "data": {},
  "isPublic": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/templates/{id}" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "description": "string",
  "data": {},
  "isPublic": true
}'
DELETEhttps://api.restorehub.net/api/v1/templates/{id}
Delete a template

Required scope: `templates:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/templates/{id}"
POSThttps://api.restorehub.net/api/v1/servers/{id}/apply-template
Apply a template to a server

Required scope: `templates:apply`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "templateId": "string",
  "options": {}
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/apply-template" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "string",
  "options": {}
}'

Panels

GEThttps://api.restorehub.net/api/v1/servers/{id}/panels
List panels

Required scope: `panels:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/panels"
POSThttps://api.restorehub.net/api/v1/servers/{id}/panels
Create a panel

Required scope: `panels:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "name": "string",
  "title": "string",
  "description": "string",
  "color": "string",
  "buttonLabel": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/panels" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "title": "string",
  "description": "string",
  "color": "string",
  "buttonLabel": "string"
}'
GEThttps://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}
Get a panel

Required scope: `panels:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
panelIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}"
PUThttps://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}
Update a panel

Required scope: `panels:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
panelIdpathstringyes
Request body application/json
{
  "name": "string",
  "title": "string",
  "description": "string",
  "color": "string",
  "buttonLabel": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "title": "string",
  "description": "string",
  "color": "string",
  "buttonLabel": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}
Delete a panel

Required scope: `panels:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
panelIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}"
POSThttps://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}/send
Send the panel to a Discord channel

Required scope: `panels:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
panelIdpathstringyes
Request body application/json
{
  "channelId": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/panels/{panelId}/send" \
  -H "Content-Type: application/json" \
  -d '{
  "channelId": "string"
}'

Alerts

GEThttps://api.restorehub.net/api/v1/servers/{id}/alerts
List alerts

Required scope: `alerts:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/alerts"
POSThttps://api.restorehub.net/api/v1/servers/{id}/alerts
Create an alert

Required scope: `alerts:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "trigger": "string",
  "webhookUrl": "string",
  "enabled": true,
  "config": {}
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/alerts" \
  -H "Content-Type: application/json" \
  -d '{
  "trigger": "string",
  "webhookUrl": "string",
  "enabled": true,
  "config": {}
}'
GEThttps://api.restorehub.net/api/v1/servers/{id}/alerts/{alertId}
Get an alert

Required scope: `alerts:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
alertIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/alerts/{alertId}"
PUThttps://api.restorehub.net/api/v1/servers/{id}/alerts/{alertId}
Update an alert

Required scope: `alerts:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
alertIdpathstringyes
Request body application/json
{
  "trigger": "string",
  "webhookUrl": "string",
  "enabled": true,
  "config": {}
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/alerts/{alertId}" \
  -H "Content-Type: application/json" \
  -d '{
  "trigger": "string",
  "webhookUrl": "string",
  "enabled": true,
  "config": {}
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/alerts/{alertId}
Delete an alert

Required scope: `alerts:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
alertIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/alerts/{alertId}"

Teams

GEThttps://api.restorehub.net/api/v1/servers/{id}/team
List team members

Required scope: `teams:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/team"
POSThttps://api.restorehub.net/api/v1/servers/{id}/team/invite
Invite a team member

Required scope: `teams:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "email": "string",
  "role": "ADMIN"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/team/invite" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "string",
  "role": "ADMIN"
}'
PUThttps://api.restorehub.net/api/v1/servers/{id}/team/{memberId}
Update a team member's role

Required scope: `teams:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
memberIdpathstringyes
Request body application/json
{
  "role": "ADMIN"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/team/{memberId}" \
  -H "Content-Type: application/json" \
  -d '{
  "role": "ADMIN"
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/team/{memberId}
Remove a team member

Required scope: `teams:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
memberIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/team/{memberId}"
POSThttps://api.restorehub.net/api/v1/servers/{id}/team/accept
Accept a team invite for this server

Required scope: `teams:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/team/accept"
POSThttps://api.restorehub.net/api/v1/servers/{id}/team/transfer
Transfer ownership of the server (requires servers:delete + confirm)

Required scope: `servers:delete`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "targetEmail": "string",
  "confirm": "transfer-ownership"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/team/transfer" \
  -H "Content-Type: application/json" \
  -d '{
  "targetEmail": "string",
  "confirm": "transfer-ownership"
}'

Domains

GEThttps://api.restorehub.net/api/v1/servers/{id}/domain
Get the server's custom domain

Required scope: `domains:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/domain"
PUThttps://api.restorehub.net/api/v1/servers/{id}/domain
Update the custom domain

Required scope: `domains:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "hostname": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/domain" \
  -H "Content-Type: application/json" \
  -d '{
  "hostname": "string"
}'
POSThttps://api.restorehub.net/api/v1/servers/{id}/domain
Add a custom domain

Required scope: `domains:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "hostname": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/domain" \
  -H "Content-Type: application/json" \
  -d '{
  "hostname": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/domain
Remove the custom domain

Required scope: `domains:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/domain"
POSThttps://api.restorehub.net/api/v1/servers/{id}/domain/verify
Verify domain DNS + provision TLS

Required scope: `domains:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/domain/verify"

Firewall

GEThttps://api.restorehub.net/api/v1/servers/{id}/firewall
List firewall rules

Required scope: `firewall:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/firewall"
POSThttps://api.restorehub.net/api/v1/servers/{id}/firewall
Add a firewall rule

Required scope: `firewall:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "type": "IP",
  "value": "string",
  "action": "BLOCK",
  "note": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/firewall" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "IP",
  "value": "string",
  "action": "BLOCK",
  "note": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/firewall
Delete a firewall rule

Required scope: `firewall:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
ruleIdquerystringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/firewall"

Whitelist

GEThttps://api.restorehub.net/api/v1/servers/{id}/whitelist
List whitelist entries

Required scope: `whitelist:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/whitelist"
POSThttps://api.restorehub.net/api/v1/servers/{id}/whitelist
Add a whitelist entry

Required scope: `whitelist:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "discordUserId": "string",
  "note": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/whitelist" \
  -H "Content-Type: application/json" \
  -d '{
  "discordUserId": "string",
  "note": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/whitelist
Delete a whitelist entry

Required scope: `whitelist:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
ruleIdquerystringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/whitelist"

Billing

GEThttps://api.restorehub.net/api/v1/billing/subscription
Get current subscription

Required scope: `billing:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/billing/subscription"
POSThttps://api.restorehub.net/api/v1/billing/subscribe
Create a Stripe or OxaPay checkout session for a plan

Required scope: `billing:write`

Request body application/json
{
  "plan": "PREMIUM",
  "interval": "monthly",
  "provider": "stripe"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/billing/subscribe" \
  -H "Content-Type: application/json" \
  -d '{
  "plan": "PREMIUM",
  "interval": "monthly",
  "provider": "stripe"
}'
POSThttps://api.restorehub.net/api/v1/billing/cancel
Cancel subscription at period end

Required scope: `billing:write`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/billing/cancel"
POSThttps://api.restorehub.net/api/v1/billing/deposit
Deposit credit (Stripe or OxaPay)

Required scope: `billing:write`

Request body application/json
{
  "amount": 0,
  "provider": "stripe"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/billing/deposit" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 0,
  "provider": "stripe"
}'
GEThttps://api.restorehub.net/api/v1/billing/transactions
List billing transactions

Required scope: `billing:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/billing/transactions"
GEThttps://api.restorehub.net/api/v1/billing/invoices
List Stripe invoices

Required scope: `billing:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/billing/invoices"
POSThttps://api.restorehub.net/api/v1/billing/portal
Get a Stripe billing-portal URL

Required scope: `billing:write`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/billing/portal"
POSThttps://api.restorehub.net/api/v1/billing/resume
Resume a cancelled subscription

Required scope: `billing:write`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/billing/resume"

Marketplace

GEThttps://api.restorehub.net/api/v1/marketplace/listings
Browse marketplace listings

Required scope: `marketplace:read`

Parameters
NameInTypeRequiredDescription
pagequeryintegerno
limitqueryintegerno
categoryquerystringno
searchquerystringno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/listings"
POSThttps://api.restorehub.net/api/v1/marketplace/listings
Create a listing (seller)

Required scope: `marketplace:write`

Request body application/json
{
  "templateId": "string",
  "title": "string",
  "description": "string",
  "priceCents": 0,
  "category": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/marketplace/listings" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "string",
  "title": "string",
  "description": "string",
  "priceCents": 0,
  "category": "string"
}'
GEThttps://api.restorehub.net/api/v1/marketplace/orders/{id}
Get an order

Required scope: `marketplace:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/orders/{id}"
GEThttps://api.restorehub.net/api/v1/marketplace/listings/mine
List your own listings

Required scope: `marketplace:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/listings/mine"
PUThttps://api.restorehub.net/api/v1/marketplace/listings/{id}
Update a listing

Required scope: `marketplace:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "title": "string",
  "description": "string",
  "priceCents": 0,
  "category": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/marketplace/listings/{id}" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "string",
  "description": "string",
  "priceCents": 0,
  "category": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/marketplace/listings/{id}
Delete a listing

Required scope: `marketplace:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/marketplace/listings/{id}"
GEThttps://api.restorehub.net/api/v1/marketplace/sales
Your sales history

Required scope: `marketplace:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/sales"
GEThttps://api.restorehub.net/api/v1/marketplace/payouts
Your payouts

Required scope: `marketplace:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/payouts"
POSThttps://api.restorehub.net/api/v1/marketplace/payouts
Request a payout

Required scope: `marketplace:payout`

Request body application/json
{
  "amount": 0,
  "method": "STRIPE"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/marketplace/payouts" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 0,
  "method": "STRIPE"
}'
GEThttps://api.restorehub.net/api/v1/marketplace/orders
Order history (buyer or seller)

Required scope: `marketplace:read`

Parameters
NameInTypeRequiredDescription
rolequerystringno
pagequeryintegerno
limitqueryintegerno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/orders"
POSThttps://api.restorehub.net/api/v1/marketplace/orders
Create an order (purchase a listing)

Required scope: `marketplace:write`

Request body application/json
{
  "listingId": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/marketplace/orders" \
  -H "Content-Type: application/json" \
  -d '{
  "listingId": "string"
}'
GEThttps://api.restorehub.net/api/v1/marketplace/reviews
Reviews left on your listings

Required scope: `marketplace:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/reviews"
POSThttps://api.restorehub.net/api/v1/marketplace/listings/{id}/reviews
Post a review for a purchased listing

Required scope: `marketplace:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "orderId": "string",
  "rating": 0,
  "comment": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/marketplace/listings/{id}/reviews" \
  -H "Content-Type: application/json" \
  -d '{
  "orderId": "string",
  "rating": 0,
  "comment": "string"
}'
GEThttps://api.restorehub.net/api/v1/marketplace/payouts/summary
Payout balance + history + eligibility

Required scope: `marketplace:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/marketplace/payouts/summary"

Ads

GEThttps://api.restorehub.net/api/v1/ads/campaigns
List ad campaigns

Required scope: `ads:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/campaigns"
POSThttps://api.restorehub.net/api/v1/ads/campaigns
Create a campaign

Required scope: `ads:write`

Request body application/json
{
  "name": "string",
  "budgetCents": 0,
  "startsAt": "2024-01-01T00:00:00Z",
  "endsAt": "2024-01-01T00:00:00Z",
  "targeting": {}
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/ads/campaigns" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "budgetCents": 0,
  "startsAt": "2024-01-01T00:00:00Z",
  "endsAt": "2024-01-01T00:00:00Z",
  "targeting": {}
}'
POSThttps://api.restorehub.net/api/v1/ads/creatives
Upload an ad creative

Required scope: `ads:write`

Request body application/json
{
  "campaignId": "string",
  "imageUrl": "string",
  "headline": "string",
  "body": "string",
  "ctaUrl": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/ads/creatives" \
  -H "Content-Type: application/json" \
  -d '{
  "campaignId": "string",
  "imageUrl": "string",
  "headline": "string",
  "body": "string",
  "ctaUrl": "string"
}'
GEThttps://api.restorehub.net/api/v1/ads/analytics
Full ad analytics — overview, daily, byCountry, byDevice, byServer, byCampaign, hourly

Required scope: `ads:read`

Parameters
NameInTypeRequiredDescription
campaignIdquerystringno
daysqueryintegerno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/analytics"
POSThttps://api.restorehub.net/api/v1/ads/deposit
Deposit ad credit (Stripe or OxaPay)

Required scope: `ads:write`

Request body application/json
{
  "amount": 0,
  "provider": "stripe"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/ads/deposit" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 0,
  "provider": "stripe"
}'
GEThttps://api.restorehub.net/api/v1/ads/campaigns/{id}
Get a single ad campaign

Required scope: `ads:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/campaigns/{id}"
PUThttps://api.restorehub.net/api/v1/ads/campaigns/{id}
Update an ad campaign

Required scope: `ads:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "name": "string",
  "status": "PAUSED",
  "dailyCapCents": 0
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/ads/campaigns/{id}" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "status": "PAUSED",
  "dailyCapCents": 0
}'
DELETEhttps://api.restorehub.net/api/v1/ads/campaigns/{id}
Delete an ad campaign

Required scope: `ads:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/ads/campaigns/{id}"
POSThttps://api.restorehub.net/api/v1/ads/campaigns/{id}/pause
Pause a campaign

Required scope: `ads:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/ads/campaigns/{id}/pause"
POSThttps://api.restorehub.net/api/v1/ads/campaigns/{id}/resume
Resume a paused campaign

Required scope: `ads:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/ads/campaigns/{id}/resume"
GEThttps://api.restorehub.net/api/v1/ads/campaigns/{id}/audience
Audience breakdown — countries, devices, unique users

Required scope: `ads:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/campaigns/{id}/audience"
GEThttps://api.restorehub.net/api/v1/ads/campaigns/{id}/cpm-insights
CPM competitive insights for this campaign

Required scope: `ads:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/campaigns/{id}/cpm-insights"
GEThttps://api.restorehub.net/api/v1/ads/campaigns/{id}/suggested-bid
Suggested CPM bid based on competing campaigns

Required scope: `ads:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/campaigns/{id}/suggested-bid"
GEThttps://api.restorehub.net/api/v1/ads/campaigns/{id}/publisher-insights
Top publisher servers serving this campaign

Required scope: `ads:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/campaigns/{id}/publisher-insights"
GEThttps://api.restorehub.net/api/v1/ads/campaigns/{id}/report
Performance report (default 30 days)

Required scope: `ads:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
daysqueryintegerno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/ads/campaigns/{id}/report"
PUThttps://api.restorehub.net/api/v1/ads/creatives/{id}
Update an ad creative

Required scope: `ads:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "title": "string",
  "description": "string",
  "imageUrl": "string",
  "ctaText": "string",
  "destinationUrl": "string",
  "isActive": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/ads/creatives/{id}" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "string",
  "description": "string",
  "imageUrl": "string",
  "ctaText": "string",
  "destinationUrl": "string",
  "isActive": true
}'
DELETEhttps://api.restorehub.net/api/v1/ads/creatives/{id}
Delete an ad creative (must keep ≥ 1 per campaign)

Required scope: `ads:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/ads/creatives/{id}"

Referrals

GEThttps://api.restorehub.net/api/v1/referrals
Your referral stats + code

Required scope: `referrals:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/referrals"

AuditLog

GEThttps://api.restorehub.net/api/v1/audit-log
Account-scoped audit log (paginated, filterable)

Required scope: `audit:read`

Parameters
NameInTypeRequiredDescription
pagequeryintegerno
limitqueryintegerno
actionquerystringno
searchquerystringno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/audit-log"
GEThttps://api.restorehub.net/api/v1/servers/{id}/audit-log
Server-scoped audit log

Required scope: `audit:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
pagequeryintegerno
limitqueryintegerno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/audit-log"
GEThttps://api.restorehub.net/api/v1/jobs
Active + recent pull and backup jobs across your servers

Required scope: `audit:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/jobs"

Blacklist

GEThttps://api.restorehub.net/api/v1/blacklist
Account-level blacklist entries

Required scope: `blacklist:read`

Parameters
NameInTypeRequiredDescription
pagequeryintegerno
limitqueryintegerno
searchquerystringno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/blacklist"
POSThttps://api.restorehub.net/api/v1/blacklist
Create an account-level blacklist entry

Required scope: `blacklist:write`

Request body application/json
{
  "type": "discord_user",
  "value": "string",
  "reason": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/blacklist" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "discord_user",
  "value": "string",
  "reason": "string"
}'
DELETEhttps://api.restorehub.net/api/v1/blacklist/{id}
Delete an account-level blacklist entry

Required scope: `blacklist:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/blacklist/{id}"
GEThttps://api.restorehub.net/api/v1/servers/{id}/blacklist
List server-scoped blacklist entries

Required scope: `blacklist:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/blacklist"
POSThttps://api.restorehub.net/api/v1/servers/{id}/blacklist
Blacklist a Discord user (defaults to server-scoped)

Required scope: `blacklist:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "discordUserId": "string",
  "reason": "string",
  "scope": "server"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/blacklist" \
  -H "Content-Type: application/json" \
  -d '{
  "discordUserId": "string",
  "reason": "string",
  "scope": "server"
}'
DELETEhttps://api.restorehub.net/api/v1/servers/{id}/blacklist/{blacklistId}
Remove a server-scoped blacklist entry

Required scope: `blacklist:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
blacklistIdpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/servers/{id}/blacklist/{blacklistId}"

DiscordGlue

GEThttps://api.restorehub.net/api/v1/discord/guilds
Your Discord guilds (admin / manage_guild only)

Required scope: `discord:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/discord/guilds"
GEThttps://api.restorehub.net/api/v1/servers/{id}/discord-channels
Text channels visible to the server's bot

Required scope: `discord:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
refreshquerybooleanno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/discord-channels"
GEThttps://api.restorehub.net/api/v1/servers/{id}/discord-roles
Assignable roles via the server's bot

Required scope: `discord:read`

Parameters
NameInTypeRequiredDescription
idpathstringyes
refreshquerybooleanno
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/discord-roles"
GEThttps://api.restorehub.net/api/v1/pull/roles
Available roles in a destination guild for filtering a pull

Required scope: `discord:read`

Parameters
NameInTypeRequiredDescription
botIdquerystringyes
guildIdquerystringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/pull/roles"
GEThttps://api.restorehub.net/api/v1/pull/target-servers
Candidate destination servers for a pull (uses given bot)

Required scope: `discord:read`

Parameters
NameInTypeRequiredDescription
botIdquerystringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/pull/target-servers"

Upload

POSThttps://api.restorehub.net/api/v1/upload
Upload an image asset to the CDN (multipart/form-data; PNG, JPG, WebP, GIF; max 5MB)

Required scope: `upload:write`. Use multipart/form-data with field 'file' (required) and optional 'folder'.

Request body multipart/form-data
{
  "file": "string",
  "folder": "string"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/upload" \
  -H "Content-Type: multipart/form-data" \
  -d '{
  "file": "string",
  "folder": "string"
}'

ApiKeys

GEThttps://api.restorehub.net/api/v1/api-keys
List API keys for the account (requires '*' wildcard scope)

Required scope: `api-keys:read`

Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X GET "https://api.restorehub.net/api/v1/api-keys"
POSThttps://api.restorehub.net/api/v1/api-keys
Create a new API key (requires '*' wildcard scope)

Required scope: `api-keys:write`

Request body application/json
{
  "name": "string",
  "scopes": [
    "string"
  ],
  "expiresAt": "2024-01-01T00:00:00Z"
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X POST "https://api.restorehub.net/api/v1/api-keys" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "scopes": [
    "string"
  ],
  "expiresAt": "2024-01-01T00:00:00Z"
}'
PUThttps://api.restorehub.net/api/v1/api-keys/{id}
Update an API key (requires '*' wildcard scope; cannot modify the key in use)

Required scope: `api-keys:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Request body application/json
{
  "name": "string",
  "scopes": [
    "string"
  ],
  "expiresAt": "2024-01-01T00:00:00Z",
  "isActive": true
}
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X PUT "https://api.restorehub.net/api/v1/api-keys/{id}" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "scopes": [
    "string"
  ],
  "expiresAt": "2024-01-01T00:00:00Z",
  "isActive": true
}'
DELETEhttps://api.restorehub.net/api/v1/api-keys/{id}
Revoke an API key (requires '*' wildcard scope; cannot delete the key in use)

Required scope: `api-keys:write`

Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 OK
{}
400 Validation failed
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
401 Unauthorized — missing or invalid API key
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
403 Forbidden — missing required scope
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
404 Not found
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
429 Rate limit exceeded
{
  "error": "string",
  "code": "string",
  "details": {},
  "requiredScope": "string",
  "yourScopes": [
    "string"
  ]
}
Example request
curl -X DELETE "https://api.restorehub.net/api/v1/api-keys/{id}"
Was this page helpful?
Restore Hub API