{
    "code": 1,
    "subDomains": {
        "storage": {
            "code": 1,
            "errors": {
                "unknown_index": {
                    "description": "The provided data index does not exist",
                    "code": 1,
                    "message": "The index \"%s\" does not exist.",
                    "class": "PreconditionError"
                },
                "unknown_collection": {
                    "description": "The provided data collection does not exist",
                    "code": 2,
                    "message": "The collection \"%s\":\"%s\" does not exist.",
                    "class": "PreconditionError"
                },
                "get_limit_exceeded": {
                    "description": "The number of documents returned by this request exceeds the configured server limit",
                    "code": 3,
                    "message": "The number of documents returned by this request exceeds the configured server limit.",
                    "class": "SizeLimitError"
                },
                "write_limit_exceeded": {
                    "description": "The number of documents edited by this request exceeds the configured server limit",
                    "code": 4,
                    "message": "The number of documents edited by this request exceeds the configured server limit.",
                    "class": "SizeLimitError"
                },
                "import_failed": {
                    "description": "Failed to import some or all documents",
                    "code": 5,
                    "message": "Failed to import some or all documents.",
                    "class": "PartialError"
                },
                "no_multi_indexes": {
                    "description": "Cannot be run on multiple indexes",
                    "code": 6,
                    "message": "Cannot be run on multiple indexes.",
                    "class": "BadRequestError"
                },
                "no_multi_collections": {
                    "description": "Cannot be run on multiple collections",
                    "code": 7,
                    "message": "Cannot be run on multiple collections.",
                    "class": "BadRequestError"
                },
                "incomplete_delete": {
                    "description": "Couldn't delete all the requested documents",
                    "code": 9,
                    "message": "Couldn't delete all the requested documents: %s",
                    "class": "PartialError"
                },
                "not_found": {
                    "description": "Document not found",
                    "code": 11,
                    "message": "Document \"%s\" not found in \"%s\":\"%s\".",
                    "class": "NotFoundError"
                },
                "bootstrap_timeout": {
                    "description": "Bootstrap of a storage instance failed because it has been locked for too much time",
                    "code": 12,
                    "message": "%s: bootstrap failed - lock wait timeout exceeded.",
                    "class": "InternalError"
                },
                "version_mismatch": {
                    "description": "The version of the target Elasticsearch is not compatible with this version of Kuzzle",
                    "code": 13,
                    "message": "Your elasticsearch version is %s: this version is not compatible with this version of Kuzzle",
                    "class": "InternalError"
                },
                "unknown_scroll_id": {
                    "description": "The scroll identifier does not exist or has expired",
                    "code": 14,
                    "message": "Non-existing or expired scroll identifier.",
                    "class": "NotFoundError"
                },
                "search_as_an_id": {
                    "description": "Used \"_search\" as a document identifier, which conflicts with the _search HTTP route",
                    "code": 15,
                    "message": "_search is not a valid document identifier",
                    "class": "BadRequestError"
                },
                "unknown_index_collection": {
                    "description": "The provided index and/or collection doesn't exist",
                    "code": 16,
                    "message": "The provided index and/or collection doesn't exist.",
                    "class": "PreconditionError"
                },
                "document_already_exists": {
                    "description": "A document with the same identifier already exists",
                    "code": 17,
                    "message": "Document already exists.",
                    "class": "BadRequestError"
                },
                "missing_argument": {
                    "description": "A required argument is missing or is empty",
                    "code": 18,
                    "message": "Required argument \"%s\" is missing or is empty",
                    "class": "BadRequestError"
                },
                "invalid_argument": {
                    "description": "Invalid argument provided",
                    "code": 19,
                    "message": "Argument \"%s\" is invalid (expected: %s)",
                    "class": "BadRequestError"
                },
                "index_protected": {
                    "description": "The content of a protected index cannot be modified with generic API routes",
                    "code": 20,
                    "message": "Index '%s' is protected, use the appropriated routes instead.",
                    "class": "BadRequestError",
                    "deprecated": "2.5.0"
                },
                "invalid_mapping": {
                    "description": "The provided mapping is invalid",
                    "code": 21,
                    "message": "Invalid mapping property \"mappings.%s\".%s",
                    "class": "BadRequestError"
                },
                "collection_reserved": {
                    "description": "Collections cannot be named \"_kuzzle_keep\" because it is reserved for internal use.",
                    "code": 22,
                    "message": "Invalid collection name. \"%s\" is reserved for internal usage.",
                    "class": "BadRequestError"
                },
                "no_routing": {
                    "description": "The \"_routing\" keyword is forbidden",
                    "code": 23,
                    "message": "The \"_routing\" keyword is forbidden.",
                    "class": "BadRequestError"
                },
                "not_connected": {
                    "description": "Unable to connect to the storage instance",
                    "code": 24,
                    "message": "Elasticsearch service is not connected.",
                    "class": "ExternalServiceError"
                },
                "too_many_operations": {
                    "description": "Too many operations received",
                    "code": 25,
                    "message": "\"%s\" threads buffer exceeded. Too many operations received at once.",
                    "class": "ExternalServiceError"
                },
                "cannot_change_mapping": {
                    "description": "Cannot change the mapping of a field (once set, a field mapping cannot be changed)",
                    "code": 26,
                    "message": "Field \"%s\" already has a mapping, and it cannot be changed",
                    "class": "BadRequestError"
                },
                "duplicate_field_mapping": {
                    "description": "A same field cannot have different mappings within the same index (fields are shared to all of an index collections)",
                    "code": 27,
                    "message": "Cannot set mapping for field \"%s\" on collection \"%s\" because this field name is already used in another collection, with a different type.",
                    "class": "BadRequestError"
                },
                "unexpected_properties": {
                    "description": "Unexpected properties found",
                    "code": 28,
                    "message": "Property \"%s\" is not supported for field \"%s\".",
                    "class": "BadRequestError"
                },
                "invalid_mapping_type": {
                    "description": "Unrecognized mapping data type",
                    "code": 29,
                    "message": "Field \"%s\": the data type \"%s\" doesn't exist",
                    "class": "BadRequestError"
                },
                "wrong_mapping_property": {
                    "description": "A mapping property cannot be parsed",
                    "code": 30,
                    "message": "Cannot parse mapping property \"%s\"",
                    "class": "BadRequestError"
                },
                "invalid_mapping_argument": {
                    "description": "Invalid mapping property",
                    "code": 31,
                    "message": "Field \"%s\": invalid mapping property \"%s\".",
                    "class": "BadRequestError"
                },
                "too_many_changes": {
                    "description": "Too many changes occured on the same resource in a small amount of time. Try with the \"retryOnConflict\" option",
                    "code": 32,
                    "message": "Unable to modify document \"%s\": cluster sync failed (too many simultaneous changes applied)",
                    "class": "ExternalServiceError"
                },
                "unexpected_bad_request": {
                    "description": "Embeds an unexpected bad request error from Elasticsearch",
                    "code": 33,
                    "message": "%s",
                    "class": "BadRequestError"
                },
                "unexpected_not_found": {
                    "description": "Embeds an unexpected notfound error from Elasticsearch",
                    "code": 34,
                    "message": "%s",
                    "class": "NotFoundError"
                },
                "unexpected_error": {
                    "description": "Embeds an unexpected error from Elasticsearch",
                    "code": 35,
                    "message": "%s",
                    "class": "ExternalServiceError"
                },
                "no_mapping_found": {
                    "description": "Attempted to read a non-existent mapping",
                    "code": 37,
                    "message": "No mapping found for index \"%s\".",
                    "class": "NotFoundError"
                },
                "index_already_exists": {
                    "description": "Attempted to create an already existing index",
                    "code": 38,
                    "message": "A %s index named \"%s\" already exists",
                    "class": "PreconditionError"
                },
                "forbidden_character": {
                    "description": "An index or a collection name contains a forbidden character",
                    "code": 39,
                    "message": "An index or a collection name cannot contain the character \"%s\"",
                    "class": "BadRequestError",
                    "deprecated": "2.0.1"
                },
                "invalid_search_query": {
                    "description": "A forbidden argument has been provided in the search query",
                    "code": 40,
                    "message": "The argument \"%s\" is not allowed at this level of a search query.",
                    "class": "BadRequestError"
                },
                "invalid_index_name": {
                    "description": "A provided index name is invalid",
                    "code": 41,
                    "message": "The index name \"%s\" is invalid",
                    "class": "BadRequestError"
                },
                "invalid_collection_name": {
                    "description": "A provided collection name is invalid",
                    "code": 42,
                    "message": "The collection name \"%s\" is invalid",
                    "class": "BadRequestError"
                },
                "strict_mapping_rejection": {
                    "description": "Document rejected because it contains a field that is not declared in the strict mapping.",
                    "code": 43,
                    "message": "Cannot create document. Field \"%s\" is not present in collection \"%s:%s\" strict mapping",
                    "class": "BadRequestError"
                },
                "scroll_duration_too_great": {
                    "description": "The scroll duration exceed the configured maxium value. (See config.services.storageEngine.maxScrollDuration)",
                    "code": 44,
                    "message": "Scroll duration \"%s\" is too great.",
                    "class": "BadRequestError"
                },
                "unknown_query_keyword": {
                    "description": "An unknown keyword has been provided in the search query",
                    "code": 45,
                    "message": "The keyword \"%s\" is not part of Elasticsearch Query DSL. Are you trying to use a Koncorde query?",
                    "class": "BadRequestError"
                },
                "incomplete_update": {
                    "description": "Couldn't update all the requested documents",
                    "code": 46,
                    "message": "%s documents were successfully updated before an error occured",
                    "class": "MultipleErrorsError"
                },
                "invalid_query_keyword": {
                    "description": "A forbidden keyword has been provided in the query",
                    "code": 47,
                    "message": "The \"%s\" keyword is not allowed in this query.",
                    "class": "BadRequestError"
                },
                "multiple_indice_alias": {
                    "description": "The unique association between an indice and its alias has not been respected",
                    "code": 48,
                    "message": "An %s is not allowed to be associated with multiple %s. This is probably not linked to this request but rather the consequence of previous actions on ElasticSearch.",
                    "class": "PreconditionError"
                },
                "invalid_multi_index_collection_usage": {
                    "description": "Searches on multiple collections should be achieved with the \"targets\" argument who contains list of indexes and collections to search within.",
                    "message": "Searches on multiple collections should be achieved with the \"targets\" argument who contains list of indexes and collections to search within.",
                    "code": 49,
                    "class": "BadRequestError"
                },
                "invalid_target_format": {
                    "description": "When a target index or collections contains invalid characters used for multi index search or \"_all\"",
                    "message": "The %s (\"%s\") contains invalid characters \",+*\" or is equal to \"_all\" which is forbidden",
                    "code": 50,
                    "class": "BadRequestError"
                },
                "wrong_es_static_settings_for_collection_recreation": {
                    "description": "The ES static settings specified at the creation of an existing collection does not match existing settings",
                    "message": "Attempt to recreate an existing collection %s of index %s of scope %s with non matching static setting : %s at %s while existing one is at %s",
                    "code": 51,
                    "class": "BadRequestError"
                }
            }
        },
        "cache": {
            "code": 3,
            "errors": {
                "database_not_found": {
                    "description": "Unknown cache database name",
                    "code": 1,
                    "message": "Cache database \"%s\" not found.",
                    "class": "NotFoundError"
                },
                "read_failed": {
                    "description": "An attempt to read from the cache failed",
                    "code": 2,
                    "message": "Cache read fail: %s",
                    "class": "InternalError"
                },
                "not_connected": {
                    "description": "Unable to connect to the cache server",
                    "code": 3,
                    "message": "Unable to connect to the cache server.",
                    "class": "ServiceUnavailableError"
                },
                "write_failed": {
                    "description": "An attempt to write to the cache failed",
                    "code": 4,
                    "message": "Cache write fail: %s",
                    "class": "InternalError"
                }
            }
        },
        "statistics": {
            "code": 4,
            "errors": {
                "not_available": {
                    "description": "The statistics module is not enabled. See \"config.stats.enabled\".",
                    "code": 1,
                    "message": "Statistics module is not available.",
                    "class": "InternalError"
                }
            }
        },
        "koncorde": {
            "code": 5,
            "errors": {
                "elastic_translation_error": {
                    "description": "An error occured while translating a Koncorde filter to an Elasticsearch query",
                    "code": 1,
                    "message": "An error occured while translating a Koncorde filter to an Elasticsearch query: %s",
                    "class": "BadRequestError"
                }
            }
        }
    }
}
