{"swagger": "2.0", "basePath": "/", "paths": {"/bulk/md5": {"post": {"responses": {"404": {"description": "JSON format incorrect. An array of hashes in the key 'hashes' is expected."}, "200": {"description": "Success"}}, "description": "Bulk search of MD5 hashes in a JSON array with the key 'hashes'.", "operationId": "post_bulkmd5", "tags": ["default"]}}, "/bulk/sha1": {"post": {"responses": {"404": {"description": "JSON format incorrect. An array of hashes in the key 'hashes' is expected."}, "200": {"description": "Success"}}, "description": "Bulk search of SHA1 hashes in a JSON array with the 'hashes'.", "operationId": "post_bulksha1", "tags": ["default"]}}, "/children/{sha1}/{count}/{cursor}": {"parameters": [{"name": "sha1", "in": "path", "required": true, "type": "string"}, {"name": "count", "in": "path", "required": true, "type": "integer"}, {"name": "cursor", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"404": {"description": "The SHA1 value has no known child."}, "400": {"description": "SHA1 value incorrect, expecting a SHA1 value in hex format"}, "200": {"description": "Success"}}, "description": "Return children from a given SHA1.  A number of element to return and an offset must be given. If not set it will be the 100 first elements. A cursor must be given to paginate over. The starting cursor is 0.", "operationId": "get_children", "tags": ["default"]}}, "/info": {"get": {"responses": {"200": {"description": "Success"}}, "description": "Info about the hashlookup database", "operationId": "get_info", "tags": ["default"]}}, "/lookup/md5/{md5}": {"parameters": [{"name": "md5", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"404": {"description": "Non existing MD5"}, "400": {"description": "MD5 value incorrect, expecting a MD5 value in hex format"}, "200": {"description": "Success"}}, "description": "Lookup MD5.", "operationId": "get_lookup_md5", "tags": ["default"]}}, "/lookup/sha1/{sha1}": {"parameters": [{"name": "sha1", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"404": {"description": "Non existing SHA1"}, "400": {"description": "SHA1 value incorrect, expecting a SHA1 value in hex format"}, "200": {"description": "Success"}}, "description": "Lookup SHA-1.", "operationId": "get_lookup_sha1", "tags": ["default"]}}, "/lookup/sha256/{sha256}": {"parameters": [{"name": "sha256", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"404": {"description": "Non existing SHA-256"}, "400": {"description": "SHA-256 value incorrect, expecting a SHA-256 value in hex format"}, "200": {"description": "Success"}}, "description": "Lookup SHA-256.", "operationId": "get_lookup_sha256", "tags": ["default"]}}, "/parents/{sha1}/{count}/{cursor}": {"parameters": [{"name": "sha1", "in": "path", "required": true, "type": "string"}, {"name": "count", "in": "path", "required": true, "type": "integer"}, {"name": "cursor", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"404": {"description": "The SHA1 value has no known parent."}, "400": {"description": "SHA1 value incorrect, expecting a SHA1 value in hex format"}, "200": {"description": "Success"}}, "description": "Return parents from a given SHA1. A number of element to return and an offset must be given. If not set it will be the 100 first elements. A cursor must be given to paginate over. The starting cursor is 0.", "operationId": "get_parents", "tags": ["default"]}}, "/session/create/{name}": {"parameters": [{"name": "name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"500": {"description": "Session feature is not enabled"}, "400": {"description": "Expecting a name for the session"}, "200": {"description": "Success"}}, "description": "Create a session key to keep search context. The session is attached to a name. After the session is created, the header `hashlookup_session` can be set to the session name.", "operationId": "get_session_create", "tags": ["default"]}}, "/session/get/{name}": {"parameters": [{"name": "name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"500": {"description": "Session feature is not enabled"}, "400": {"description": "Expecting a name for the session"}, "200": {"description": "Success"}}, "description": "Return set of matching and non-matching hashes from a session.", "operationId": "get_session_matches", "tags": ["default"]}}, "/stats/top": {"get": {"responses": {"400": {"description": "Public statistics not enabled"}, "200": {"description": "Success"}}, "description": "Return the top 100 of most queried values.", "operationId": "get_stattop", "tags": ["default"]}}}, "info": {"title": "hashlookup CIRCL API", "version": "1.3", "description": "![](https://www.circl.lu/assets/images/circl-logo.png)\n[CIRCL hash lookup](https://hashlookup.circl.lu/) is a public API to lookup hash values against known database of files. For more details about all the datasets included [visit the website of the project](https://www.circl.lu/services/hashlookup/). The API is accessible via HTTP ReST API and the API is also [described as an OpenAPI](https://hashlookup.circl.lu/swagger.json). A [documentation is available with](https://www.circl.lu/services/hashlookup/) with sample queries and software using hashlookup. An offline version as Bloom filter is also [available](https://circl.lu/services/hashlookup/#how-to-quickly-check-a-set-of-files-in-a-local-directory). The API can be tested live in the interface below.", "license": {"name": "CC-BY"}}, "produces": ["application/json"], "consumes": ["application/json"], "tags": [{"name": "default", "description": "Default namespace"}], "responses": {"ParseError": {"description": "When a mask can't be parsed"}, "MaskError": {"description": "When any error occurs on mask"}}}
