200 | Success. | Use data. |
202 | The bank has not confirmed the outcome yet. Money may already have moved, or an account may already be opening. | Do not retry with a new reference. Check the status, or repeat the same request with the same reference or details. See Idempotency and retries. |
400 | The request was refused, usually by the bank or because a record was not found for your business. | Read message. For a refused transfer, use a new reference to try again. |
401 | The API key is missing or not recognised, or your business is switched off. | Check your key. See Authentication. |
403 | The action is not allowed for this account or customer. For example, the account is held by Halo for investments, or the customer also banks with Halo outside your business. | Do not retry. Contact Halo support if you need the change. |
404 | The customer, account or reference was not found for your business. | Check the identifier. You can only see records your business created. |
422 | Validation failed, or a business rule refused the request, such as a transfer limit or an account that still holds money. | Fix the request before sending it again. |
429 | Too many requests. The message is Too Many Attempts. | Wait and try again. See Rate limits. |
500 | Something failed at Halo or a provider. | For money requests, check the status before trying again. |
502 | The bank did not answer clearly. | Check the account or the status before trying again. |
503 | Halo could not confirm something with the bank, for example an account balance before closing it. | Try again later. |