For developers
One API, five languages.
Client libraries for the UARP API in TypeScript, Rust, Kotlin, Swift and Ada, generated from the platform's public API document and released together under one version number. Open source under the MIT licence.
Available · TypeScript, Rust, Kotlin and Swift at the current version; Alire still has an earlier Ada release
Barista
Brings your tools into the conversation.
Typed models
Every body the API document describes is a named type in your language. Where the document describes no shape, the SDK says so and hands you plain JSON instead of inventing one.
A key, and nothing else
Pass an API key, or let the SDK read it from UARP_API_KEY or SNAGA_API_KEY.
Writes you can repeat
Every write carries a key that makes it safe to retry, and you can supply your own to replay a create on purpose.
Retries that know when to stop
Timeouts, rate limits, server errors and dropped connections are retried after a growing pause, honouring Retry-After. Reads always retry; writes only when they are safe to repeat.
Errors you can read
A refusal arrives as a structured error with the status, the detail, the correlation id and any field that failed validation.
Live events as a stream
Event streams arrive as your language's own async stream and reconnect where they left off.
Install
TypeScript
npm i uarp-sdkRust
cargo add uarp-sdkKotlin
implementation("ai.snaga:uarp-sdk:0.8.0")Swift
.package(url: "https://github.com/Snaga-AI/uarp-swift", from: "0.8.0")Ada
alr with uarp_sdkAlire carries an earlier Ada release; the current one builds from the source repository.
What to know before you build on it
The SDKs are at version 0.x, so a minor release may change an interface. Each release follows the API document it was generated from: routes added to the platform later reach the SDK in the next release, and calls whose response the document does not describe return plain JSON.