Developers

Helmies, your way.

Bearer-token REST API, signed webhooks, TypeScript + Python SDKs. Live OpenAPI spec. Auto-derived from the same registry the dashboard uses, so it never drifts.

# Create a customer in your tenant
curl -X POST https://app.helmies.fi/api/v1/customers \
  -H "Authorization: Bearer $HELMIES_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "ACME Oy", "email": "billing@acme.fi", "vat_id": "FI12345678" }'
SDKs

Two install commands. Done.

TypeScript / Node
@helmies/sdk
npm install @helmies/sdk
Python 3.10+
helmies
pip install helmies
Endpoints

RESTful, predictable, boring on purpose.

Plural resources, JSON in/out, ISO-8601 timestamps, idempotency keys on writes.

GET/api/v1/customersList customers in your tenant.
POST/api/v1/customersCreate a customer.
GET/api/v1/customers/{id}Read a single customer.
PATCH/api/v1/customers/{id}Update a customer.
GET/api/v1/projectsList projects.
POST/api/v1/invoices/draftDraft an invoice from billable time.
POST/api/v1/agent/runRun the agent inside your tenant.
POST/api/v1/agent/scheduleSchedule a recurring agent task.
GET/api/v1/leadsList leads + score.
POST/api/v1/sequenceStart a new email sequence.
GET/api/v1/ads/campaignsList ad campaigns across channels.
POST/api/v1/webhooksRegister a webhook endpoint + filters.

Live OpenAPI at /api/v1/openapi.json — generated from the same registry the dashboard uses.

Webhooks

Every event. Signed + replayable.

  • HMAC-signed payloads
    Verify with the secret in your dashboard. SDKs ship helpers.
  • Replay from dashboard
    Last 30 days. One-click resend to any registered endpoint.
  • Filterable subscriptions
    Subscribe to a single event type or a tag pattern.
  • Automatic retries
    Exponential backoff for 5 minutes, then dead-letter queue.
// app/api/helmies/route.ts
import { verifyHelmiesSignature } from "@helmies/sdk";

export async function POST(req: Request) {
  const body = await req.text();
  const sig = req.headers.get("helmies-signature")!;

  if (!verifyHelmiesSignature(body, sig, process.env.HELMIES_WEBHOOK_SECRET!)) {
    return new Response("invalid signature", { status: 401 });
  }

  const event = JSON.parse(body);
  // event.type === "customer.created" | "invoice.paid" | "lead.qualified" | ...
  return new Response("ok");
}
Limits & guarantees

Fast, fair, predictable.

p99 read latency
< 110 ms
p99 write latency
< 240 ms
Rate limit · Pro
300 req/min
Idempotency window
24 hours

Build on Helmies.