PHP SDK - Errors#

Every failure throws a RafikiDBException.

Fields#

FieldTypeExample
getMessage()string"invalid credentials"
statusint401
errorCodestring"unauthorized"
errorsarray["Email is required"]

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

Handling#

use RafikiDB\RafikiDBException;

try {
    $db->from('profiles')->insert([]);
} catch (RafikiDBException $e) {
    $e->getMessage(); // "Nationality is required"
    $e->status;       // 400
    $e->errorCode;    // "invalid_input"
    $e->errors;       // ["Nationality is required"]
}
PHP

Connection failures are thrown with status = 0 and a "Connection error: ..." message.

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.