{{define "api"}}

API

Access your health dossier data programmatically — or let AI do it for you.

{{if .Dossier}}

{{.T.api_token}}

{{if .APIToken}}

{{.T.api_token_use}}

{{.T.api_token_warning}}

{{else}}

{{.T.api_token_none}}

{{end}}
{{end}}

{{.T.api_authentication}}

{{.T.api_auth_instructions}}

Authorization: Bearer YOUR_API_TOKEN

Endpoints

Dossiers

GET /api/v1/dossiers

List all dossiers accessible to this account (your own + any shared with you).

Imaging

GET /api/v1/dossiers/{id}/entries?category=imaging

List all imaging studies in a dossier. Returns study ID, date, description, and series count.

GET /api/v1/entries/{study_id}/children

List series in a study. Optional: ?filter=SAG or ?filter=T1 to filter by description.

GET /api/v1/entries/{series_id}/children

List slices with position data (mm coordinates, orientation, pixel spacing).

GET /api/v1/entries/{slice_id}?detail=full

Get slice image as PNG. Optional: &ww=WIDTH&wc=CENTER for windowing.

Genome

GET /api/v1/dossiers/{id}/entries?category=genome

List genome variant categories: medication, cardiovascular, metabolism, fertility, traits, longevity.

GET /api/v1/dossiers/{id}/genome?search=MTHFR

Query genome variants. Optional filters: &category=medication, &rsids=rs1234,rs5678, &min_magnitude=2

Labs

GET /api/v1/dossiers/{id}/labs/tests

List all available lab test names for a dossier.

GET /api/v1/dossiers/{id}/labs/results?names=TSH,T4

Get lab results. Required: &names= (comma-separated). Optional: &from=2024-01-01, &to=2024-12-31, &latest=true

Text Format: Add &format=text to any endpoint for AI-friendly plain text output instead of JSON.

Example

# List your dossiers
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://inou.com/api/v1/dossiers

# List imaging studies
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://inou.com/api/v1/dossiers/DOSSIER_ID/entries?category=imaging

# Query genome variants
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://inou.com/api/v1/dossiers/DOSSIER_ID/genome?search=MTHFR
{{template "footer"}}
{{end}}