Error Structure
Our API returns a consistent error structure for all errors. The API always returns a JSON response with an array ofissues
, Onsi Issues always have a code
and a message
.
An exhaustive list can be found lower down.
Using the
message
field to conditionally handle errors is not recommended as the message
field may change in the
future. Always use the code
field to conditionally handle errors, or any other property in a specific error, like
the row
in an InvalidContent
error.Error List
Generic
We may introduce more specific error codes to replace the existing generic ones in the future. For now, we recommend
treating any generic error codes as a catch-all.
InternalServerError
This is our generic internal server error, this will be returned in cases where an unexpected error occursBadRequest
This is our generic bad request error, this will be returned in cases where the request is malformed or invalid and there is no more specific error code to returnA human-readable message used for debugging and logging
Forbidden
This is our generic forbidden error, this will be returned in cases where the user is not allowed to perform the requested actionA human-readable message used for debugging and logging
NotFound
This is our generic not found error, this will be returned in cases where the requested resource does not existA human-readable message used for debugging and logging
Conflict
This is our generic conflict error, this will be returned in cases where the request conflicts with the current state of the serverA human-readable message used for debugging and logging
RateLimitExceeded
The request was rate limitedA human-readable message used for debugging and logging
Request Validation
BodyValidation
An error occurred while validating the request bodyA human-readable message used for debugging and logging
QueryValidation
An error occurred while validating the request query parametersA human-readable message used for debugging and logging
PathValidation
An error occurred while validating the request path parametersA human-readable message used for debugging and logging
HeaderValidation
An error occurred while validating the request headersA human-readable message used for debugging and logging
Specific
MemberNotFound
The member could not be foundA human-readable message used for debugging and logging
The unique identifier for a Member, prefixed with mem_
MemberNotEligible
The member is not eligible to perform the requested actionA human-readable message used for debugging and logging
The unique identifier for a Member, prefixed with mem_
MemberAlreadyInvited
The member has already been invitedA human-readable message used for debugging and logging
The ID of the member who already exists in the system
MemberInsufficientFunds
The member does not have enough funds to perform the requested actionA human-readable message used for debugging and logging
The unique identifier for a Member, prefixed with mem_
BankAccountInvalid
The bank account provided is invalidA human-readable message used for debugging and logging
FileContent
An error occurred while processing the file content, commonly used for CSV/Ecxel filesA human-readable message used for debugging and logging
The row number in the file where the error occurred
AmountBelowLowerLimit
The requested withdrawal intent amount is below the minimum which can be withdrawn, also returns the minimum amount which can be withdrawnA human-readable message used for debugging and logging
AmountAboveUpperLimit
The requested withdrawal intent amount is above the maximum which can be withdrawn, also returns the maximum amount which can be withdrawnA human-readable message used for debugging and logging
InvalidAddMemberPayload
The payload provided to add a member is invalidA human-readable message used for debugging and logging
The email provided to add a member
InvalidUpdateMemberPayload
The payload provided to update a member is invalidA human-readable message used for debugging and logging
The unique identifier for a Member, prefixed with mem_
InvalidRemoveMemberPayload
The payload provided to remove a member is invalidA human-readable message used for debugging and logging
The unique identifier for a Member, prefixed with mem_