{"id":2943,"date":"2026-01-26T08:15:52","date_gmt":"2026-01-26T13:15:52","guid":{"rendered":"https:\/\/www.airsupervision.com\/wp-r\/docs\/administrator\/apis\/errors\/"},"modified":"2026-02-25T08:14:48","modified_gmt":"2026-02-25T13:14:48","slug":"errors","status":"publish","type":"docs","link":"https:\/\/www.airsupervision.com\/wp-r\/docs\/administrator\/apis\/errors\/","title":{"rendered":"Errors"},"content":{"rendered":"\n<ul class=\"wp-r_indent50\">\n<li><code>unauthorized<\/code> (401) missing\/invalid token (returned without envelope).<\/li>\n\n\n\n<li><code>forbidden<\/code> (403) valid token without required scope.<\/li>\n\n\n\n<li><code>not_found<\/code> (404) unknown resource or action.<\/li>\n\n\n\n<li><code>method_not_allowed<\/code> (405) wrong HTTP method.<\/li>\n\n\n\n<li><code>invalid_json<\/code> (400) body is not valid JSON.<\/li>\n\n\n\n<li><code>missing_fields<\/code> (400) required fields are missing.<\/li>\n\n\n\n<li><code>invalid_field<\/code> (400) field name is invalid.<\/li>\n\n\n\n<li><code>invalid_filter_field<\/code> (400) filter field is invalid.<\/li>\n\n\n\n<li><code>invalid_filter_value<\/code> (400) filter value\/operator is invalid.<\/li>\n\n\n\n<li><code>invalid_order<\/code> (400) order format is invalid.<\/li>\n\n\n\n<li><code>invalid_order_field<\/code> (400) order field is invalid.<\/li>\n\n\n\n<li><code>invalid_order_direction<\/code> (400) order direction is invalid.<\/li>\n\n\n\n<li><code>invalid_email<\/code> (400) email validation failed (users).<\/li>\n\n\n\n<li><code>duplicate_field<\/code> (409) a unique field already exists<\/li>\n\n\n\n<li><code>email_exists<\/code> (409) email already exists (users).<\/li>\n\n\n\n<li><code>invalid_version<\/code> (400\/404) unsupported API version.<\/li>\n\n\n\n<li><code>invalid_env<\/code> (400) env is missing\/invalid or not allowed.<\/li>\n\n\n\n<li><code>env_mismatch<\/code> (401) token env does not match URL env.<\/li>\n\n\n\n<li><code>plan_expired<\/code> (403) token plan expired.<\/li>\n\n\n\n<li><code>request_in_flight<\/code> (429) another request is still processing for this token.<\/li>\n\n\n\n<li><code>rate_limit_daily<\/code> (429) daily limit reached.<\/li>\n\n\n\n<li><code>rate_limit_minute<\/code> (429) per-minute limit reached.<\/li>\n\n\n\n<li><code>rate_limit_error<\/code> (500) rate limit storage failed.<\/li>\n\n\n\n<li><code>db_connect_failed<\/code> (500) database connection failed.<\/li>\n\n\n\n<li><code>db_query_failed<\/code> (500) database query failed.<\/li>\n\n\n\n<li><code>db_insert_failed<\/code> (500) database insert failed.<\/li>\n\n\n\n<li><code>auth_db_connect_failed<\/code> (500) auth DB connection failed.<\/li>\n\n\n\n<li><code>auth_db_query_failed<\/code> (500) auth DB query failed.<\/li>\n\n\n\n<li><code>auth_token_key_missing<\/code> (500) token HMAC key not configured.<\/li>\n\n\n\n<li><code>token_last_used_failed<\/code> (500) failed to update token usage.<\/li>\n\n\n\n<li><code>config_invalid<\/code> (500) missing DB config.<\/li>\n\n\n\n<li><code>invalid_table<\/code> (500) table or column name is invalid.<\/li>\n<\/ul>\n\n\n\n<table id=\"tablepress-23\" class=\"tablepress tablepress-id-23\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\">Code<\/th><th class=\"column-2\">Type<\/th><th class=\"column-3\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">401<\/td><td class=\"column-2\">unauthorized<\/td><td class=\"column-3\">missing\/invalid token (returned without envelope)<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">403<\/td><td class=\"column-2\">forbidden<\/td><td class=\"column-3\">valid token without required scope<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">404<\/td><td class=\"column-2\">not_found<\/td><td class=\"column-3\">unknown resource or action<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\">405<\/td><td class=\"column-2\">method_not_allowed<\/td><td class=\"column-3\">wrong HTTP method<\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_json<\/td><td class=\"column-3\">body is not valid JSON<\/td>\n<\/tr>\n<tr class=\"row-7 odd\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">missing_fields<\/td><td class=\"column-3\">required fields are missing<\/td>\n<\/tr>\n<tr class=\"row-8 even\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_field<\/td><td class=\"column-3\">field name is invalid<\/td>\n<\/tr>\n<tr class=\"row-9 odd\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_filter_field<\/td><td class=\"column-3\">filter field is invalid<\/td>\n<\/tr>\n<tr class=\"row-10 even\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_filter_value<\/td><td class=\"column-3\">filter value\/operator is invalid<\/td>\n<\/tr>\n<tr class=\"row-11 odd\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_order<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-12 even\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_order_field<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-13 odd\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_order_direction<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-14 even\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_email<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-15 odd\">\n\t<td class=\"column-1\">409<\/td><td class=\"column-2\">duplicate_field<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-16 even\">\n\t<td class=\"column-1\">409<\/td><td class=\"column-2\">email_exists<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-17 odd\">\n\t<td class=\"column-1\">400\/404<\/td><td class=\"column-2\">invalid_version<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-18 even\">\n\t<td class=\"column-1\">400<\/td><td class=\"column-2\">invalid_env<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-19 odd\">\n\t<td class=\"column-1\">401<\/td><td class=\"column-2\">env_mismatch<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-20 even\">\n\t<td class=\"column-1\">403<\/td><td class=\"column-2\">plan_expired<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-21 odd\">\n\t<td class=\"column-1\">429<\/td><td class=\"column-2\">request_in_flight<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-22 even\">\n\t<td class=\"column-1\">429<\/td><td class=\"column-2\">rate_limit_daily<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-23 odd\">\n\t<td class=\"column-1\">429<\/td><td class=\"column-2\">rate_limit_minute<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-24 even\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">rate_limit_error<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-25 odd\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">db_connect_failed<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-26 even\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">db_query_failed<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-27 odd\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">auth_db_connect_failed <\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-28 even\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">auth_db_query_failed<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-29 odd\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">auth_token_key_missing<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-30 even\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">token_last_used_failed<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-31 odd\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">config_invalid<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-32 even\">\n\t<td class=\"column-1\">500<\/td><td class=\"column-2\">invalid_table<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>If debug mode is enabled, some 500 errors may include a <code>detail<\/code> message.<\/p>\n","protected":false},"featured_media":0,"parent":2919,"menu_order":8,"template":"","doc_tag":[],"_links":{"self":[{"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/docs\/2943"}],"collection":[{"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/types\/docs"}],"version-history":[{"count":7,"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/docs\/2943\/revisions"}],"predecessor-version":[{"id":3353,"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/docs\/2943\/revisions\/3353"}],"up":[{"embeddable":true,"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/docs\/2919"}],"next":[{"title":"Per-endpoint help","link":"https:\/\/www.airsupervision.com\/wp-r\/docs\/administrator\/apis\/per-endpoint-help\/","href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/docs\/2946"}],"prev":[{"title":"Response envelope","link":"https:\/\/www.airsupervision.com\/wp-r\/docs\/administrator\/apis\/response-envelope\/","href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/docs\/2938"}],"wp:attachment":[{"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/media?parent=2943"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.airsupervision.com\/wp-r\/wp-json\/wp\/v2\/doc_tag?post=2943"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}