Ambra Health Session API

Authentication, session, OAuth, and permissions

OpenAPI Specification

ambra-health-session-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Ambra Health (InteleShare) v3 Services Public Accounts Session 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: Session
  description: Authentication, session, OAuth, and permissions
paths:
  /session/login:
    post:
      operationId: sessionLogin
      tags:
      - Session
      summary: Log in and obtain a session id (sid)
      description: Authenticate with credentials to obtain a session id (sid) used to authorize subsequent calls.
      x-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequest'
      responses:
        '200':
          description: Session established
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        '401':
          $ref: '#/components/responses/Error'
  /session/user:
    get:
      operationId: sessionUser
      tags:
      - Session
      summary: Get the current session user
      x-endpoint-status: confirmed
      parameters:
      - $ref: '#/components/parameters/Sid'
      responses:
        '200':
          description: Current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Error'
  /session/permissions:
    get:
      operationId: sessionPermissions
      tags:
      - Session
      summary: Get the user's permissions for an account
      x-endpoint-status: confirmed
      parameters:
      - $ref: '#/components/parameters/Sid'
      - name: account_id
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Permission map
          content:
            application/json:
              schema:
                type: object
                x-schema-status: modeled
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Error'
  /session/logout:
    post:
      operationId: sessionLogout
      tags:
      - Session
      summary: End the current session
      x-endpoint-status: confirmed
      parameters:
      - $ref: '#/components/parameters/Sid'
      responses:
        '200':
          $ref: '#/components/responses/Status'
  /session/oauth/start:
    post:
      operationId: sessionOauthStart
      tags:
      - Session
      summary: Begin the OAuth flow
      x-endpoint-status: confirmed
      responses:
        '200':
          $ref: '#/components/responses/Status'
  /session/oauth:
    post:
      operationId: sessionOauth
      tags:
      - Session
      summary: OAuth callback / token exchange
      x-endpoint-status: confirmed
      responses:
        '200':
          description: Session established via OAuth
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
  /session/pin/generate:
    post:
      operationId: sessionPinGenerate
      tags:
      - Session
      summary: Generate a PIN for PIN-based authentication
      x-endpoint-status: confirmed
      parameters:
      - $ref: '#/components/parameters/Sid'
      responses:
        '200':
          $ref: '#/components/responses/Status'
  /bundle:
    post:
      operationId: bundle
      tags:
      - Session
      summary: Execute multiple API calls in a single request
      description: POST a JSON array of hashes, each with a URL key plus parameters. Calls are processed sequentially and results returned in matching order. The inherit_sid flag plus the X-AmbraHealth-SID header let bundled calls share one session.
      x-endpoint-status: confirmed
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  URL:
                    type: string
                additionalProperties: true
      responses:
        '200':
          description: Ordered array of results
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: true
components:
  schemas:
    Error:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        error_type:
          type: string
        error_subtype:
          type: string
        message:
          type: string
    Session:
      type: object
      x-schema-status: modeled
      properties:
        sid:
          type: string
          description: Session id used to authorize subsequent calls
        status:
          type: string
          example: OK
        user_id:
          type: string
    LoginRequest:
      type: object
      x-schema-status: modeled
      required:
      - login
      - password
      properties:
        login:
          type: string
          description: Username or email
        password:
          type: string
          format: password
        account_login:
          type: string
    User:
      type: object
      x-schema-status: modeled
      properties:
        uuid:
          type: string
        email:
          type: string
          format: email
        name:
          type: string
        first:
          type: string
        last:
          type: string
        role:
          type: string
    Status:
      type: object
      properties:
        status:
          type: string
          example: OK
  responses:
    Error:
      description: Error - the API returns an HTTP error code plus a JSON error structure
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    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.
Where this information came from

This is an independent, third-party profile of Ambra Health Session API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.