Skip to content

Developers

Ship clinical AI features from your own backend.

A resource-oriented REST API with typed JSON, explicit errors and versioned endpoints. Everything below documents the proposed v1 contract.

intake.sh
# Proposed API — keep your secret key on the server.
curl https://api.akiramo.ai/v1/intake/analyze \
  -H "Authorization: Bearer $AKIRAMO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 7f3c2a9e-intake-001" \
  -d '{
    "language": "en",
    "patient": { "age": 34 },
    "complaint": "Persistent headache and nausea"
  }'

# 422 Unprocessable Entity
# {
#   "error": {
#     "code": "invalid_request",
#     "field": "complaint",
#     "message": "`complaint` is required and must be a non-empty string."
#   }
# }

Quickstart

From key to first response.

  1. 1

    Request API access

    Tell us about your product and use case. We issue sandbox keys for synthetic-data development first.

    Request access
  2. 2

    Store the key server-side

    Secret keys belong in your backend environment — never in browser or mobile code.

    # .env (server only — never expose to the browser)
    AKIRAMO_API_KEY=sk_test_••••••••••••••••
    AKIRAMO_API_BASE_URL=https://api.akiramo.ai
  3. 3

    Make your first request

    Start with intake: send a synthetic complaint and read back the structured result. Or try it now in the playground.

    Open the playground

Authentication

Server-to-server keys.

Each key is scoped to one organization, one environment and a set of modules. OAuth 2.0 client credentials are planned for enterprise platforms.

  • sk_test_… sandbox — synthetic data only
  • sk_live_… production — issued after onboarding
  • Rotate keys at any time; old keys can overlap during rollout.

Errors

Every error returns { error: { code, message, field? } }.

StatusCodeMeaning
400invalid_jsonBody is not valid JSON.
401unauthorizedMissing or invalid API key.
403forbiddenKey lacks the scope for this module.
404not_foundResource or session does not exist.
409idempotency_conflictIdempotency key reused with a different body.
422invalid_requestA field failed validation — see `field`.
429rate_limitedToo many requests. Retry after the indicated delay.
5xxserver_errorRetry with exponential backoff.

Webhooks · Planned

Async jobs, delivered.

Long-running work such as transcription completes asynchronously. Webhook events are planned to be signed so you can verify their origin; polling remains available.

Versioning & idempotency

Endpoints are versioned in the path (/v1). Breaking changes ship as a new version with a deprecation window. Send an Idempotency-Key header to retry POST requests safely.

transcription.completedPlanned
{
  "id": "evt_demo_01",
  "type": "transcription.completed",
  "created": "2026-01-01T09:30:00Z",
  "data": {
    "id": "tr_demo_001",
    "status": "completed",
    "duration_seconds": 28
  }
}

SDKs

Typed clients, on the roadmap.

  • TypeScript / Node.js

    Planned
    @akiramo/sdk
  • Python

    Planned
    akiramo
  • REST (any language)

    In development
    HTTPS + JSON

Package names are proposed and not yet published to npm or PyPI.

Your healthcare software deserves intelligence.

Integrate medical AI into the systems you already use.

AKIRAMO AI — Medical Intelligence InfrastructureDeveloped by ZhanCare.