P anaceum.cc
For developers

REST API, webhooks and a typed client

The OpenAPI schema is generated from the code and the TypeScript client from the schema. Keys carry scoped permissions, the sandbox key never creates servers, and amounts travel as strings: the client never computes money.

Quick start

Three steps to the first call

01Create a key in the admin panel and pick its permissions: read only, invoices, services, tickets.
02Test the calls with the sandbox key: the responses are real, the changes are not applied.
03Subscribe to webhooks and switch the key to live mode.
OpenAPI 3.1 idempotency-key cursor pagination OIDC
$ curl https://api.panaceum.cc/v1/services/8421 \
  -H "Authorization: Bearer pn_live_…"
{
  "id": 8421,
  "state": "active",
  "provisioner": "pterodactyl",
  "next_due_date": "2026-08-04",
  "recurring_amount": "24.60",
  "currency": "EUR",
  "data_region": "eu-central"
}
// webhook: invoice paid
POST /your-endpoint
X-Panaceum-Signature: sha256=…
{
  "event": "invoice.paid",
  "invoice_id": 10482,
  "paid_at": "2026-07-04T09:12:03Z",
  "gateway": "sepa"
}
Resources

What the API exposes

Clients

Reading and updating accounts, contacts and tax details, including data export for subject requests.

Services

State, plan, renewal dates, limit changes and provisioning task launches.

Invoices and payments

Invoice creation, lines, fees, payment confirmation and refunds.

Tickets

Creation, replies, state changes and attachments.

Catalogue

Products, groups, add-ons, prices and markup rules.

Reports

Exports for revenue, receivables and node utilisation.

Rules

How access works

Keys and permissions

A key is issued per task: read only, invoices only, tickets only. Permissions are visible in the panel.

Idempotency

A repeated call with the same operation key never creates a duplicate.

Rate limiting

Per-key limits with remaining-quota headers; on excess you get a 429 and a wait time.

Call journal

Every call is recorded: key, method, object, result and time.

Need sandbox access

You get a sandbox key and the OpenAPI schema - test the integration before rollout.