Skip to main content

Errors

The errors below are specific to TagoSQL queries. Standard API errors (authentication, rate limiting, per-endpoint status codes) behave as they do everywhere else; see the TagoIO API reference.

Query problems (400)

Fix the query or the request:

TriggerExample message
SQL syntax error or disallowed constructInvalid query
Inactive query executedSQL query is inactive
Written LIMIT above the plan row capLIMIT exceeds the plan row cap (100). Lower it and paginate with OFFSET
Result exceeds the row cap (query had no LIMIT)Result exceeds the 100-row limit. Add LIMIT (and OFFSET to paginate)
Missing, extra, duplicate, or gapped $n parameterMessage naming the $n token
Parameter value invalid for how the query uses itInvalid value for parameter $1
Fleet query without the required filtersdevice_data_by_tag requires a variable = '<name>' filter
Fleet time bound older than the plan windowtime bound exceeds the 90-day window allowed on your plan
Fleet tag filter matching too many devicesTag filter matches more than 100 devices. Narrow the tags or paginate with after_device

Plan limits (402)

Raised by upgrading the plan (or lowering usage): the stored-query cap, the per-query parameter cap, JOINs on the Free plan (JOINs require a Starter plan or above), too many joined tables, and an exhausted monthly data output allocation.

Not found (404)

TriggerExample message
Query id not on your profile (including someone else's)SQL Query can't be found
Version not in the query's history404
Device or entity not owned or nonexistentDevice 'x' not found
Device exists but has never stored dataDevice 'x' has no data
Fleet tag filter matching no deviceNo device found with tag

Ownership failures are always 404, never 403: a resource you cannot access is indistinguishable from one that does not exist.

Timeout (408)

The query exceeded your plan's execution timeout: Query timed out (15s limit). Narrow the time range, add tighter filters, or reduce the number of joined tables.