Error handling

List of HTTP status codes used by the API.

This page explains how Qombo classifies API errors and how to fix them.

API error format

Qombo API endpoints return errors in this format:

{
  "error": "Human-readable message",
  "code": "ERROR_CODE",
  "details": ["Optional field-level details"]
}

HTTP status codes

HTTP statusWhat it meansWhat to do
400 Bad RequestThe request format or one of the provided values is invalid.Fix the request body, query string, file, or identifier and retry.
401 UnauthorizedAuthentication failed.Check your API key, client certificate setup, and any IP restrictions.
403 ForbiddenThe request is valid, but the action is not allowed for your organisation or configuration.Check enabled modules, feature access, and operation-specific permissions.
404 Not FoundThe requested resource does not exist.Verify the identifier you sent and whether the target resource still exists.
409 ConflictThe request conflicts with existing data.Update the request to avoid duplicates or already-existing resources.
429 Too Many RequestsYou sent too many requests in a short time.Wait and retry later.
500 Internal Server ErrorQombo could not complete the request because of an internal issue.Retry later. If the problem persists, contact Qombo support with request context.

API error codes

CodeHTTP statusMeaningWhat to do
INVALID_DATA400A request field, query parameter, cursor, identifier, or other client-provided value is invalid.Review the request format and use details when present to correct the payload.
AUTHENTICATION_FAILED401Authentication could not be completed.Check your API key, mTLS certificate, request origin IP, and authentication headers.
MODULE_NOT_ACTIVATED403Your organisation does not have access to the requested module.Contact Qombo support to enable the module.
RATE_LIMIT_EXCEEDED429You exceeded a request-rate protection rule.Wait before retrying the same request.
TECHNICAL_ERROR500Qombo encountered an internal technical issue while processing the request.Retry later. If repeated, contact support.
VOP_INVALID_EXPOSE_OPTION403Your organisation is trying to use the cloud expose option but it's not activated.Use the correct responding setup for your organisation.
VOP_INVALID_FILE400The uploaded file is missing, has the wrong type, cannot be parsed, or contains invalid data.Upload a valid CSV file and fix any parsing or row-format issues shown in details.
SHARING_INVALID_REPORT_ID400The report ID in the request path is invalid.Send a valid numeric report ID.
SHARING_INVALID_ALERT_ID400The alert ID in the request path is invalid.Send a valid numeric alert ID.
SHARING_REPORT_CONTEXT_ALREADY_SET400The report context cannot be updated because source or channel information is already set.Do not retry the same update. Treat the report context as already locked.
SHARING_REPORT_NOT_FOUND404The requested report does not exist.Verify the report ID before retrying.
SHARING_ALERT_NOT_FOUND404The requested alert does not exist.Verify the alert ID before retrying.
SHARING_REPORT_QUALIFY_FORBIDDEN403Your organisation is not allowed to qualify this report.Check that you are acting on a report your organisation is allowed to qualify.
SHARING_REPORT_QUALIFY_DELETED403The report has already been deleted and cannot be qualified.Stop retrying, the report cannot be qualified.
SHARING_REPORT_DELETE_FORBIDDEN403Your organisation is not allowed to delete this report.Check that your organisation owns the report before retrying.
SHARING_REPORT_ALREADY_DELETED403The report is already deleted.Treat the delete as already completed and refresh local state.
SHARING_REPORT_UPDATE_FORBIDDEN403Your organisation is not allowed to update this report.Check permissions and report ownership before retrying.
SHARING_REPORT_UPDATE_DELETED403The report is already deleted and cannot be updated.Stop retrying, the report cannot be updated.
SHARING_DUPLICATES_IBAN409The request contains the same IBAN more than once.Remove duplicates from the request and retry.
SHARING_IBAN_EXISTING_YOUR_LISTS409At least one IBAN already exists in one of your organisation’s lists.Remove existing entries from the request.
SHARING_IBAN_EXISTING_ANOTHER_LIST409At least one IBAN is already linked to another organisation’s list.Do not retry unchanged. Contact Qombo support if ownership looks incorrect.
SHARING_IBAN_NOT_FOUND404At least one IBAN was not found in the expected organisation list.Refresh your local list and retry with the correct IBAN set.

EPC error classification

For EPC scheme-facing VoP exchanges, the response format follows EPC conventions.

CodeHTTP statusTitleMeaningWhat to do
FORMAT_ERROR400MALFORMED_BODYThe JSON body does not match the expected EPC request structure.Rebuild the request body according to the EPC schema.
FORMAT_ERROR400INVALID_REQUEST_IDThe x-request-id header is missing or invalid.Send a valid x-request-id.
TIMESTAMP_INVALID400INVALID_TIMESTAMP_HEADERThe x-request-timestamp header is missing or invalid.Send a valid timestamp header in the expected format.
FORMAT_ERROR400MISSING_PARTY_IDENTIFICATIONRequired party-identification information is missing.Add the missing payee identification fields.
CLIENT_INVALID401NOT_REGISTERED_HEREThe requesting PSP is not recognised for this route or environment.Verify that you are calling the correct target and environment.
CLIENT_INVALID401NOT_ADHERENT_TO_SCHEMEThe requesting PSP is not accepted as a valid scheme participant.Check your scheme onboarding and participant configuration.

Common examples

Example: invalid request body

{
  "error": "Invalid data",
  "code": "INVALID_DATA",
  "details": ["party.companyids.0.companyid.fr_siret: invalid fr_siret format"]
}

Meaning: the request is structurally valid JSON, but one input value is invalid.

Action: fix the field listed in details and resend the request.

Example: authentication failure

{
  "error": "Invalid API key",
  "code": "AUTHENTICATION_FAILED"
}

Meaning: Qombo could not authenticate the caller.

Action: verify your API key, environment, and authentication setup.

Example: sharing conflict

{
  "error": "The request contains duplicate IBANs",
  "code": "SHARING_DUPLICATES_IBAN"
}

Meaning: the request conflicts with itself before Qombo can process it.

Action: remove duplicate IBANs and retry.