Skip to content

AIRPort — AI Result Port

AIRPort is the landing port for AI results before they fly off into the user’s application. Third-party VLM and model vendors submit inference results here, and Presto makes them instantly available to radiologists in their reporting workflow.

Radiology AI is a multi-vendor world. A single organization might use one vendor or model for chest X-ray drafts, another for fracture identification, and a third for a Computed Tomography Vision Language Model. AIRPort provides a single, standardized ingestion point so that:

  • Organizations choose which vendors and models they trust
  • Every result carries a usage note (e.g., “Research use only”) set by the organization
  • Results appear in the radiologist’s workflow regardless of which vendor produced them
  • Idempotent submission prevents duplicate results from retry logic

See Authentication for API key setup and base URL. See Errors & Rate Limits for rate limiting and error codes.

POST /api/v1/airport/ingest/

Submit an AI inference result for a specific study.

Field Type Required Description
accession string Yes Study’s accession number, used to link the AIResult to the active study.
site string No Optional site identifier, if accession needs to be namespaced to a site
model_id string Yes Vendor model identifier in {vendor}/{model} format (e.g., AcmeAI/chest-cxr)
model_version string No Model version string
text string Yes AI-generated findings text (max 100KB)
metadata object No Freeform JSON metadata blob (max 100KB)
vendor_reference_id string No Your own job/inference ID. Used for idempotency – resubmitting the same value returns the original result
Terminal window
curl -X POST \
https://acme.app.presto.run/api/v1/airport/ingest/ \
-H "Authorization: Bearer prst_live_a1b2c3d4e5f6..." \
-H "Content-Type: application/json" \
-d '{
"accession": "ACC-2024-12345",
"model_id": "AcmeAI/chest-cxr",
"text": "No acute cardiopulmonary process.",
"vendor_reference_id": "acme-job-98765",
"site": "Main Campus",
"model_version": "2.1.0",
"metadata": {
"StudyInstanceUID": "1.2.840.113619.2.55.3.604688119.969.1700000000.123",
"inference_ms": 1420,
"confidence": 0.97
}
}'

201 Created — new result stored:

{
"id": "0192a3b4-c5d6-7e8f-9a0b-1c2d3e4f5a6b",
"accession": "ACC-2024-12345",
"status": "completed",
"created_at": "2024-12-15T14:30:00Z"
}

200 OK — idempotent hit (same vendor_reference_id already submitted):

{
"id": "0192a3b4-c5d6-7e8f-9a0b-1c2d3e4f5a6b",
"accession": "ACC-2024-12345",
"status": "completed",
"created_at": "2024-12-15T14:30:00Z"
}
Status Reason
403 Forbidden model_id is not authorized for this API key

See Errors & Rate Limits for common error codes (401, 429, etc.).

Each API key is authorized for a specific set of vendor models. If you submit a model_id that is not in the key’s approved set, the request is rejected with a 403.

Your organization administrator controls which models each key can submit results for. This ensures organizations maintain explicit control over which AI systems contribute to their radiologists’ workflows.

If you include a vendor_reference_id in your request, AIRPort uses it for idempotency. Resubmitting the same vendor_reference_id with the same API key returns the original result with a 200 status instead of creating a duplicate.

This is useful for retry logic – if a network error occurs after submission, you can safely retry without worrying about duplicate results reaching the radiologist.

The metadata field is freeform JSON, but we recommend the following keys for future visual integration in the radiologist’s workflow. Presto may display these fields in the UI when present.

Key Type Description
StudyInstanceUID string DICOM Study Instance UID — links the result to a specific study
SeriesInstanceUID string DICOM Series Instance UID — if the AI ran on a specific series
SOPInstanceUID string DICOM SOP Instance UID — if the AI produced a specific output object
inference_ms number Processing time in milliseconds
confidence number Overall confidence score (0.0–1.0)

DICOM UIDs should follow the standard dotted-numeric format (e.g., 1.2.840.113619.2.55.3.604...).

These keys are not enforced — you may include any JSON-serializable data in metadata. However, using the standard keys above ensures Presto can surface the information to radiologists as we build out the display layer.

{
"accession": "ACC-2024-12345",
"model_id": "AcmeAI/chest-cxr",
"text": "No acute cardiopulmonary process.",
"metadata": {
"StudyInstanceUID": "1.2.840.113619.2.55.3.604688119.969.1700000000.123",
"SeriesInstanceUID": "1.2.840.113619.2.55.3.604688119.969.1700000000.456",
"inference_ms": 1420,
"confidence": 0.97
}
}

Organizations can attach usage notes to AI results (e.g., “Research use only. Not for clinical decision making.”). These notes are composed from two sources:

  1. Vendor model note — set by platform administrators for the model globally
  2. Key note — set by the organization administrator for the specific API key

Both are displayed to the radiologist alongside the AI findings.