ShinrAIHosted on STACKIT

Usage, reliability, and data handling

Understand records, tiers, errors, retries, credentials, retention, and offline activation.

Records, tiers and billing cycles

A base record is up to 1.000 Unicode code points per text, rounded up separately for each text, with a minimum of one. The API tier applies its weight to that base count. Fractions are preserved in tenths of a record.

Native API tier metering and limits
TierRecord weightNative request limit
Standard1,064 texts · 200.000 code points per text
Batch0,5200 texts · 200.000 code points per text
Real-Time1,64 texts · 4.000 code points per text

For example, two 800-character texts use 2 Standard records, 1 Batch record or 3,2 Real-Time records. Native Batch is a lower-priority processing tier; asynchronous Azure jobs are a separate request lifecycle.

Plan allowance is used first, then pack records. Monthly allowance resets at the billing boundary and does not roll over. Packs do not expire. An upgrade requires payment and starts a new cycle with the full new allowance; a downgrade or cancellation takes effect at the current period’s end. Review the charge preview in Dashboard before confirming a change.

See consumption in Dashboard or GET /v2/usage. The billing portal provides invoice PDFs, company details and payment methods. Appropriate tax is calculated during checkout and invoices are emailed after purchase.

Errors and retries

Native API errors use {"error":{"code":"…","message":"…","request_id":"…","retryable":false}}. Azure-compatible endpoints use their own error envelopes. Preserve X-Request-Id for troubleshooting.

StatusAction
401Check the key, revocation status and environment.
402Add records; the error identifies the required and available amount.
403Check whether the plan includes the requested tier.
413 / 422Correct the input or split the request within documented limits.
429Respect Retry-After, then retry with backoff and jitter.
503Temporary service failure. Respect Retry-After when present.

Validation failures and work rejected before processing do not consume records. A connection loss is not proof that processing failed: keep the request reference and check usage before blindly retrying a large workload. Synchronous results are not stored for replay.

Retry only when retryable is true, and wait for Retry-After when it is present.

Data handling and keys

Direct requests are processed in memory and not stored. A request that names an API session adds its new replacements to that session. Job data and API sessions are kept for a limited time and are encrypted. Usage records contain identifiers, counts and timings, not content. We do not use your content to train models.

Data handling and retention

Create and revoke API keys in Dashboard. Starter supports one key; higher plans support up to five. Production keys start with shr_live_, sandbox keys with shr_test_. They belong to separate environments. Do not embed them in browser applications, URLs or support messages.

Offline activation

The offline container runs on your infrastructure. Its API key protects local management endpoints as well as inference. Keep its persistent state volume with the installation.

The offline image serves the native API v1. The native API v2 follows in a later image.

  1. Read GET /offline/challenge with your local API key and save the installation challenge JSON.
  2. Buy an offline pack, then open the On-premises activation card in Dashboard. Select the paid pack, upload the challenge JSON and download its issuer-signed activation file.
  3. Import it using POST /offline/license with {"license":<signed envelope>}.
  4. Read GET /offline/status for used, reserved and available quota. A new signed file adds purchased quota.

The challenge binds the activation to the installation identity; signed files have a sequence number to prevent replay on intact state. Full host control, snapshots and cloned storage impose limits on purely offline enforcement. Protect the state volume and follow the documented replacement/recovery procedure instead of copying activations between installations.

Contact activation support or work with a certified implementation partner.

Test your integration

Start with synthetic data and verify detection, replacement and usage before sending production traffic.

For coordinated QA testing, request separate test access from our team. Test credentials and checkout vouchers are provided with the private testing guide.

Open DashboardGet support