API reference

Every endpoint. Real schemas. A curl for each one.

Da Vinci CRD, DTR, and PAS sit alongside the public-data integrations Authora cites. The spec on this page is the same OpenAPI 3.1 document served at /api/openapi.json.

17 endpointsSpec version 1.0.0OpenAPI 3.1.0Base https://authora.health/api
Authentication

Bearer tokens for PHI, service keys for back-office traffic.

Endpoints that read or persist patient data require a SMART on FHIR / Authora-issued JWT in the Authorization header. Back-office integrations (CDS Hooks, batch ingestion) use the tenant-scoped X-Authora-Key header.

Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
X-Authora-Key:  ak_live_••••••••••••••••
Authentication

Service health and identity.

GET/health

Service liveness probe

Returns the build identity, current commit, and database connectivity status. Used by uptime monitors and synthetic checks.

Responses
200Service is healthy.
application/json
status : string = "ok"
version : string = "1.0.0"
buildId : string = "build-482"
timestamp : string
Try it
curl -X GET \
  'https://authora.health/api/health'
Cases

Authora case worklist and detail.

GET/cases bearer

List worklist cases

Returns the active case worklist for the authenticated tenant. Cases are returned in SLA-pressure order by default.

Parameters
NameInTypeRequiredDescription
statusquerystringoptionalFilter by CaseStatus (comma-separated for multi-select).
limitqueryintegeroptional
Responses
200Worklist case array.
application/json
array<FhirResource>
FhirResource
resourceType : string = "Bundle"
id : string
Try it
curl -X GET \
  'https://authora.health/api/cases' \
  -H 'Authorization: Bearer $AUTHORA_TOKEN'
Da Vinci CRD

Coverage Requirements Discovery via CDS Hooks 2.0 at order-sign and order-select.

GET/cds-services

CDS Hooks service discovery

CDS Hooks 2.0 discovery document. Lists the order-sign and order-select services Authora exposes for Coverage Requirements Discovery.

Responses
200Service discovery document.
application/json
services : object[]
array<object>
hook : string = "order-sign"
id : string
title : string
description : string
prefetch : object
object
Try it
curl -X GET \
  'https://authora.health/api/cds-services'
POST/cds-services/authora-crd-order-sign

CRD order-sign Card

Returns one or more CDS Hooks Cards at order-sign time. Surfaces PA requirement, payer policy citation, and a SMART launch URL into Authora DTR.

Request body
application/json
object
Responses
200CDS Hooks card array.
application/json
cards : CdsCard[]
array<CdsCard>
CdsCard
summary : string
indicator : string
detail : string
source : object
label : string
url : string
links : object[]
array<object>
label : string
url : string
type : string
appContext : string
systemActions : object[]
array<object>
object
Try it
curl -X POST \
  'https://authora.health/api/cds-services/authora-crd-order-sign' \
  -H 'Content-Type: application/json' \
  -d '@request.json'
Da Vinci DTR

Documentation Templates and Rules — Questionnaire delivery and $populate operation.

GET/dtr/questionnaire

Fetch DTR Questionnaire by procedure code

Returns the FHIR R4 Questionnaire that maps the relevant payer policy criteria to fillable items. Each item carries an SDC initialExpression (CQL) so DTR apps can auto-populate from EHR data.

Parameters
NameInTypeRequiredDescription
cptquerystringoptionalCPT code, e.g. 72148 (MRI lumbar spine).
hcpcsquerystringoptionalHCPCS code, used for DME items.
Responses
200FHIR Questionnaire (DTR profile).
application/fhir+json
FhirResource
resourceType : string = "Bundle"
id : string
400Missing cpt or hcpcs parameter.
application/json
FhirResource
resourceType : string = "Bundle"
id : string
404No registered Questionnaire for the supplied code.
application/json
FhirResource
resourceType : string = "Bundle"
id : string
Try it
curl -X GET \
  'https://authora.health/api/dtr/questionnaire'
POST/dtr/populate

Populate a DTR QuestionnaireResponse

Executes the DTR $populate operation against an Authora-hosted Questionnaire and returns the resulting QuestionnaireResponse with answers derived from the EHR.

Request body
application/json
questionnaireUrl* : string = "https://authora.health/Questionnaire/authora-dtr-72148"
patientId : string = "pt-park"
claimId : string = "AUT-2026-00187"
caseId : string = "case-001"
Responses
200FHIR QuestionnaireResponse.
application/fhir+json
FhirResource
resourceType : string = "Bundle"
id : string
404Unknown questionnaire URL.
application/json
FhirResource
resourceType : string = "Bundle"
id : string
Try it
curl -X POST \
  'https://authora.health/api/dtr/populate' \
  -H 'Content-Type: application/json' \
  -d '@request.json'
Da Vinci PAS

Prior Authorization Support — request Bundle preview and $submit.

GET/pas/preview

Preview a PAS request Bundle

Materializes the PAS request Bundle that would be submitted to the payer for the supplied case. Useful for evidence review, validator runs, and audit replay.

Parameters
NameInTypeRequiredDescription
caseIdquerystringoptionalAuthora case id. Defaults to case-001.
Responses
200FHIR Bundle (PAS request).
application/fhir+json
FhirBundle
resourceType* : string = "Bundle"
id : string
type* : string = "collection"
entry : object[]
array<object>
fullUrl : string
resource : object
Generic FHIR R4 resource shape.
resourceType : string = "Bundle"
id : string
404Unknown caseId.
Try it
curl -X GET \
  'https://authora.health/api/pas/preview'
POST/pas/submit bearer

Submit a PAS request Bundle

Submits a Da Vinci PAS request Bundle. Returns a synthesized ClaimResponse with preAuthRef. In production this proxies to the payer's PAS endpoint via the configured connector.

Request body
application/fhir+json
FhirBundle
resourceType* : string = "Bundle"
id : string
type* : string = "collection"
entry : object[]
array<object>
fullUrl : string
resource : object
Generic FHIR R4 resource shape.
resourceType : string = "Bundle"
id : string
Responses
200ClaimResponse.
application/fhir+json
FhirResource
resourceType : string = "Bundle"
id : string
Try it
curl -X POST \
  'https://authora.health/api/pas/submit' \
  -H 'Authorization: Bearer $AUTHORA_TOKEN' \
  -H 'Content-Type: application/fhir+json' \
  -d '@request.json'
Runs

Authora agent run inspection and live event stream (Server-Sent Events).

GET/runs/{caseId} bearer

Get an agent run by case id

Returns the agent-run record (or live snapshot) for the supplied case id, including per-agent timing, token counts, decision, and conformance metadata.

Parameters
NameInTypeRequiredDescription
caseIdpathstringrequired
Responses
200AgentRun record.
application/json
FhirResource
resourceType : string = "Bundle"
id : string
404Unknown caseId.
Try it
curl -X GET \
  'https://authora.health/api/runs/:caseId' \
  -H 'Authorization: Bearer $AUTHORA_TOKEN'
GET/runs/stream bearer

Server-Sent Events stream of run lifecycle events

Returns a long-lived text/event-stream emitting case-created, evidence-extracted, criteria-evaluated, submitted, payer-acknowledged, and decision-rendered events as they happen. Clients should reconnect with Last-Event-ID on disconnect.

Parameters
NameInTypeRequiredDescription
caseIdquerystringoptionalRestrict stream to a single case.
Responses
200Server-Sent Events stream.
text/event-stream
string
Try it
curl -X GET \
  'https://authora.health/api/runs/stream' \
  -H 'Authorization: Bearer $AUTHORA_TOKEN'
Conformance

Inferno-style PAS Bundle validator — surface live pass/fail reports.

GET/inferno/run

Validate the PAS Bundle for a seed case

Runs the Authora Inferno-style structural validator against the PAS request Bundle materialized from the supplied case id. Returns a per-check finding report.

Parameters
NameInTypeRequiredDescription
caseIdquerystringoptional
Responses
200Validation report.
application/json
caseId : string
bundleId : string
report : ValidationReport
ValidationReport
bundleId : string
bundleType : string
ranAt : string
durationMs : number
totalChecks : integer = 15
passed : integer = 15
failed : integer = 0
warnings : integer = 0
overallStatus : string
validatorVersion : string = "authora-inferno v0.9.4"
igVersion : string = "hl7.fhir.us.davinci-pas#2.1.0"
findings : object[]
array<object>
severity* : string
path* : string = "Bundle.entry[Claim].use"
message* : string
expected : string
actual : string
check* : string = "PAS-CLAIM-USE-PREAUTH"
Try it
curl -X GET \
  'https://authora.health/api/inferno/run'
POST/inferno/run

Validate an arbitrary FHIR Bundle

Accepts any FHIR Bundle and returns the Authora Inferno-style validation report against the Da Vinci PAS request profile.

Request body
application/json
bundle* : FhirBundle
FhirBundle
resourceType* : string = "Bundle"
id : string
type* : string = "collection"
entry : object[]
array<object>
fullUrl : string
resource : object
Generic FHIR R4 resource shape.
resourceType : string = "Bundle"
id : string
caseId : string
Responses
200Validation report.
application/json
bundleId : string
report : ValidationReport
ValidationReport
bundleId : string
bundleType : string
ranAt : string
durationMs : number
totalChecks : integer = 15
passed : integer = 15
failed : integer = 0
warnings : integer = 0
overallStatus : string
validatorVersion : string = "authora-inferno v0.9.4"
igVersion : string = "hl7.fhir.us.davinci-pas#2.1.0"
findings : object[]
array<object>
severity* : string
path* : string = "Bundle.entry[Claim].use"
message* : string
expected : string
actual : string
check* : string = "PAS-CLAIM-USE-PREAUTH"
400Missing or invalid bundle.
Try it
curl -X POST \
  'https://authora.health/api/inferno/run' \
  -H 'Content-Type: application/json' \
  -d '@request.json'
Public Data

Pass-through helpers for NPPES, openFDA / RxNav, NLM ICD-10, ClinicalTrials.gov.

GET/npi

NPPES NPI Registry lookup

Pass-through to the NPPES NPI Registry. Returns a normalized provider record including taxonomy, license state, and active status.

Parameters
NameInTypeRequiredDescription
numberquerystringrequired10-digit NPI.
Responses
200NPI record.
application/json
object
Try it
curl -X GET \
  'https://authora.health/api/npi'
GET/drug

Drug lookup (openFDA + RxNav)

Resolves a drug query to RxNorm + openFDA label data: indications, contraindications, black-box warnings, and dosage forms.

Parameters
NameInTypeRequiredDescription
qquerystringrequiredDrug name or RxNorm CUI.
Responses
200Drug record.
application/json
object
Try it
curl -X GET \
  'https://authora.health/api/drug'
GET/icd10

ICD-10-CM autocomplete

Pass-through to NLM Clinical Tables ICD-10-CM autocomplete. Returns up to 7 candidate codes per query.

Parameters
NameInTypeRequiredDescription
qquerystringrequiredFree-text query.
Responses
200Code list.
application/json
object
Try it
curl -X GET \
  'https://authora.health/api/icd10'
GET/clinicaltrials

ClinicalTrials.gov v2 search

Searches ClinicalTrials.gov v2 by condition + intervention. Used for evidence-supporting links in oncology and rare-disease PAs.

Parameters
NameInTypeRequiredDescription
conditionquerystringrequired
interventionquerystringoptional
Responses
200Trials list.
application/json
object
Try it
curl -X GET \
  'https://authora.health/api/clinicaltrials'
Media

Open Graph image generation.

GET/og

Open Graph image

Generates a 1200×630 PNG Open Graph card. Used by /press, /customers, and per-case shareable links.

Parameters
NameInTypeRequiredDescription
titlequerystringoptional
subtitlequerystringoptional
Responses
200PNG image.
image/png
string
Try it
curl -X GET \
  'https://authora.health/api/og'