Developers

Every case is a Draft - not clinically validated, pending Dr. Carlo Raj clinical sign-off. Educational simulation content only; not medical advice. No doses are published. No CME.

Read-only JSON API.

Omit any filter you do not use: an empty value (for example system=) is rejected with 400.

GET https://casesims.apexacademy.cloud/api/connector?system=Cardiology&limit=20&offset=0   (public catalogue)
GET https://casesims.apexacademy.cloud/api/teasers                (public: the 3 free teaser cases)
GET https://casesims.apexacademy.cloud/api/cases/{id}             (teasers public; others: Authorization: Bearer <subscriber key>)

Errors: 400 for an unknown, repeated or invalid parameter; 401 for a missing, malformed or unknown key on a non-teaser case; 403 for a key whose subscription is cancelled, unpaid or revoked; 404 for an unknown case or one with no authored content; 405 for a non-GET method; 429 (with Retry-After) when one IP exceeds the rate limit (burst 60, refilled at 1 per second); 503 (with Retry-After) during maintenance. Catalogue rows have id, title (neutral: system and presenting-complaint category only), system, strand, tier, learner_level, objective_headline, platforms_planned, content_stage, status, validated. Case content has objectives, foundation_concept, presentation, vitals, history_items, exam_items, orders, results, interventions, differential, critical_actions, harmful_actions, mechanism, disposition, notes and the flag draft_flag. Values the source does not yet have are omitted or null; the API never invents findings, values or outcomes, and doses are removed.

OpenAPI 3.1 specification


Operated by Indus Intellect LLC. Support: carlo.raj@apexacademy-uae.com