Skip to main content
Each error uses the same wrapper as /v1. The wrapper has a stable code and a message for a person to read. Use the code to select the action in your integration. The text of the message can change.
Jenzy never renames a code and never removes a code. Jenzy only adds codes. The shared codes of the MWK API errors page apply on /v2 too. Examples are validation_error, unauthorized, not_found, conflict, rate_limited, internal_error, service_incident, and service_maintenance. This page lists only the codes that are new or different on /v2.

Two groups of codes

  • Rejections (the first table) — Hermes refused the request. Hermes made no payout, no conversion, and held no money. Correct the request, or wait, and then send the request again.
  • Failure codes — Hermes accepted the request, and it failed later. A failed payout has a failure.code from the payout failure codes, the same words as /v1. A failed conversion has a failure.code from the conversion failure codes.

New rejection codes

Codes that are different on /v2

  • validation_error (400) also covers a create request with no Idempotency-Key. On /v2 the key is necessary on POST /v2/payouts and POST /v2/conversions.
  • insufficient_funds (402) is about one balance, the balance of the source asset. See the table above.
  • The /v1 codes unknown_institution, invalid_mobile_number, mobile_number_institution_mismatch, and invalid_account_number keep their meaning for a bank or momo destination. A wallet destination uses invalid_wallet_address.
  • amount_limit_exceeded and org_limit_exceeded are /v1 codes. On /v2 the per-payout limits use amount_below_minimum and limit_exceeded. There is no daily cap.

When Jenzy pauses the API

service_incident and service_maintenance work as on /v1. See Maintenance and outages. /v2 has its own pause, apart from /v1. GET /v2/ping tells you the state of /v2. Its status field is live, maintenance, or outage. During a /v2 pause, each /v2 route but GET /v2/ping gives 503. Payouts that Hermes accepted before the pause continue automatically when the pause ends. Conversions that Hermes accepted get to their result. Hermes still delivers webhooks.
An access code never names the company that holds the money for Jenzy. onboarding_incomplete and access_suspended are about your org and Jenzy only. Speak to Jenzy when you get one.