fetch, axios, requests, HttpClient, net/http, anything.
If you’re on Node or Python and want a lightweight wrapper, the examples below show a small
request() helper you can paste into your codebase. You own it, we don’t publish a package.Authenticate
Every request sends two headers: Every request to a tenant-scoped endpoint must include your API key pair:| Header | Value |
|---|---|
x-api-key | Your publishable key, e.g. pk_live_... |
x-api-secret | Your secret key, e.g. sk_live_... |
Content-Type | application/json |
tenantId in the URL or body.
See Authentication for key types and rotation.
Minimal integration pattern
A tiny wrapper handles auth, JSON encoding, and error parsing. Below are drop-in starters.What you need to handle
Because you own the integration, you also own a few concerns the platform expects of well-behaved clients. All covered in the Core concepts section:Idempotency keys
Send
Idempotency-Key on every POST so retries don’t double-create.Rate limits
Respect
Retry-After and back off on 429.Error shape
Switch on
error.code, surface requestId in your logs.Pagination
Cursor-based; follow
nextCursor until hasMore is false.OpenAPI spec
We publish a full OpenAPI 3.1 spec at https://api.geldstuck.com/openapi.json. Generate a typed client with the tool of your choice -openapi-typescript, openapi-generator-cli, datamodel-code-generator, etc.