The Inkli Engine API is the same interface our partner integrations use in production. This page previews the surface — endpoints, auth, events, rate limits — enough for your team to answer "can we integrate this?" before we mint you keys.
Full request / response docs are shared on partner activation.
Talk to sales for keys →
Auth
Two key formats: pk_live_… (production traffic, real letters) and pk_test_… (unmetered, safe for CI + local dev). Mint, list, and revoke from the partner settings page.
Send an Idempotency-Key header on writes. Same key within 24h returns the same result — safe to retry a POST after a network wobble without creating a duplicate campaign.
Endpoints
/api/partner/v1/campaignsCreate a draft campaign with settings + template.
/api/partner/v1/campaigns/:id/recipientsAttach a recipient list (bulk).
/api/partner/v1/campaigns/:id/processFire the render (or Retry a failed run — clean reset).
/api/partner/v1/campaigns/:id/duplicateClone into a fresh draft. Optional copy_recipients toggle.
/api/partner/v1/campaigns/:idPoll status + progress + delivered files.
/api/partner/v1/campaigns/runningGet your currently-running campaign (or null).
/api/partner/v1/campaignsList — status filter, pagination, sub-client scoping.
/api/partner/v1/usage?period=YYYY-MMLetters rendered + by-campaign / by-client rollup + projected bill.
/api/partner/v1/invoicesIssued invoices with pre-signed PDF URLs.
Additional sub-resources: delivery targets, layout templates, ICC profiles, sub-clients, webhooks. All follow the same shape.
Webhooks
Every webhook carries an X-Inkli-Signature header — HMAC-SHA256 over the raw body with your webhook secret. Verify server-side before trusting the payload.
campaign.completedRender finished. Payload includes output paths + letter count + delivery target status.
campaign.failedRender errored. Payload includes error code + retryable flag.
proof.readyProof render finished (unmetered, watermarked). Approve to fire the billed run.
Rate limits
Reads
60 rpm
sustained · per key
Writes
10 rpm
sustained · per key
Burst
+50%
brief · smoothed over 1min
Higher limits available on request — enterprise partners get bespoke tiers. Response headers surface X-RateLimit-Remaining and X-RateLimit-Reset so you can back off cleanly.
Sample flow
Keys are provisioned on partner activation. Tell us what you're integrating and we'll come back within a working day.