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>
PUThttps://api.restorehub.net/api/v1/account/password

Change password (requires MFA if enabled)

Required scope: account:write

Request body

application/json
currentPasswordstring
newPasswordstringrequired
mfaCodestring
Required if MFA is enabled (6 digits)
{
  "currentPassword": "string",
  "newPassword": "string",
  "mfaCode": "string"
}

Code samples

cURL
curl -X PUT "https://api.restorehub.net/api/v1/account/password" \
  -H "Content-Type: application/json" \
  -d '{"currentPassword":"string","newPassword":"string","mfaCode":"string"}'
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/account/mfa/enable

Enable MFA in one shot, returns secret + QR + 10 single-use recovery codes (returned once)

Required scope: account:write

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/enable"
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/account/mfa/disable

Disable MFA (password required)

Required scope: account:write

Request body

application/json
passwordstringrequired
{
  "password": "string"
}

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/disable" \
  -H "Content-Type: application/json" \
  -d '{"password":"string"}'
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/account/sessions

List active login sessions

Required scope: account:read

Code samples

cURL
curl -X GET "https://api.restorehub.net/api/v1/account/sessions"
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"
  ]
}
DELETEhttps://api.restorehub.net/api/v1/account/sessions/{id}

Revoke a login session

Required scope: account:write

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://api.restorehub.net/api/v1/account/sessions/{id}"
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"
  ]
}
DELETEhttps://api.restorehub.net/api/v1/account/sessions/all

Revoke all active login sessions

Required scope: account:write

Code samples

cURL
curl -X DELETE "https://api.restorehub.net/api/v1/account/sessions/all"
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/account/email/change

Initiate email change (sends OTP to the new address)

Required scope: account:write

Request body

application/json
newEmailstringrequired
passwordstring
Required if a password is set on the account
mfaCodestring
Required if MFA is enabled (6 digits)
{
  "newEmail": "string",
  "password": "string",
  "mfaCode": "string"
}

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/account/email/change" \
  -H "Content-Type: application/json" \
  -d '{"newEmail":"string","password":"string","mfaCode":"string"}'
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/account/email/verify

Confirm email change with OTP

Required scope: account:write

Request body

application/json
newEmailstringrequired
tokenstringrequired
{
  "newEmail": "string",
  "token": "string"
}

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/account/email/verify" \
  -H "Content-Type: application/json" \
  -d '{"newEmail":"string","token":"string"}'
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/account/transfer

Transfer the account to another email (requires '*' scope)

Required scope: account:delete

Request body

application/json
targetEmailstringrequired
passwordstringrequired
mfaCodestring
Required if MFA is enabled
confirmstringrequired
{
  "targetEmail": "string",
  "password": "string",
  "mfaCode": "string",
  "confirm": "transfer-account"
}

Code samples

cURL
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"}'
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/account/discord/unlink

Unlink the linked Discord account

Required scope: account:link

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/account/discord/unlink"
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/account/discord/relink

Get a Discord OAuth URL to re-grant guilds scope

Required scope: account:link

Request body

application/json
botIdstring
Bot to use; defaults to existing discordOAuthBotId
{
  "botId": "string"
}

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/account/discord/relink" \
  -H "Content-Type: application/json" \
  -d '{"botId":"string"}'
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/account/mfa/setup

Begin MFA setup (returns secret + QR; does NOT enable MFA)

Required scope: account:write

Code samples

cURL
curl -X POST "https://api.restorehub.net/api/v1/account/mfa/setup"
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