InteleShare Webhooks and Routing API

Register webhooks for platform events and manage study distribution - routes, destinations (query/retrieve targets), and storage nodes that move studies between the cloud and connected DICOM systems. Endpoints are modeled from the public v3 Services API reference.

OpenAPI Specification

intelerad-openapi.yml Raw ↑
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