Skip to content

Error Handling

Use this page to understand:

  • How API errors are structured
  • How to use code, message, and doc_url

Error Response Body

FieldTypeDescription
errorsarrayList of one or more error objects.
errors[].codestringStable machine-readable code for client handling.
errors[].messagestringHuman-readable detail of what failed.
errors[].doc_urlstringAbsolute URL to the matching error-code page (domain depends on deployed docs environment).

Recommendation

Use code TODO ...

Error Code Directory

77 results

Error codeHTTP statusDescription
parameter_invalid400One or more request parameters do not satisfy the expected schema.
email_message_invalid_subject400The queued email subject exceeds the entity limit.
queue_email_message_invalid_idempotency_key400The queued email idempotency key is blank or invalid.
queue_email_message_internal_template_rendering_failed400The internal email template could not be rendered.
duplicate_fund_in_target_allocation400The same ISIN appears more than once in a target allocation.
duplicate_fund_in_switch400The same ISIN appears more than once in a switch.
invalid_target_allocation400One target-allocation percentage fails validation.
percentage_buy_legs_sum_is_not_10000_basis_points400The buy legs do not sum to 10000 basis points.
percentage_target_allocation_is_not_10000_basis_points400The target allocation does not sum to 10000 basis points.
self_investment_switch_compartment_is_not_self_invested400The compartment is not self-invested.
self_investment_switch_position_is_unknown400A sell leg references an unknown current position.
self_investment_switch_share_valuation_is_unknown400A switch leg references a fund without a known share valuation.
attempt_to_sell_full_position_in_amount400A full-position sell leg was expressed as an amount.
attempt_to_buy_in_amount_when_selling_full_position400A buy leg was expressed as an amount while selling a full position.
legs_are_not_balanced400The sell and buy legs do not balance.
insufficient_funds_in_percentage400The percentage sell exceeds the available position.
unauthorized401Authentication is missing, invalid, or rejected.
forbidden403The authenticated caller lacks permission for the operation.
resource_not_found404The requested resource does not exist.
compartment_not_found404The requested compartment does not exist.
discretionary_manager_not_found404The requested discretionary manager does not exist.
fund_not_found404The requested fund or ISIN does not exist.
mandate_not_found404The requested mandate does not exist.
conflict409The request could not be completed because of a state conflict.
discretionary_manager_already_exists409A discretionary manager with the same ID already exists.
mandate_already_exists409A mandate with the same ID already exists.
self_investment_target_allocation_compartment_is_not_self_invested409The compartment is not self-invested.
delegate_compartment_to_mandate_compartment_is_not_self_invested409The compartment is not self-invested.
switch_already_exists409A switch with the same ID already exists.
target_allocation_already_exists409A target allocation with the same ID already exists.
remaining_position_might_be_lower_than_1_share_value422The remaining position would fall below the minimum share value.
position_after_buying_would_be_lower_than_1_share_value422The resulting position would fall below the minimum share value.
insufficient_funds422The sell amount is larger than the current position.
position_might_be_insufficient_due_to_market_drop_down422The switch sells too much of the position to stay safe against market movement.
delegate_compartment_to_mandate_mandate_has_no_target_allocation422The mandate has no target allocation yet.
unprocessable_content422The request body is syntactically valid but violates endpoint-specific business rules.
database_query_timeout500A database query timed out while handling the request.
internal_server_error500An unexpected server-side error occurred.
unexpected_error500An unexpected server-side error occurred.
missing_admin_notification_recipients400The emailing service has no admin notification recipients configured.
invalid_admin_notification_from_email400The admin notification sender email is missing or blank.
invalid_idempotency_key400The admin notification idempotency key is blank.
email_message_not_found404The requested queued email message does not exist.
queue_admin_notification_unexpected_error500The admin notification pipeline failed unexpectedly.
payer_invalid_email422The email address provided for the payer could not be validated.
payer_invalid_phone_number422The phone number provided for the payer could not be validated.
payer_subscriber_not_found404The subscriber referenced when creating a payer does not exist.
payer_not_found404The requested payer does not exist.
direct_debit_not_found404The requested direct debit does not exist or is not in FAILED status.
policy_virtual_iban_not_found404The requested policy does not exist, so its virtual IBAN cannot be returned.
suspense_account_transfer_not_found404The requested suspense account transfer does not exist.
payer_personal_iban_already_registered409The IBAN is already registered for this payer during payer creation.
payer_human_id_generation_failed500The system could not generate a human-readable identifier for the new payer.
payer_created_event_store_failed500The system could not persist the PayerCreated event.
broker_not_found404The broker referenced by the authenticated broker identity does not exist.
broker_not_found_by_payer_id404The broker associated with the payer's subscriber could not be found.
personal_iban_not_found404The requested personal IBAN does not exist for the payer.
register_payer_personal_iban_invalid_iban422The IBAN provided for registration does not pass validation.
register_payer_personal_iban_unauthorized_country422The IBAN's country is not authorized for registration.
register_payer_personal_iban_already_registered409The IBAN is already registered for this payer.
callback_url_already_registered_for_broker409The callback URL is already registered for this broker.
register_payer_personal_iban_event_store_failed500Could not persist the event after registering the personal IBAN.
delete_payer_personal_iban_has_premium_request409The IBAN is associated with one or more premium requests.
delete_payer_personal_iban_default_iban409The IBAN is set as the default IBAN and cannot be deleted.
delete_payer_personal_iban_event_store_failed500Could not persist the event after deleting the personal IBAN.
single_premium_request_details_not_found404The requested single premium request details were not found.
single_premium_request_not_found404The requested single premium request does not exist. Used by repository/internal code, not current premium-scheduling HTTP responses.
single_premium_request_not_pending404 / 409The single premium request is no longer in PENDING status.
single_premium_request_compartment_not_found404The compartment referenced when creating a single premium request does not exist.
single_premium_request_payer_belongs_to_another_subscriber403The payer belongs to a different subscriber.
recurring_premium_request_not_found404The requested recurring premium request does not exist.
recurring_premium_request_occurrence_not_found404The recurring premium request occurrence was not found.
recurring_premium_request_payer_iban_not_found404The payer IBAN was not found when creating a recurring premium request.
recurring_premium_request_payer_belongs_to_another_subscriber403The payer belongs to a different subscriber.
recurring_premium_request_invalid_periodicity_unit400The periodicity unit is invalid.
recurring_premium_request_invalid_periodicity_value400The periodicity value is invalid.
recurring_premium_request_invalid_day_of_month400The day of month is invalid.

HTTP Status Code Reference

HTTP statusMeaning in current API behavior
200 OKSuccessful cancellation response
201 CreatedResource created successfully
400 Bad RequestRequest validation or client input error
401 UnauthorizedMissing or invalid authentication
403 ForbiddenAuthenticated caller lacks required permission or claim
404 Not FoundReferenced entity or request does not exist
409 ConflictOperation rejected due to state conflict
422 Unprocessable ContentRequest is valid JSON but violates business rules
500 Internal Server ErrorUnexpected server error