Changelog

Keep track of every change to the Server API.

2023-09-18

  • Add created_at and updated_at to the Note object.

2023-08-25

  • Enum copilot_note_section_key is now used in the note_section_request object

2023-08-25

  • Enum copilot_note_section_key are now documented uppercased, but uppercased and lowercased versions are accepted.

2023-07-27

  • Add /listen_async endpoint.
  • Add section_style parameter on /listen and /digest endpoints
  • Note section content now uses, for both requests and responses, a text field of type string rather than a content field of type string[]. The previous content field is deprecated but still supported.

2023-07-19

  • Improve error message and give more hints in case of bad request on /listen endpoint.

2023-07-17

  • Fix a rare race condition when opening a websocket connection on the /listen endpoint.

2023-07-11

  • Improve transcription of POST /listen for very small audio files (one small sentence).

2023-07-06

  • Expose new Copilot User endpoints equivalent to their Copilot User counterpart but with Copilot User authentication instead of Server API Key:
    • /v1/copilot/user/listen equivalent to /v1/copilot/server/listen;
    • /v1/copilot/user/digest equivalent to /v1/copilot/server/digest;
    • /v1/copilot/user/digest_async equivalent to /v1/copilot/server/digest_async.

2023-07-04

  • Increase audio file size and duration limits to 500Mb and 60 minutes on /v1/server/copilot/listen.

2023-06-30

  • The root path of copilot APIs has changed from /v1/server/copilot/... to /v1/copilot/server/.... Even though the copilot APIs are still in beta, we will keep supporting the previous paths for a short period of backwards compatibility to avoid breaking anyone!

2023-06-29

  • Add optional order (asc or desc) param to GET /conversations.

2023-06-26

  • The appointment_recording API object ("The appointment recording object represents a URL pointing to an audio recording of an appointment.") had the naming of its properties aligned with our general convention: expiresAt -> expires_at.
  • Added new endpoints for copilot user authentication.

2023-06-22

  • Add POST /copilot/listen endpoint for transcription and note generation from an audio file.

2023-06-21

  • Add metadata to appointment object.
  • Add console_status filter to the get Conversations endpoint.
  • Add the value unspecified for the enum of speaker on transcript_items in the digest API.
  • Add the value unspecified for the enum of speaker_type on streams in the listen API.

2023-06-19

  • Add support for more languages in Copilot API: [fr, en] are deprecated and replaced by [en-US, en-GB, fr-FR, es-ES, es-MX].

2023-05-26

  • Back port summary from Conversation to all API versions.
  • Add patient.tags field to the Patient object.

2023-05-25

  • Raise the timeout limit to 10 min for /copilot/digest endpoint.
  • Fix Copilot clinical note formatting.

2023-05-24

  • Add prescription.related_appointment field to the Prescription object.
  • Add document.related_appointment field to the Document object.
  • Add patient.tags field to the Patient object.

2023-05-23

  • Add conversation.message.content_deleted webhook event to signal message content deletion.
  • Add note_template optional parameter to /copilot/digest and /copilot/digest_async.

2023-05-22

2023-05-17

  • Add /copilot/digest_async endpoint as the asynchronous equivalent of /copilot/digest.
  • Add note_generation_mode input parameter to /digest.

2023-05-09

  • Improve the error message of not supporting providers-only conversations in the API.

2023-04-20

  • Add provider field on Prescription object.
  • Add POST on /prescriptions and PATCH on /prescriptions/{id}.
  • Add prescription.created, prescription.updated and prescription.deleted webhook events.

2023-04-18

  • Improve documentation on unread_by_providers_messages_count in Conversation.

2023-04-13

  • New Notes endpoints: GET, PATCH & DELETE on /notes/{id} and GET & POST on /notes.
  • New appointment.note.updated in Webhooks.

2023-04-11

  • In Receive events, two new webhook events are added when providers are assigned or unassigned on a conversation: CONVERSATION.ASSIGNED_PROVIDER.ADDED and CONVERSATION.ASSIGNED_PROVIDER.REMOVED.

2023-04-07

  • Create message automatically adds providers to a conversation if they hadn't joined it yet
  • Add an order parameter in Get all appointments to sort results in descending or ascending order.

2023-04-06

  • Create version 2023-04-06
  • In Appointment, change the type of note into a simple string and add a title property

2023-04-04

2023-03-31

2023-03-30

  • Add /prescriptions and /prescriptions/{id} to get a list of prescriptions, or get/delete a single one.
  • Add a Get openings endpoint to retrieve all the available slots to book an appointment for a list of doctors.

2023-03-29

2023-03-28

  • Create new version 2023-03-28
  • In The Availability object, supported_modes no longer return an array of enum ['NABLA_VIDEOCALL', 'EXTERNAL_VIDEOCALL', 'IN_PERSON'] but an array of enum containing only 2 values: 'VIDEOCALL' or 'IN_PERSON'
  • In Create an availability, the supported_modes property, in the body params, can be set with an array of enum containing 2 possible values: 'VIDEOCALL' or 'IN_PERSON'
  • Add an until parameter in Get all availabilities

2023-03-27

  • Phone number no longer need to be unique for patients of a sub-organization.

2023-03-23

2023-03-21

2023-03-13

2023-03-07

2023-03-02

2023-03-01

2023-02-21

2023-02-17

2023-02-16

2023-02-15

  • Add is_paid to the Appointment object.
  • Update update_appointment endpoint to update is_paid of an Appointment.

2023-02-08

  • Create version 2023-02-08 to have multiple assigned providers per conversation instead of only one.
  • Update the get conversation endpoint to return an assigned_providers field being a list of provider instead of a single assigned_provider.
  • Update the create conversation endpoint to accept an assigned_provider_ids field instead of a single assigned_provider_id.
  • Update the update conversation endpoint to accept an assigned_provider_ids field instead of a single assigned_provider_id.
  • Add EXTERNAL_VIDEOCALL mode to the Appointment object.
  • Add external_videocall_url to the Appointment object.

2023-02-03

  • Add PENDING status to the Appointment object.

2023-02-01

2023-01-31

2023-01-27

  • Create version 2023-01-27 to change phone numbers format in patient and provider objects. In this version, they are prefixed with the '+' sign.
  • Add mode to the Appointment object (NABLA_VIDEOCALL or IN_PERSON).
  • Add location as the provider address to the Appointment objects that are of mode IN_PERSON.
  • Add get_appointments endpoint to search for appointments.
  • Add get_appointment endpoint to get a single appointment and delete_appointment to drop it.

2023-01-24

  • Add status to the Appointment object
  • Add update_appointment endpoint to update the status of an Appointment (SCHEDULED, CANCELLED, FINALIZED, NO_SHOW)

2023-01-23

2023-01-17

2023-01-11

  • The MedicalData endpoint now shows family member medical conditions.

2023-01-10

  • Update family member enum

2023-01-05

  • Add support for PT

2022-12-22

2022-12-20

  • Create version 2022-12-20.
  • Deprecate text and attachment in Message create and replace them with content, a composite type that can be either a text or an attachment (but not both at the same time)
  • In QuestionnaireResponses create and update operations, data parameter is renamed into items.
  • In Patient create and update operations, patient_field_values parameter is renamed into custom_fields.

2022-12-16

  • Remove SURGICAL value from the category enum of the Condition object
  • Un-deprecate call_duration_minutes in /web_call_invitations.

2022-12-14

  • Create version 2022-12-14.

From this version, every request to update an object must be done with the HTTP PATCH method. It means that only the fields specified in the body of a request will be updated.
All the missing fields will be ignored (they won't reset the property to a null value, they will leave it unchanged). HTTP PUT is deprecated.

Ex.: If you just want to update the last name of a patient, you just need this property in your request:

curl --request PATCH
     --url https://api.nabla.com/v1/server/patients/98FCE1EF-DBCA-41EF-8BC7-4D1621AC07C6 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer <SERVER_JWT_TOKEN>' \
     --header 'content-type: application/json' \
     --data '
{
     "last_name": "Doe"
}
'

2022-12-08

  • Create version 2022-12-08
  • Add appointment.scheduled webhook event, replacing appointment.created (deprecated in 2022-12-08).
  • Add appointment.completed webhook event, replacing appointment.finalized (deprecated in 2022-12-08).
  • Add appointment.no_show webhook event.
  • Add patient_field_values field on patient. These values will be shown to the practitioners on the Nabla Console, where they will be able to edit them.

2022-12-07

2022-11-29

  • Add appointment_type_id to /appointments and /web_call_invitations.
  • Add appointment_category_id to /web_call_invitations.

2022-11-25

2022-11-18

  • Add Task endpoints.
  • Add new types of webhook events task.created, task.updated and task.deleted.
  • Add isPatientTask field on task which allows tasks to be assigned to the patient instead of the provider. A patient task can't have a provider assigned to it.

2022-11-15

  • In the Patient object, add an optional summary
  • Add new types of webhook events conversation.locked and conversation.unlocked. They are sent when a conversation is locked/unlocked.
  • Add locked field on conversation which describes whether a conversation is locked or not. A locked conversation can't receive new messages from the patient, providers, nor the system. (2022-10-19 only)

2022-11-04

  • Fix API calls that didn't use correctly the default pinned version.
  • In the Patient object, group all the address fields in a same object

2022-11-02

2022-10-31

  • Create version 2022-10-19 for conversation (see upgrades)
    • In the conversation object:
      • the patient field is deprecated and replaced by patients, which contains the list of patients included in the conversation
    • In Create a conversation, in body params:
      • patient_id is deprecated and replaced by patient_ids, which contains the list of patients included in the conversation.
      • A new field is required, type, to categorize the conversation with 2 possible values:
        • individual_conversation, when there's a single patient with one or several practitioners
        • group_conversation for conversation with several patients.
    • In Update a conversation, in body params:
      • a new field can be used in the params: patient_ids, if you want to add new patients in a "group conversation"

2022-10-26

2022-10-24

2022-10-20

2022-10-11

2022-10-06

  • Add Authentication endpoints that provide JWT tokens to log in a user.