GET/me
The account that owns this key, and what the key itself is allowed to do.
Needs the account:read scope.
curl "https://helstify.com/api/v1/me" \
-H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/me", {
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/me",
headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
"ok": true,
"account": {
"id": 42,
"name": "Asha Rao",
"email": "asha@example.com",
"plan": "operator",
"businesses": 3,
"billing_linked": true
},
"key": {
"name": "Deploy bot",
"prefix": "hsk_8fK2pQ1m",
"scopes": [
"account:read",
"files:write"
],
"businesses": "all",
"expires_at": null,
"rate_limit": 120
}
}
GET/businesses
Every business this key can open, owned or operated as a team member.
Needs the account:read scope.
curl "https://helstify.com/api/v1/businesses" \
-H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses", {
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",
headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
"ok": true,
"count": 1,
"businesses": [
{
"id": 60,
"name": "Northwind Coffee",
"status": "live",
"live": true,
"domain": "northwind.coffee",
"kind": "web",
"reachable": true,
"read_only": false,
"owned": true
}
]
}
GET/businesses/{business}
One business, with its domains, published hostnames and what the AI agents may do on it.
Needs the account:read scope.
Parameters
business integer, in path, required
- The business id, from GET /businesses.
curl "https://helstify.com/api/v1/businesses/60" \
-H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60", {
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",
headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
"ok": true,
"business": {
"id": 60,
"name": "Northwind Coffee",
"status": "live",
"kind": "web",
"domains": [
"northwind.coffee"
],
"hostnames": [
"northwind.coffee",
"shop.northwind.coffee"
],
"permissions": [
"files.read",
"files.write",
"dns.read"
],
"created_at": "2026-09-14T10:02:11Z"
}
}
GET/businesses/{business}/uptime
The last check of every hostname we watch for this business, and recent incidents. Uptime watch is part of the Operator and Studio plans.
Needs the account:read scope.
Parameters
business integer, in path, required
- The business id, from GET /businesses.
curl "https://helstify.com/api/v1/businesses/60/uptime" \
-H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/businesses/60/uptime", {
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/uptime",
headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
"ok": true,
"watched": true,
"hosts": [
{
"hostname": "northwind.coffee",
"up": true,
"error": null,
"checked_at": "2026-11-09T08:41:00Z"
}
],
"incidents": [
{
"hostname": "northwind.coffee",
"started_at": "2026-11-02T03:10:00Z",
"ended_at": "2026-11-02T03:16:00Z",
"error": "HTTP 502"
}
]
}