error

Kyshi uses conventional HTTP status codes and a consistent JSON response envelope.

Use the HTTP status code for transport-level handling and the status, message, and data fields for application-level handling.

HTTP Status Code Summary

MethodDescription
200 - OKEverything worked as expected.
201 - CreatedEverything worked as expected and a new record has been created
400 - Bad RequestThe request was unacceptable, often due to missing a required parameter.
401 - UnauthorizedNo valid API key provided.
403 - ForbiddenThe API key doesn't have permissions to perform the request.
404 - Not FoundThe requested resource doesn't exist.
422 - Unprocessable EntityThis means we understands the content type of the request body, and the syntax of the request body is correct however we're unable to process the contained instructions.
429 - Too Many RequestsToo many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500, 502, 503, 504 - Server ErrorsSomething went wrong on Kyshi's end.

Error Response Shape

{
  "status": false,
  "message": "Unsupported Merchant Currency",
  "code": 422,
  "data": {}
}

Integration Advice

  • Treat 400 errors as request-shape issues: missing fields, invalid enums, or wrong data types.
  • Treat 401 errors as key or environment issues.
  • Treat 404 errors as ID/reference/mode mismatches.
  • Treat 422 errors as business-rule failures, such as unsupported currency or insufficient balance.
  • Retry 5xx errors only when the operation is safe to retry or when you supplied your own unique reference.