Changelog & Upgrades
Overview
Updates to the Invox Medical API — including new features, fields, or endpoints — are released under a new dated version to ensure stability and predictability. This means your integration won't be affected by these changes unless you explicitly opt into the newer version.
Version History
Version 2026-10-01
X-Invox-Medical-Api-Version header resolve to
2026-10-01. If your integration relies on the previous behaviour of the Medical Text Formatter, pin the header to
2026-08-01.AI Services Updates
Medical Text Formatter: new contract
The Medical Text Formatter endpoint (POST /api/v1/medical-text-formatter) introduces a new contract:
- New request fields:
formatting_level(optional,"low"|"medium"|"high", default"medium"): sets the maximum degree of intervention, from a deterministic cleanup (low) to AI-assisted reorganization (medium) or style editing (high).immutable_words(optional,string[], default[]): words or expressions that must be kept exactly as written (same case and accents) in the formatted text.
textlimits:textis required and must be between 1 and 50000 characters.- Fields without effect:
languageandpreserve_caseare still accepted but ignored. The language of the text is always detected automatically. - Response changes: the
messagefield is removed and a newtimestampfield (ISO 8601, UTC) is added.formatted_textandrequest_idare kept. - Error responses: errors now always return a
{ message, errorType }body with status400(invalidRequestBody),500(errorGeneratingMedicalReport) or503(serviceTemporarilyUnavailable). The previous422response is no longer returned.
Other endpoints
- All AI Services and SOFT Integration endpoints available in
2026-08-01also accept2026-10-01, with no changes in their behaviour. - The legacy
/api/v1/generate-reportendpoint does not support2026-10-01. It remains available only in2025-10-01and2025-11-01. Use Generate Clinical Note instead.
Management API Updates
X-Invox-Medical-Api-Version header. These changes apply to every request. Request payloads are unchanged.New endpoints
- Disable user (
PATCH /users/:id/disable): disables a user who belongs only to your organization, so they can no longer sign in. - Enable user (
PATCH /users/:id/enable): enables a disabled user who belongs only to your organization, including users blocked after too many failed login attempts.
Behaviour change
- Invite user: an Organization Admin can no longer invite users with the
ORGANIZATION_OWNERrole. The request now returns403witherrorType: "notAllowedResource", the same response that Edit user already returns for this rule. Only an Organization Owner can invite Organization Owners.
Fixes (same status codes and response structure)
- Select account: sending a
selectedAccountthat is not one of your organizations no longer clears your current selection. - Group list: requests without
limitnow return the groups of the organization instead of an empty list. - Invite user: a
groupIdthat does not belong to your organization is ignored, and the user is created without a group. When the email already had a platform account, theidfield now contains the user identifier. - Delete group: the users of a deleted group are left without a group (
groupId: "NOT-DEFINED") instead of pointing to the deleted group. - Delete user: deleting a user who belongs to several organizations now only removes them from your organization.
- Requests with a body that is not valid JSON still return
400, now with a JSON body instead of an HTML page.
Documentation
- All Management API pages now document the complete output of each endpoint: response fields,
401and403bodies, and everyerrorTypeanderrorMessagevalue. See Common responses.
Version 2026-08-01
SOFT Integration
New integration model
- Introduced SOFT Integration, which lets your EHR open an Invox Genesis consultation for a physician without the physician logging in, and retrieve the resulting clinical note.
- New endpoint Generate signature (
POST /api/v1/generate-soft-integration-signature) to authorize a single consultation for a single physician. - New endpoint Get consultation result (
GET /api/v1/soft-integration/{requestId}/result) to retrieve the clinical note once the consultation has finished. - New endpoint Cancel consultation (
DELETE /api/v1/soft-integration/{requestId}) to release a physician whose session was abandoned. - SOFT Integration consultations are notified through the existing
OnMedicalReportFinishedwebhook event, marked withorigin: "SOFT_INTEGRATION"and carrying the optionalconsultationMetadata. There is also a WebSocket channel for the browser. - Requires an API Key holding the new
GENESIS-SOFT-INTEGRATIONpermission.
400 and
invalidApiVersionForEndpoint, since they did not exist in 2026-03-01 or before. Existing integrations are
unaffected: this release adds endpoints and never changes the behaviour of the previous ones.requestId values are single-use. Once accepted, a requestId can never be reused, not even after the
consultation is cancelled. Generate a fresh value on every attempt.AI Services Updates
Generate Clinical Note Enhancements
- Added a new
generationMetadatafield to the Generate Clinical Note response. It provides detailed information about the generation outcome, including whether the result was partial, the number of failed fields, per-field status, and a recommendation for the client. - Supports partial responses: when one or more fields fail to generate, the response now returns the successfully generated fields along with
failedFields(each with areasonCodeandretryableflag) and arecommendation(e.g.RETRY_RECOMMENDED).
generationMetadata field in the Generate Clinical Note response.Version 2026-03-01
New Features
Updates
- All previous features from version 2025-11-01 are included and maintained.
- Addeed new endpoints for generating pre-signed URLs for document uploads and deleting uploaded documents in the context of clinical note generation.
- Added Consultation Summary Generation endpoint to generate summaries based on audio transcriptions.
- Added IM Tools endpoints
- Added support for generating clinical note in Euskera, Galician and Valencian.
Webhooks
- Added Webhooks documentation section with full reference for all available webhook events, including credentials, signature verification algorithm, and implementation examples in TypeScript, C#, Java, and Python.
- Supported events:
OnTranscriptionFinished,OnMedicalReportFinished,OnInvoxAuraTranscriptionFinished,OnInvoxAuraClinicalNoteCreated,OnInvoxAuraClinicalNoteFinished,OnInvoxAuraAudioCreated, andOnAlertTriggered.
Version 2025-11-01
AI Services Updates
Streaming Transcription Enhancements
- Updated input data contract: we introduce the session concept
- Removed callbackUrl field as mandatory when opening the web socket
- Added a new kind of message type:
END_TRANSCRIPTION - Clarified the usage of isTranscriptionCompleted field
For more details, check the Streaming Transcription Guide and the Get Transcription endpoint.
New Translation Endpoints
- Added endpoint for translating transcriptions: We have added a new endpoint that allows translating transcriptions generated by our AI services. Check the Translate Transcription endpoint for more details.
- Added endpoint for translating clinical notes: We have added a new endpoint that allows translating clinical notes generated by our AI services. Check the Translate Clinical Note endpoint for more details.
Changed Generate Report Endpoint
- New endpoint for generating medical reports: We have renamed the existing
generate-reportendpoint togenerate-clinical-noteto better reflect its purpose. Check the Generate Clinical Note endpoint for more details.
Management API Updates
- Select account after successful authentication: After successfully authenticating, users can now select the desired account to work with, enhancing flexibility for multi-account users. For more details, refer to the Select account.
- Search events: allow us get events or actions performed by users in the platform. Check the Search Events endpoint for more details.
- Login endpoint: Output contracts have been updated: added
accountsfield to list all accounts associated with the authenticated user, addeduserIdfield to identify the user, addedfullNamefield to provide the user's full name.
Version 2025-10-01
Initial Release
- First version of the API
- Core AI Services functionality
- Management API endpoints
- Authentication system
Upgrade Guide
Migrating to Version 2026-10-01
The only breaking change affects the Medical Text Formatter endpoint. The rest of the endpoints behave exactly as in 2026-08-01.
Medical Text Formatter Updates
- Request: stop sending
languageandpreserve_case, since they no longer have any effect. Use the new optionalformatting_levelandimmutable_wordsfields if you need them. - Response: remove any dependency on the
messagefield. Use the newtimestampfield if you need the date of the response. - Errors: handle
400,500and503responses with the{ message, errorType }body instead of the previous422response.503responses can be retried. - Version header: if you are not ready to upgrade, send
X-Invox-Medical-Api-Version: 2026-08-01. Requests without the header receive the2026-10-01contract.
Migrating to Version 2025-11-01
If you're currently using streaming transcription services, please review the following breaking changes:
Streaming Transcription Updates
- Session Concept: Update your integration to handle the new session-based workflow
- CallbackUrl Changes: The callbackUrl field is no longer mandatory when opening WebSocket connections
- New Message Types: Handle the new
END_TRANSCRIPTIONmessage type in your WebSocket message handlers - isTranscriptionCompleted Field: Update your logic to check for the
isTranscriptionCompletedfield to determine when transcription is complete and retrieve the transcription using the Get Transcription endpoint.
Recommended Actions
- Review your WebSocket implementation
- Update message type handlers
- Test with the new session workflow
- Update error handling for the new message structure
Targeting a specific version
Default API Version
If we don't specify a version when making API requests, the system will automatically use the latest stable version available. This ensures that we always benefit from the most recent features and improvements without needing to adjust our integration.
Specifying a Version
To set the API version on a specific request, you can add a specific header named X-Invox-Medical-Api-Version with the value of the version you are targeting:
X-Invox-Medical-Api-Version: 2026-10-01
This approach allows us to maintain compatibility with a specific version of the API while still having the flexibility to upgrade when we're ready.