Skip to content
Home
Business OS Blog How it works Hosting Compare
Language
العربية Coming soon
বাংলা Coming soon
Dansk Coming soon
Deutsch Coming soon
Español Coming soon
Suomi Coming soon
Français Coming soon
עברית Coming soon
हिन्दी Coming soon
Magyar Coming soon
Bahasa Indonesia Coming soon
Italiano Coming soon
한국어 Coming soon
Latviešu Coming soon
Nederlands Coming soon
Norsk Coming soon
Polski Coming soon
Português Coming soon
Српски Coming soon
Svenska Coming soon
Türkçe Coming soon
Українська Coming soon
中文 Coming soon
Currency

Backups

Off-site backups of the business's server. A key never makes or deletes a backup on its own: it files a request, and you approve it in the chat.

List backups

GET/businesses/{business}/backups

Every backup, and any requests waiting on you.

Needs the backups:read scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.
curl "https://helstify.com/api/v1/businesses/60/backups" \
  -H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60/backups", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
  },
});
const data = await res.json();
import os, requests

res = requests.get(
    "https://helstify.com/api/v1/businesses/60/backups",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
    "ok": true,
    "backups": [
        {
            "uuid": "3f1c…",
            "name": "Nightly",
            "size_mb": 812,
            "created_at": "2026-11-09T02:00:00Z"
        }
    ],
    "requests": []
}

Request a backup

POST/businesses/{business}/backups/requests

action is create or delete. A delete needs backup (the uuid).

Needs the backups:write scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.

Body

action string
For example create
reason string
For example Before the theme migration
curl -X POST "https://helstify.com/api/v1/businesses/60/backups/requests" \
  -H "Authorization: Bearer $HELSTIFY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"create","reason":"Before the theme migration"}'
const res = await fetch("https://helstify.com/api/v1/businesses/60/backups/requests", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
      "action": "create",
      "reason": "Before the theme migration"
  }),
});
const data = await res.json();
import os, requests

res = requests.post(
    "https://helstify.com/api/v1/businesses/60/backups/requests",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
    json={
        "action": "create",
        "reason": "Before the theme migration"
    },
)
print(res.json())
Response202
{
    "ok": true,
    "request": {
        "id": 14,
        "action": "create",
        "status": "pending"
    }
}

Get a request

GET/businesses/{business}/backups/requests/{id}

pending, approved, declined, done or failed.

Needs the backups:read scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.
id integer, in path, required
The request id.
curl "https://helstify.com/api/v1/businesses/60/backups/requests/14" \
  -H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60/backups/requests/14", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
  },
});
const data = await res.json();
import os, requests

res = requests.get(
    "https://helstify.com/api/v1/businesses/60/backups/requests/14",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
    "ok": true,
    "request": {
        "id": 14,
        "action": "create",
        "status": "done"
    }
}

Withdraw a request

DELETE/businesses/{business}/backups/requests/{id}

Only while it is still pending.

Needs the backups:write scope.

Parameters

business integer, in path, required
The business id, from GET /businesses.
id integer, in path, required
The request id.
curl -X DELETE "https://helstify.com/api/v1/businesses/60/backups/requests/14" \
  -H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60/backups/requests/14", {
  method: "DELETE",
  headers: {
    Authorization: `Bearer ${process.env.HELSTIFY_KEY}`,
  },
});
const data = await res.json();
import os, requests

res = requests.delete(
    "https://helstify.com/api/v1/businesses/60/backups/requests/14",
    headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
    "ok": true,
    "request": {
        "id": 14,
        "status": "withdrawn"
    }
}