Errors


Version Notice: SOFT Integration is available starting from API version 2026-08-01.
The API version you have selected does not include it. Switch to 2026-08-01 to access this functionality.

Error format

Except for 401, which returns an empty body, every error follows the same structure:

type SoftIntegrationError = {
  message: string;
  errorType: string;
};

Generate signature

Endpoint: POST /api/v1/generate-soft-integration-signature

StatuserrorTypeCauseWhat to do
400missingOrInvalidParameterorganizationId, email or requestId missing or malformed.Fix the payload.
400duplicatedRequestIdThe requestId was already used, whether the session is live, finished or cancelled.Generate a new requestId. They are never reusable.
400invalidApiVersionForEndpointThe X-Invox-Medical-Api-Version header targets a version that does not implement this endpoint.Send 2026-08-01 or omit the header.
401—The access token is missing, malformed or expired.Request a new access token.
403invalidPermissionThe API Key does not hold GENESIS-SOFT-INTEGRATION.Enable the permission for that API Key.
403userNotEligibleUnknown, disabled, or out-of-organization physician.Check the user exists, is enabled and belongs to the organization.
409activeSessionExistsTwo signature requests for the same physician raced each other.Retry. A previous session no longer causes this: it is cancelled automatically.

Get consultation result

Endpoint: GET /api/v1/soft-integration/{requestId}/result

StatuserrorTypeCauseWhat to do
400invalidApiVersionForEndpointThe X-Invox-Medical-Api-Version header targets a version that does not implement this endpoint.Send 2026-08-01 or omit the header.
401—No valid credential supplied.Request a new access token.
403invalidPermissionThe requestId belongs to another organization.Check you are using the credentials of the right tenant.
404requestNotFoundNo consultation exists for that requestId.Check the identifier.
409resultNotReadyThe consultation has not finished yet.Wait for the notification instead of polling.
410resultExpiredThe result was removed from temporary storage.Not recoverable. The consultation must be repeated.

Cancel consultation

Endpoint: DELETE /api/v1/soft-integration/{requestId}

StatuserrorTypeCauseWhat to do
400invalidApiVersionForEndpointThe X-Invox-Medical-Api-Version header targets a version that does not implement this endpoint.Send 2026-08-01 or omit the header.
401—No valid credential supplied.Request a new access token.
403invalidPermissionThe API Key does not hold GENESIS-SOFT-INTEGRATION, or the requestId belongs to another organization.Check the permission and the tenant credentials.
404requestNotFoundNo consultation exists for that requestId.Check the identifier used when generating the signature.
409sessionAlreadyFinishedThe consultation already finished or was cancelled.Nothing to do: the physician is already free.

Opening Invox Genesis

Opening the consultation view is a browser navigation, not an API call, so there is no error payload: the physician is redirected to a neutral access error page and no session is established.

SituationCause
Unknown or expired signatureMore than 3 hours elapsed since it was issued, or it was never issued.
Already exchanged signatureThe URL was reused.
Cancelled consultationThe session was released with Cancel consultation.

WebSocket

SituationBehaviour
Invalid signatureThe handshake is rejected with 401 and the connection is not established.
Expired signatureThe handshake is rejected with 401.
Malformed messageAn { "type": "error", "error": "INVALID_JSON" } message is returned; the connection stays open.
Unsupported actionAn { "type": "error", "error": "UNKNOWN_ACTION" } message is returned; the connection stays open.
InactivityThe connection is closed after roughly 10 minutes without traffic. Send ping messages.

Limits

A physician can only have one active SOFT Integration session at a time. Requesting a new signature for a physician who already has one cancels the previous session automatically: the latest one always wins. The displaced consultation stops working and produces no result.

Request one signature per consultation, at the moment the physician opens it.

Need a different behaviour for a specific deployment? Contact support with your organization identifier and your expected volume.