Restore Hub API

Embed
Preview of the card
<a href="https://restorehub.net/docs/restore-hub-api"><img src="https://restorehub.net/docs/_api/public/orgs/02205afa-581f-4b8b-b2a5-8aa1a06b0a65/spaces/3b58c1c8-7c23-44ef-9ff3-f4a5c899d9ac/pages/d0a666b5-4eba-4af4-bfa0-216fae5b5685/social-card.svg?v=3e7ae33eec8b" alt="Restore Hub API" width="600" height="315"></a>
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

idstringpathrequired

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/refresh-discord"
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}

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

idstringpathrequired
periodstringquery

Code samples

cURL
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/analytics"
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}
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

Code samples

cURL
curl -X GET "https://api.restorehub.net/api/v1/overview"
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}

ServerConfig

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

Get security config

Required scope: servers:read

Parameters

idstringpathrequired

Code samples

cURL
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/security"
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}
PUThttps://api.restorehub.net/api/v1/servers/{id}/security

Update security config

Required scope: servers:write

Parameters

idstringpathrequired

Request body

application/json
{}

Code samples

cURL
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/security" \
  -H "Content-Type: application/json" \
  -d '{}'
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}
GEThttps://api.restorehub.net/api/v1/servers/{id}/verify-page

Get verify page config

Required scope: verify-page:read

Parameters

idstringpathrequired

Code samples

cURL
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/verify-page"
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}
PUThttps://api.restorehub.net/api/v1/servers/{id}/verify-page

Update verify page config

Required scope: verify-page:write

Parameters

idstringpathrequired

Request body

application/json
{}

Code samples

cURL
curl -X PUT "https://api.restorehub.net/api/v1/servers/{id}/verify-page" \
  -H "Content-Type: application/json" \
  -d '{}'
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}
GEThttps://api.restorehub.net/api/v1/servers/{id}/verify-variants

List verify-page A/B variants

Required scope: verify-page:read

Parameters

idstringpathrequired

Code samples

cURL
curl -X GET "https://api.restorehub.net/api/v1/servers/{id}/verify-variants"
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}
POSThttps://api.restorehub.net/api/v1/servers/{id}/verify-variants

Create a verify-page variant

Required scope: verify-page:write

Parameters

idstringpathrequired

Request body

application/json
namestringrequired
configobjectrequired
{
  "name": "string",
  "config": {}
}

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/servers/{id}/verify-variants" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","config":{}}'
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}
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

idstringpathrequired

Request body

application/json
orderobject[]required
List of {id, priority} for variants on this server. All ids must belong to the server.
{
  "order": [
    {
      "id": "string",
      "priority": 0
    }
  ]
}

Code samples

cURL
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}]}'
TypeScript
Python
Go
PHP
Ruby
Java

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"
  ]
}

Updated