Skip to main content

Error Handling

All SDK methods raise a MoneiError on failure:
from monei import MoneiSDK
from monei.errors import MoneiError

try:
    tx = monei.payout.bank_transfer({ ... })
except MoneiError as e:
    print(e.status_code)  # HTTP status code
    print(e.message)      # Human-readable description
    print(e.code)         # Machine-readable error code

Common Error Codes

CodeHTTP StatusMeaning
UNAUTHORIZED401Missing or invalid API key / bearer token
FORBIDDEN403Insufficient permissions or KYC tier too low
NOT_FOUND404Resource does not exist
VALIDATION_ERROR422Invalid request body
INSUFFICIENT_FUNDS400Wallet balance too low
RATE_LIMITED429Too many requests, back off and retry
INTERNAL_ERROR500Something went wrong on our end