For developers
A finance-grade API your platform team will respect
Typed SDKs in four languages. Idempotent writes with deterministic keys. Signed webhooks. A sandbox you do not have to ask for. Audit events verifiable with a single ed25519 public key.
SDKs
TS · Py · Go · Java
Generated from OpenAPI 3.1
Webhook events
84
Signed, replayable, at-least-once
Idempotency
Required
No retries without a key
Sandbox
Self-serve
Token live in 60 seconds
Pacer policy in 12 lines
import { ADmetric } from "@admetric/sdk";
const ad = new ADmetric({ token: process.env.ADMETRIC_TOKEN! });
await ad.policies.set("pacing/daily-cap.yaml", {
scope: { costCenter: "brand-emea" },
mode: "even",
caps: { daily: 1.08, weekly: 1.02 },
quietHours: { start: "22:00", end: "06:00", capDaily: 1.00 },
approvers: { quorum: "2-of-3", roles: ["cfo", "risk", "brand"] }
}, { idempotencyKey: "pol-2026-03-04-brand-emea-v33" });Verify a signed webhook
import nacl from "tweetnacl";
export function verify(body: string, signatureB64: string, pubkeyB64: string) {
const ok = nacl.sign.detached.verify(
new TextEncoder().encode(body),
Buffer.from(signatureB64, "base64"),
Buffer.from(pubkeyB64, "base64"),
);
if (!ok) throw new Error("invalid signature");
}
// Public key rotates on a published schedule (/key-rotation).
// JWKS endpoint: https://api.admetric.ai/v2.4/.well-known/jwks.jsonIdempotent by default
Every write requires an Idempotency-Key. We deduplicate for 7 days; replays return the original response with the same status code.
Pagination you can trust
Cursor-based pagination since v2.4; cursors are opaque, signed, and stable across deployments. No offset, no skipped rows.
Sandbox parity
The sandbox runs the same code path as production with synthetic platform responses. Pacer decisions, payouts, and webhooks all fire — without moving real money.
Backwards compatibility
Minimum 12 months from deprecation to sunset. Every change logged on /api-stability with kind: Additive, Behavior, or Breaking.
Audit trail you can verify
Every event is hashed into a Merkle chain; root is published on /trust-ledger. Verify membership locally with a single ed25519 public key.
Errors that mean something
RFC 9457 problem details. Every error includes a stable type, a human title, and a request ID you can quote on support.
Where to start
- Read /docs — the same docs our engineers use, no marketing version.
- Generate a sandbox token in /api-keys; it’s live in under a minute.
- Subscribe to webhook events on /webhook-deliveries; replay any event from the dashboard.
- Pin the SDK version; bump on a schedule that matches /api-stability.