GET/services
Every plan and hosting service on the account, with price and renewal date.
Needs the billing:read scope.
curl "https://helstify.com/api/v1/services" \
-H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/services", {
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/services",
headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
"ok": true,
"count": 1,
"services": [
{
"id": 311,
"category": "Plans",
"product": "Operator",
"status": "active",
"price": "$24.00 / month",
"renews_at": "2026-12-01",
"agent": null
}
]
}
GET/invoices
The latest 100 invoices, newest first.
Needs the billing:read scope.
Parameters
status string, in query
- pending, paid or cancelled.
curl "https://helstify.com/api/v1/invoices" \
-H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/invoices", {
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/invoices",
headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
"ok": true,
"count": 1,
"invoices": [
{
"id": 1882,
"status": "pending",
"total": "$24.00",
"due_at": "2026-12-01",
"created_at": "2026-11-24"
}
]
}
GET/tickets
Support conversations, newest first.
Needs the support:read scope.
Parameters
status string, in query
- open, replied or closed.
curl "https://helstify.com/api/v1/tickets" \
-H "Authorization: Bearer $HELSTIFY_KEY"
const res = await fetch("https://helstify.com/api/v1/tickets", {
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/tickets",
headers={"Authorization": f"Bearer {os.environ['HELSTIFY_KEY']}"},
)
print(res.json())
Response200
{
"ok": true,
"count": 1,
"tickets": [
{
"id": 77,
"subject": "Custom domain on the shop",
"status": "replied",
"updated_at": "2026-11-08 17:20:04"
}
]
}