openapi: 3.0.3 info: title: Ambra Health (InteleShare) v3 Services Public Accounts Studies API description: 'OpenAPI description of the Ambra Health / InteleShare v3 Services Public API (historically the DICOM Grid API). Ambra Health is a cloud-based medical image management, exchange, and interoperability platform, now part of Intelerad Medical Systems. The API is JSON over HTTPS and is authenticated with a session id (sid) obtained from POST /session/login; the sid is then supplied on subsequent requests as a parameter or via the X-AmbraHealth-SID header. Endpoint paths, HTTP verbs, and the sid/bundle mechanics are grounded in the public v3 API reference at https://access.dicomgrid.com/api/v3/api.html and the open-source Python SDK (github.com/dicomgrid/sdk-python). Request and response bodies below are HONESTLY MODELED representative schemas: the public reference documents commands and parameters but does not publish per-field JSON Schemas, so the schemas here are illustrative of shape rather than an exhaustive contract. Operations grounded directly in the reference are marked x-endpoint-status = confirmed; illustrative body schemas are marked x-schema-status = modeled.' version: v3 contact: name: Ambra Health / Intelerad url: https://ambrahealth.com/platform/developer-tools/apis/ license: name: Proprietary - Ambra Health / Intelerad url: https://ambrahealth.com servers: - url: https://access.dicomgrid.com/api/v3 description: Ambra Health / DICOM Grid production API (access.ambrahealth.com is an alias) security: - sessionId: [] tags: - name: Studies description: DICOM study lifecycle, routing, download, and audit paths: /study/add: post: operationId: studyAdd tags: - Studies summary: Add a study x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' requestBody: content: application/json: schema: $ref: '#/components/schemas/StudyWrite' responses: '200': $ref: '#/components/responses/StudyResponse' /study/list: get: operationId: studyList tags: - Studies summary: List studies with filtering, sorting, and pagination description: Supports the filter.FIELD.CONDITION syntax (equals, like, gt, lt, in, ...), sort_by, and page.rows / page.number pagination documented in the reference. x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: namespace_id in: query schema: type: string - name: page.rows in: query schema: type: integer default: 25 - name: page.number in: query schema: type: integer default: 1 - name: sort_by in: query schema: type: string responses: '200': description: Page of studies content: application/json: schema: $ref: '#/components/schemas/StudyList' /study/get: get: operationId: studyGet tags: - Studies summary: Get a study x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: uuid in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/StudyResponse' /study/set: post: operationId: studySet tags: - Studies summary: Update study metadata x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' requestBody: content: application/json: schema: $ref: '#/components/schemas/StudyWrite' responses: '200': $ref: '#/components/responses/StudyResponse' /study/delete: post: operationId: studyDelete tags: - Studies summary: Delete a study x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: uuid in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/Status' /study/share: post: operationId: studyShare tags: - Studies summary: Share a study with users, groups, or accounts x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' requestBody: content: application/json: schema: $ref: '#/components/schemas/ShareRequest' responses: '200': $ref: '#/components/responses/Status' /study/share/list: get: operationId: studyShareList tags: - Studies summary: List active shares on a study x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: uuid in: query required: true schema: type: string responses: '200': description: Shares content: application/json: schema: type: array items: $ref: '#/components/schemas/Share' /study/share/stop: post: operationId: studyShareStop tags: - Studies summary: Revoke a study share x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' requestBody: content: application/json: schema: $ref: '#/components/schemas/ShareRequest' responses: '200': $ref: '#/components/responses/Status' /study/approve: post: operationId: studyApprove tags: - Studies summary: Approve a pending study x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: uuid in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/Status' /study/reject: post: operationId: studyReject tags: - Studies summary: Reject a study x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: uuid in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/Status' /study/push: post: operationId: studyPush tags: - Studies summary: Push a study to an external destination x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' requestBody: content: application/json: schema: type: object x-schema-status: modeled properties: uuid: type: string destination_id: type: string responses: '200': $ref: '#/components/responses/Status' /study/download: post: operationId: studyDownload tags: - Studies summary: Download / export study files x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: uuid in: query required: true schema: type: string - name: bundle in: query schema: type: string enum: - dicom - iso - zip responses: '200': description: Study export content: application/octet-stream: schema: type: string format: binary /study/audit: get: operationId: studyAudit tags: - Studies summary: Get a study's audit trail x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' - name: uuid in: query required: true schema: type: string responses: '200': description: Audit entries content: application/json: schema: type: array items: $ref: '#/components/schemas/AuditEntry' /study/comment/add: post: operationId: studyCommentAdd tags: - Studies summary: Add a comment to a study x-endpoint-status: confirmed parameters: - $ref: '#/components/parameters/Sid' requestBody: content: application/json: schema: type: object x-schema-status: modeled properties: uuid: type: string comment: type: string responses: '200': $ref: '#/components/responses/Status' components: schemas: Share: type: object x-schema-status: modeled properties: uuid: type: string study_id: type: string target_type: type: string enum: - user - group - account target_id: type: string created: type: string format: date-time Study: type: object x-schema-status: modeled properties: uuid: type: string study_uid: type: string description: DICOM StudyInstanceUID patient_name: type: string patientid: type: string modality: type: string example: CT study_date: type: string study_description: type: string namespace_id: type: string phi_namespace: type: string created: type: string format: date-time ShareRequest: type: object x-schema-status: modeled required: - uuid properties: uuid: type: string description: Study uuid account_id: type: string group_id: type: string user_id: type: string email: type: string format: email message: type: string AuditEntry: type: object x-schema-status: modeled properties: uuid: type: string action: type: string user_id: type: string created: type: string format: date-time detail: type: object additionalProperties: true StudyList: type: object x-schema-status: modeled properties: page: type: object properties: number: type: integer rows: type: integer total: type: integer studies: type: array items: $ref: '#/components/schemas/Study' Status: type: object properties: status: type: string example: OK StudyWrite: type: object x-schema-status: modeled properties: uuid: type: string description: Present on update namespace_id: type: string study_description: type: string modality: type: string responses: StudyResponse: description: A study content: application/json: schema: $ref: '#/components/schemas/Study' Status: description: Status result content: application/json: schema: $ref: '#/components/schemas/Status' parameters: Sid: name: sid in: query required: true description: Session id from POST /session/login. May also be sent via the X-AmbraHealth-SID header. schema: type: string securitySchemes: sessionId: type: apiKey in: header name: X-AmbraHealth-SID description: Session id (sid) obtained from POST /session/login. Also accepted as the sid request parameter.