Error Codes
When a query fails, the response has status: "error" and an error object with a code and message. The HTTP status is 200 (the transport succeeded; the OQL execution failed).
{
"status": "error",
"error": {
"code": "StringNoMatch",
"message": "No match for /\\d+/"
}
}
| Code | Description |
|---|---|
ParseError | Syntax error in the query — check verb spelling and modifier order |
QuotaExceeded | Daily query limit reached — upgrade tier |
InstanceLimitExceeded | Concurrent query limit reached — upgrade tier or reduce parallelism |
AuthFailed | Invalid or expired session token in the auth object |
FsReadError | File not found or permission error on READ, INCLUDE, or IMAGE LOAD |
FsWriteError | Write failed — storage full or path invalid |
NetUnreachable | FETCH, POST, or other network verb could not connect |
NetTimeout | Network request timed out |
StringFailed | String verb received wrong type or invalid input |
StringNoMatch | MATCH or EXTRACT found no match — use OR to handle gracefully |
CastFailed | CAST could not convert to the target type |
CastIncompatible | CAST target type is not supported |
DatabaseError | Query, insert, or update failed — check table and field names |
ExtractNoMatch | EXTRACT found no matching key or pattern |
ExtractInvalidSelector | EXTRACT WHERE value is not valid regex or JSONPath |
EmailFailed | Email could not be delivered |
MapGeocodeError | MAP GEOCODE could not find the address |
MapNotConnected | MAP ROUTE or other map operation failed |
EncodeFailed | ENCODE failed — check input type |
DecodeFailed | DECODE failed — invalid base64 or other encoded string |
CompressFailed | COMPRESS failed — check input type and format |
ConvertFailed | CONVERT failed — unsupported format pair or corrupted input |
Handling errors in OQL
FETCH "https://api.example.com/data" SET ?data
OR NEW JSON OBJECT
OPEN NEST
SET "error" AS "Fetch failed — using default"
AND SET "default" AS true
CLOSE NEST
SET ?data
AFTER EMIT ?data