Skip to main content
Use this page as the primary implementation path. The detailed pages linked from each step are supporting references.

Before you start

During onboarding, Idunox provides:
ItemHow it is used
API keySent as a Bearer token in the Authorization header
Partner credential UUIDSent as partnerId in every submission body (must match the API key)
Base URLProduction or sandbox API origin
If you do not have credentials yet, email partner@idunox.com.

1) Prepare Health Yourself data

Collect questionnaire and blood data in your intake UX, then map to canonical JSON in your backend:
DataCanonical location
36 questionnaire itemssubject.* (see Canonical submission JSON)
14 blood analytesmarkers[] with codes such as ALT, HBA1C_MMOL_MOL
Lab reference rangessourceMetadata.markerRanges (structured unit, lowerBound, upperBound)
Intake timestampsourceMetadata.sourceTimestamp
Wellbeing areasoptions.requestedOutcomes (wellbeing.cardiovascular, etc.)
Report outputsoptions.requestedOutputs (inference_score_v1, json, html, …)
The Input Data Preparation Guide remains the source of truth for what to ask end consumers (wording, conditionals, accepted intake values). The Canonical submission JSON page defines how to encode that data for the API.

2) Authenticate

Use Bearer authentication for all authenticated endpoints:
Authorization: Bearer <your-api-key>
Validate your credentials before sending submissions:
curl -H "Authorization: Bearer <your-api-key>" \
     https://api.idunox.com/v1/partner-auth-probe
A valid credential returns 204 No Content. See Authentication for details.

3) Submit one complete payload

Submit canonical JSON to POST /v1/submissions with write headers:
curl -X POST https://api.idunox.com/v1/submissions \
     -H "Authorization: Bearer <your-api-key>" \
     -H "x-correlation-id: <request-correlation-id>" \
     -H "Idempotency-Key: <unique-key>" \
     -H "Content-Type: application/json" \
     --data @submission.json
submission.json must include schemaVersion, partnerId, partnerSubmissionId, partnerSubjectId, subject, markers, and options as described in Create Submissions. A successful submission returns 202 Accepted with a submissionId. Store this ID.

4) Wait for processing

After submission, use either polling or webhooks.
OptionUse whenNext action
Poll submission statusYou want a simple client-driven integrationCall GET /v1/submissions/{submissionId} until status is completed
Receive webhookYou have a registered HTTPS callback URLWait for result.ready, then read resultId from the webhook body
Polling example:
curl -H "Authorization: Bearer <your-api-key>" \
     https://api.idunox.com/v1/submissions/<submissionId>
See Get submission and Webhook: result.ready.

5) Retrieve the result

When processing is complete, retrieve the result with resultId:
curl -H "Authorization: Bearer <your-api-key>" \
     https://api.idunox.com/v1/results/<resultId>
The response contains outcome (primary) and optionally outcomes[] — one partner-safe summary per requested wellbeing area, plus signed artifacts download URLs when json / html / pdf were requested. See Get result and Outcomes model.

Supporting references

Input Data Guide

Intake questions, blood panel table, and conditional trees.

Canonical submission

Q→canonical mapping, marker codes, and validation rules.

Create Submissions

Full POST body example and field reference.

Get Result

Completed result with outcomes and artifacts.