SDK & Postman
Everything here is generated from the same OpenAPI contract, so none of it can describe an API we do not serve.
Postman collection
30 requests across 10 folders, with authentication set on the collection and every filter documented. Import both files — the collection and the environment.
Or import straight from the URL in Postman (File → Import → Link):
https://developers.aranis.ai/aranis-api.postman_collection.jsonAfter importing
- Select the Aranis API — Production environment, top right.
- Set
apiKeyto a key from Settings → Integrations. It is stored as a secret variable, so it will not be exported with the environment. - Send any request — authentication is inherited from the collection.
?status= and rejected as an invalid value.Each request shows the scope it needs at the top of its description, and POST requests send a fresh Idempotency-Key via {{$guid}}. That is right for exploring and wrong for production — see Idempotency.
TypeScript SDK
npm install @aranis/apiimport { AranisClient, AranisApiError } from '@aranis/api'
const aranis = new AranisClient({
apiKey: process.env.ARANIS_API_KEY!,
// Optional. Defaults shown.
timeoutMs: 30_000,
maxRetries: 2,
})
try {
const critical = await aranis.collect(
params => aranis.listSuppliers(params),
{ criticality: 'critical' }
)
console.log(`${critical.length} critical suppliers`)
} catch (err) {
if (err instanceof AranisApiError) {
console.error(err.code, err.message, err.requestId)
if (err.code === 'validation_failed') console.error(err.fieldErrors)
}
}Types from the contract
Every resource type is generated from the OpenAPI document. CI fails if regenerating produces a diff, so the types cannot drift from the API.
Retries and cursors handled
Retry-After is honoured on 429, and paginate() walks cursors as an async iterator.
Raw OpenAPI
Point your own codegen at the contract directly. It is OpenAPI 3.1 and is the source every other artifact on this page is built from.
openapi-generator-cli generate \
-i https://developers.aranis.ai/openapi.yaml \
-g python \
-o ./aranis-clientRunnable examples
The public repository carries working examples for the parts that are easy to get subtly wrong:
- Webhook verification in Express — raw body handling, deduplication, acknowledging before processing
- Webhook verification in Python — stdlib only, no dependency on us
- Cloud asset sync — batching, partial failures, and why confirmed assets are never demoted
- curl recipes — paging, filtering, downloading a report PDF