Menu

SDKs

Choose a server library or browser SDK, check release status and find the HTTP API alternative.

Choose the integration that fits where your code runs. Server libraries and browser or app SDKs use different credentials:

  • Server libraries run on your server. They call the /v1 API at https://api.kirora.io with an API key, as a thin layer over the same operations.
  • App and web SDKs run in your users’ browsers and apps. They record what each signed-in user does, with a public client key and a user token your server signs. They never use an API key.

Server libraries

Library Language Package Status
Node.js TypeScript @kirora/node (not yet published) Preview (reference implementation)
React builders React @kirora/react (not yet published) Preview, partner accounts only
CLI Shell @kirora/cli (not yet published) Preview
Python Python To be announced Planned
Go Go To be announced Planned
.NET C# To be announced Planned
PHP PHP To be announced Planned
Java Java To be announced Planned

App and web SDKs

SDK Platform Package Status
Web Browsers @kirora/web (not yet published) Preview
iOS Swift To be announced Planned
Android Kotlin To be announced Planned
React Native TypeScript To be announced Planned
Flutter Dart To be announced Planned

The app SDKs share the web SDK’s interface: the same options, methods and behaviour in each language.

What to use today

None of the server libraries is on a package registry yet, so for production code today, call the HTTP API directly. Every request is JSON over HTTPS to https://api.kirora.io, with your key as Authorization: Bearer $KIRORA_API_KEY. See Authentication, Errors, Pagination and Idempotency. To track an event with curl:

curl https://api.kirora.io/v1/events/track \
  -H "Authorization: Bearer $KIRORA_API_KEY" \
  -H "Idempotency-Key: order-1042-completed" \
  -H "Content-Type: application/json" \
  -d '{"externalId":"cust_1042","eventName":"Order Completed","properties":{"total":42.5,"currency":"USD"}}'

Without a library, handle these yourself: retry a 429 always, and a 5xx or connection failure only when the call is safe to repeat, with jittered backoff; fix each Idempotency-Key before the first attempt; stop paginating when nextCursor is null; and verify webhook signatures against the raw body.

The server library contract

The Node.js library is the reference implementation, and every official server library copies its shape: one namespace per API tag and one method per operationId, a single error type carrying the API’s code, bounded retries with jitter, auto-paginating iterators, caller-supplied idempotency keys, and a constant-time webhook verifier. The full list is in SDK conformance.

For AI assistants rather than code, connect to the hosted MCP server instead; see Agents.