openapi: 3.0.3 info: title: InteleShare / Ambra v3 Services API (Modeled) version: v3 x-endpoints-modeled: true description: >- MODELED OpenAPI for the Intelerad InteleShare / Ambra "v3 Services" public API (formerly Ambra Health / DICOM Grid). The v3 API is a documented public REST-like interface: clients POST (or GET) to RPC-style action endpoints under a resource namespace, and every response includes a `status` field of "OK" or "ERROR". Authentication uses a session id (`sid`) obtained from /session/login, HTTP Basic auth, or OAuth tokens for third-party integrations. DICOM instance access is also available over the DICOMweb standard (WADO-RS / QIDO-RS / STOW-RS). This document is HONESTLY MODELED from the public API reference at https://access.dicomgrid.com/api/v3/api.html and the InteleShare HL7 Guide. Exact request/response schemas, required parameters, and per-endpoint permissions are defined by Intelerad's authoritative reference and vary by account entitlement; treat the paths below as a representative, not exhaustive or byte-exact, surface. contact: name: Intelerad Medical Systems url: https://www.intelerad.com/en/contact-us/ servers: - url: https://access.dicomgrid.com/api/v3 description: InteleShare / Ambra v3 Services API (public cloud; account-specific hosts also exist, e.g. https://access.ambrahealth.com/api/v3) security: - sid: [] - basicAuth: [] - oauth: [] tags: - name: Session - name: Study - name: Storage - name: Patient - name: Order - name: Report - name: HL7 - name: Webhook - name: Namespace paths: /session/login: post: tags: [Session] summary: Authenticate and obtain a session id (sid) responses: '200': description: OK response containing a session id content: application/json: schema: $ref: '#/components/schemas/StatusResponse' /session/logout: post: tags: [Session] summary: Invalidate the current session responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /study/list: post: tags: [Study] summary: List studies visible to the session, with filtering and pagination responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /study/get: post: tags: [Study] summary: Retrieve a single study's metadata by uuid responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /study/share: post: tags: [Study] summary: Share a study to another namespace, user, or patient responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /study/delete: post: tags: [Study] summary: Delete a study responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /storage/study/{namespace}/{studyUid}: get: tags: [Storage] summary: Retrieve study image / pixel data from the Storage API parameters: - { name: namespace, in: path, required: true, schema: { type: string } } - { name: studyUid, in: path, required: true, schema: { type: string } } responses: '200': description: Binary DICOM or rendered image payload /patient/list: post: tags: [Patient] summary: List patient records within a namespace responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /patient/get: post: tags: [Patient] summary: Retrieve a patient record and demographics responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /order/list: post: tags: [Order] summary: List orders / scheduled procedures feeding the worklist responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /order/add: post: tags: [Order] summary: Create an order (often sourced from an inbound HL7 ORM message) responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /report/list: post: tags: [Report] summary: List radiology reports attached to studies responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /hl7/transform/list: post: tags: [HL7] summary: List HL7 message templates and transforms (ORM / ORU / ADT) responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /webhook/add: post: tags: [Webhook] summary: Register a webhook for platform events responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } /namespace/list: post: tags: [Namespace] summary: List namespaces (tenant scopes) available to the session responses: '200': description: OK content: application/json: schema: { $ref: '#/components/schemas/StatusResponse' } components: securitySchemes: sid: type: apiKey in: query name: sid description: Session id obtained from /session/login. May also be supplied as a request field depending on the endpoint. basicAuth: type: http scheme: basic oauth: type: http scheme: bearer description: OAuth bearer token for third-party integrations. schemas: StatusResponse: type: object description: Every v3 Services response includes a status field of OK or ERROR. required: [status] properties: status: type: string enum: [OK, ERROR] error_type: type: string description: Present when status is ERROR. error_subtype: type: string