Akute Health Appointments API

The Appointments API from Akute Health — 4 operation(s) for appointments.

OpenAPI Specification

akute-appointments-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Akute Health Customer Appointments API
  description: REST API for the Akute Health automation-first EHR platform. Exposes FHIR-aligned resources - patients, appointments, clinical notes (encounters), tasks, documents, medications and e-prescribing, lab orders, diagnostic reports and observations - plus webhook subscriptions for resource events. Authentication uses an API key passed in the X-API-Key header. Webhook deliveries are signed with HMAC-SHA256 in the x-akute-signature header.
  termsOfService: https://www.akutehealth.com/
  contact:
    name: Akute Health Support
    email: support@akutehealth.com
    url: https://developer.akutehealth.com/
  version: '1.0'
servers:
- url: https://api.akutehealth.com/v1
  description: Production
- url: https://api.staging.akutehealth.com/v1
  description: Staging
security:
- APIKeyHeader: []
tags:
- name: Appointments
paths:
  /appointments:
    post:
      operationId: createAppointment
      tags:
      - Appointments
      summary: Create an appointment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Appointment'
      responses:
        '201':
          description: Created
    get:
      operationId: searchAppointments
      tags:
      - Appointments
      summary: Search appointments
      parameters:
      - name: patient_id
        in: query
        schema:
          type: string
      - name: external_patient_id
        in: query
        schema:
          type: string
      - name: practitioner_user_id
        in: query
        schema:
          type: string
      - name: start_range
        in: query
        schema:
          type: string
      - name: end_range
        in: query
        schema:
          type: string
      - name: status
        in: query
        schema:
          type: string
          enum:
          - booked
          - fulfilled
          - cancelled
          - noshow
      responses:
        '200':
          description: OK
  /appointments/{appointment_id}:
    get:
      operationId: getAppointment
      tags:
      - Appointments
      summary: Get an appointment by id
      parameters:
      - $ref: '#/components/parameters/AppointmentId'
      responses:
        '200':
          description: OK
    put:
      operationId: updateAppointment
      tags:
      - Appointments
      summary: Update an appointment
      parameters:
      - $ref: '#/components/parameters/AppointmentId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Appointment'
      responses:
        '200':
          description: OK
    delete:
      operationId: deleteAppointment
      tags:
      - Appointments
      summary: Cancel/delete an appointment
      parameters:
      - $ref: '#/components/parameters/AppointmentId'
      responses:
        '200':
          description: OK
  /appointment_types:
    get:
      operationId: listAppointmentTypes
      tags:
      - Appointments
      summary: List appointment types
      responses:
        '200':
          description: OK
  /availability:
    get:
      operationId: getAvailability
      tags:
      - Appointments
      summary: Get practitioner availability
      parameters:
      - name: user_id
        in: query
        required: true
        schema:
          type: string
      - name: start_time
        in: query
        schema:
          type: string
          format: date-time
      - name: end_time
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: OK
components:
  parameters:
    AppointmentId:
      name: appointment_id
      in: path
      required: true
      schema:
        type: string
  schemas:
    Appointment:
      type: object
      properties:
        id:
          type: string
        patient_id:
          type: string
        external_patient_id:
          type: string
        practitioner_user_id:
          type: string
        appointment_type_id:
          type: string
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - booked
          - fulfilled
          - cancelled
          - noshow
        description:
          type: string
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key created on the Settings -> Developer page in Akute. Required on every request.