Python SDK - Errors#

Every failure raises a RafikiDBError with structured fields.

Fields#

FieldTypeExample
messagestr"invalid credentials"
statusint401
codestr"unauthorized"
errorslist[str]["Email is required"]

code is derived from the HTTP status: unauthorized, forbidden, not_found, conflict, invalid_input, quota_exceeded, internal_error.

Handling#

from rafikidb import RafikiDBError

try:
    db.from_("profiles").insert({})
except RafikiDBError as error:
    print(error.status, error.code, error.errors)
    # network failures arrive with status 0
Python

Common codes#

CodeHTTPMeaning
invalid_input400Malformed body, missing/invalid field
unauthorized401Missing or invalid key / JWT
forbidden403Authenticated but not allowed (scope, RLS)
not_found404Resource or table does not exist
conflict409Duplicate email/phone, conflicting state
quota_exceeded429Plan request limit reached
internal_error500Server error

See Error codes for the REST reference.