NordStellar Cybersec API
URL and file scanning API with allow/deny list management and account usage control (AUC). 23 operations, OpenAPI 3.0, bearer-token authentication, with documented X-RateLimit headers and Retry-After handling on 429.
URL and file scanning API with allow/deny list management and account usage control (AUC). 23 operations, OpenAPI 3.0, bearer-token authentication, with documented X-RateLimit headers and Retry-After handling on 429.
{"openapi":"3.0.0","info":{"description":"Cybersec API documentation","version":"1.0.0","title":"Cybersec API"},"servers":[{"url":"https://cybersec.nordstellar.com"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Set token with a prefix like this: `token:69405a802dba4f57804e5fff11061946a579d159d1a51760d19a50aec241adc9`"}},"parameters":{"ListCategory":{"name":"listCategory","in":"path","schema":{"$ref":"#/components/schemas/ListCategory"},"description":"List category","required":true},"ListIdentifier":{"name":"listIdentifier","in":"path","schema":{"$ref":"#/components/schemas/ListIdentifier"},"description":"List identfier","required":true},"ListVersion":{"name":"version","in":"query","schema":{"$ref":"#/components/schemas/ListVersion"},"description":"List version","required":false}},"schemas":{"ErrorResponse":{"type":"object","properties":{"errors":{"type":"object","properties":{"code":{"type":"integer","example":123},"message":{"type":"string","example":"Some error"}}}}},"ListAction":{"type":"string","enum":["block","allow","no-mitm","redirect"],"description":"Action to take when ant item is matched in this list"},"ListCategory":{"type":"string","enum":["adblock","tracking","malwaresec","broken-apps","urlstripping","cookies"]},"ListFormat":{"type":"string","enum":["abp","zone","domain","queryparam"],"description":"List content format"},"ListIdentifier":{"type":"string","example":"kPayrrMJP0d4nEPl"},"ListVersion":{"type":"string","example":20200501120000},"Sha1Checksum":{"type":"string","example":"82751542dc5cd0ce4b0b78d61302ca058f8dac12"},"X-Correlation-ID":{"type":"string","format":"uuid","example":"ddd58a90-57c3-4bd1-a9ed-649a9451f0a7","description":"Unique identifier for correlating requests, responses and logs across distributed services"},"X-RateLimit-Retry-After":{"type":"string","format":"rfc3999","example":"2024-03-25T15:19:06.000Z","description":"Time when requests to the resource aren't limited."},"Sha256Checksum":{"type":"string","example":"dc460da4ad72c482231e28e688e01f2778a88ce31a08826899d54ef7183998b5"},"CybersecList":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/ListAction"},"category":{"$ref":"#/components/schemas/ListCategory"},"format":{"$ref":"#/components/schemas/ListFormat"},"identifier":{"$ref":"#/components/schemas/ListIdentifier"},"latest_version":{"$ref":"#/components/schemas/ListVersion"},"latest_version_checksum":{"$ref":"#/components/schemas/Sha1Checksum"},"uri":{"description":"List content download URL","type":"string","example":"/v1/cybersec/lists/adblock/kPayrrMJP0d4nEPl"},"language":{"type":"string","example":"en"}}},"UrlscannerConfigResponse":{"type":"object","properties":{"lists":{"type":"array","items":{"$ref":"#/components/schemas/CybersecList"}},"process_allow_list":{"type":"array","items":{"type":"string"}},"av_scan_types":{"type":"array","items":{"type":"string"}},"client_url_cloud_timeout":{"type":"object","properties":{"value":{"type":"integer","minimum":0},"unit":{"type":"string"}}},"allowed_domains_update_period":{"type":"object","properties":{"value":{"type":"integer","minimum":0},"unit":{"type":"string"}}},"cookie_leak_check_period":{"type":"object","properties":{"value":{"type":"integer","minimum":0},"unit":{"type":"string"}}},"cookie_leak_core_resp_ttl":{"type":"object","properties":{"value":{"type":"integer","minimum":0},"unit":{"type":"string"}}}}},"UrlCategory":{"type":"number","enum":[0,1,2,3,4,5,6,7],"description":"Category identifiers:\n * `0` - Unknown URL category\n * `1` - Either the URL is missing from the database, or it is known to be clean\n * `2` - Malware\n * `3` - Phishing\n * `4` - Spam\n * `5` - Potentially Unwanted Application / Web page containing PUAs\n * `6` - Potentially Unwanted Search Engine\n * `7` - Scam\n"},"UrlCategoryDetails":{"type":"object","properties":{"7":{"type":"array","description":"Scam","items":{"type":"number","description":"Scam subcategory identifiers:\n * `1` B2B scam\n * `2` Chargeback money recovery scam\n * `3` Cryptocurrency scam\n * `4` Dating and romance scam\n * `5` Employment scam\n * `6` Fake IT and tech support scam\n * `7` Illegal products and services scam\n * `8` Intellectual property violation scam\n * `9` Investment scam\n * `10` Malware scam\n * `11` Online shopping scam\n * `12` Phishing scam\n * `13` Fake website scam\n * `14` Spam and abuse scam\n * `15` Subscription scam\n * `16` Other scam\n"}}}},"UrlCategories":{"type":"array","items":{"$ref":"#/components/schemas/UrlCategory"}},"UrlCheckStatus":{"type":"number","enum":[0,1,2],"description":"Codes:\n * `0` - Check performed successfully\n * `1` - URL check failed. URL is either malformed or an unknown error has occurred\n * `2` - Check is pending in backend, repeat a request for this url later\n"},"UrlCheckResult":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"status":{"$ref":"#/components/schemas/UrlCheckStatus"},"categories":{"$ref":"#/components/schemas/UrlCategories"},"category_details":{"$ref":"#/components/schemas/UrlCategoryDetails"}}},"AllowedDomainsItem":{"type":"object","properties":{"url":{"type":"string"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/UrlCategory"}}}},"AllowedDomains":{"type":"object","properties":{"whitelist":{"type":"array","items":{"$ref":"#/components/schemas/AllowedDomainsItem"}},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/AllowedDomainsItem"}}}},"AllowedDomainsHashed":{"type":"object","properties":{"whitelist":{"type":"array","items":{"type":"string"}},"exceptions":{"type":"object"},"additionalProperties":{"$ref":"#/components/schemas/UrlCategory"}}},"UrlCheckRequest":{"type":"object","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"}}}},"UrlCheckResponse":{"type":"object","properties":{"urls":{"type":"array","items":{"$ref":"#/components/schemas/UrlCheckResult"}},"cache":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","format":"uri-reference"},"ttl":{"type":"number"},"categories":{"$ref":"#/components/schemas/UrlCategories"}}}}}},"UrlCategoriesResponse":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"object","properties":{"category":{"$ref":"#/components/schemas/UrlCategory"},"name":{"type":"string"},"block":{"type":"boolean"},"subcategories":{"$ref":"#/components/schemas/UrlCategoryDetails"}}}}}},"FileExtensionsResponse":{"type":"object","properties":{"pe_extensions":{"type":"array","items":{"type":"string"},"description":"Files ending with these extensions are portable executables and can be uploaded if asked"},"non_pe_extensions":{"type":"array","items":{"type":"string"},"description":"Files ending with these extensions are non portable executables"}}},"FileMimeTypesResponse":{"type":"object","properties":{"deep_scan_types":{"type":"array","items":{"type":"string"},"description":"Files with these MIME types should be checked with deep scan, similar to PE extensions"},"scan_types":{"type":"array","items":{"type":"string"},"description":"Files with these MIME types should be checked with regular scan, similar to non-PE extensions"}}},"FileCheckRequestV2":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","required":["sha256"],"properties":{"sha256":{"$ref":"#/components/schemas/Sha256Checksum"},"can_upload":{"type":"boolean"},"size":{"type":"number","example":256},"name":{"type":"string","example":"file.exe"},"url":{"type":"string","example":"https://foo.bar/file.exe"}}}}}},"FileCheckRequestV3":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","required":["sha256"],"properties":{"sha256":{"$ref":"#/components/schemas/Sha256Checksum"},"can_upload":{"type":"boolean"},"size":{"type":"number","example":256},"name":{"type":"string","example":"file.exe"},"url":{"type":"string","example":"https://foo.bar/file.exe"},"mime_type":{"type":"string","example":"application/vnd.microsoft.portable-executable"}}}}}},"FileCategory":{"type":"number","enum":[0,1,2],"description":"Codes:\n * `0` - File was not found in malware database\n * `1` - File is clean\n * `2` - File is infected with malware\n"},"FileCheckStatus":{"type":"number","enum":[0,1,2,3],"description":"Codes:\n * `0` - OK, Check performed successfully\n * `1` - An unknown error has occurred, file check failed\n * `2` - Check is pending in backend, repeat a request for this file after TTL number of seconds\n * `3` - File is not found, upload is required for further inspection\n"},"FileCheckResponseV2":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"sha256":{"$ref":"#/components/schemas/Sha256Checksum"},"categories":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/FileCategory"},"description":{"type":"string","description":"Name of the malware","example":"LINUX/Hajime.nsnlw"}}}},"ttl":{"type":"number"},"status":{"$ref":"#/components/schemas/FileCheckStatus"},"upload_url":{"type":"string","description":"Destination URL where file should be uploaded"}}}}}},"FileCheckResponseV3":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"sha256":{"$ref":"#/components/schemas/Sha256Checksum"},"categories":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/FileCategory"},"description":{"type":"string","description":"Name of the malware","example":"LINUX/Hajime.nsnlw"}}}},"ttl":{"type":"number"},"status":{"$ref":"#/components/schemas/FileCheckStatus"},"upload_url":{"type":"string","description":"Destination URL where file should be uploaded"}}}}}},"MlModelInfo":{"type":"object","properties":{"name":{"type":"string","description":"ML Model name","example":"model-win32"},"project_id":{"type":"string","description":"Gitlab project ID where the model is stored","example":"1234"},"project_name":{"type":"string","description":"Gitlab project name where the model is stored","example":"quickscan"},"url":{"type":"string","format":"uri","description":"Url where the model file is stored","example":"https://path-to-s3"},"identifier":{"type":"string","description":"ML Model version identifier","example":"2.0.0"},"threshold_low":{"type":"number","format":"float","description":"Lower limit for ML model threshold","example":0.78},"threshold_high":{"type":"number","format":"float","description":"Higher limit for ML model threshold","example":0.98}}},"ApplicationsCheckRequest":{"type":"object","properties":{"os":{"type":"string","description":"OS from which applications are being checked. This field is optional, used for logging only, and will be used for filtering in next phases","example":"Windows"},"os_version":{"type":"string","description":"OS version from which applications are being checked. This field is optional, used for logging only, and will be used for filtering in next phases","example":"11.0.1"},"applications":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Google Chrome"},"version":{"type":"string","example":"1.0.0"}}}}}},"ApplicationsCheckResponse":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Google Chrome"},"version":{"type":"string","example":"1.0.0"},"description":{"type":"string","example":"Memory leak for big form inputs"},"fixed_version":{"type":"string","example":"1.2.0"},"severity":{"type":"number","format":"float","example":9.5}}}},"CookiesCheckRequest":{"type":"object","properties":{"short_cookie_sha256":{"type":"array","items":{"type":"string","example":"12345678"},"description":"List of cookie hashes (8 char) to be checked"}}},"CookiesCheckResponse":{"type":"object","properties":{"cookies":{"type":"array","items":{"type":"object","properties":{"hash":{"type":"string","example":"7fdd4cb8d64ca4f37e697cf77d580feaf3823d62860b3fd3429108332feea153","description":"This hash is composed by a hashed combination of domain + cookie-hash"},"domain":{"type":"string","example":"the-leaked-domain-here.com"}}}}}},"CryptoAddressesCheckRequest":{"type":"object","properties":{"url":{"type":"string","example":"https://example.com/abc"},"addresses":{"type":"array","items":{"type":"string","example":"0x43fbzxc24jg234f34"},"description":"List of crypto addresses to be checked"}}},"CryptoAddressesCheckResponse":{"type":"object","properties":{"reputations":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"0xABC12345abc123","description":"Crypto address"},"category":{"$ref":"#/components/schemas/ReputationCategory","example":2},"chains":{"type":"array","items":{"type":"object","properties":{"chain_id":{"type":"string"},"risks":{"type":"array","items":{"type":"object","properties":{"risk_category":{"$ref":"#/components/schemas/RiskCategory","descriptions":"A risk category level associated with the address"}}}}}}}}}}}},"ReputationCategory":{"type":"number","enum":[0,1,2,3],"description":"Codes:\n * `0` - Unspecified\n * `1` - Safe\n * `2` - Warning\n * `3` - Unsafe\n"},"RiskCategory":{"type":"number","enum":[0,1,2,3],"description":"Codes:\n * `0` - Unspecified\n * `1` - Fraud\n * `2` - Cyber\n * `3` - Compliance\n"}},"responses":{"InvalidCredentials":{"description":"Invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Invalid credentials":{"value":{"errors":{"code":100104,"message":"Invalid credentials"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"InvalidFormData":{"description":"Invalid form data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Invalid form data":{"value":{"errors":{"code":904164,"message":"Invalid form data: {...}"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"ServiceForbidden":{"description":"Service is forbidden for the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Service is forbidden for the user":{"value":{"errors":{"code":100166,"message":"Service is forbidden for the user"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"ContentTooLarge":{"description":"Content too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Content too large":{"value":{"errors":{"code":904168,"message":"Url requested is too large. Limit is 65535"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"UnprocessableEntity":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Content too large":{"value":{"errors":{"code":904175,"message":"Exceeded the limit of 20 records to check in a batch"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"InternalServerError":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Internal server error":{"value":{"errors":{"code":904177,"message":"An unexpected condition is encountered"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"BadGateway":{"description":"Bad Gateway","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Service unavailable":{"value":{"errors":{"code":904180,"message":"Service encountered a temporary error and could not complete your request"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"AuthServiceUnavailable":{"description":"Service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Service unavailable":{"value":{"errors":{"code":904178,"message":"Service temporary unavailable"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"ResourcesExhausted":{"description":"Service resources exhausted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Too many requests":{"value":{"errors":{"code":904174,"message":"Too many requests, try again later"}}}}}},"headers":{"X-RateLimit-Retry-After":{"$ref":"#/components/schemas/X-RateLimit-Retry-After"}}}}},"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"URL scanner","description":""},{"name":"Lists","description":""},{"name":"AUC","description":""},{"name":"Urls","description":""},{"name":"Files","description":""}],"paths":{"/v2/cybersec/urlscanner/config":{"get":{"operationId":"urlScannerConfig","tags":["URL scanner"],"summary":"Get config","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlscannerConfigResponse"},"example":{"process_allow_list":["chrome","firefox","opera","safari","msedge","com.apple.webkit.networking","brave","iexplore"],"av_scan_types":["text/html","text/javascript","text/ecmascript","text/jscript","text/livescript","text/x-ecmascript","text/x-javascript","application/"],"lists":[{"identifier":"F8e5mS89RX1wDO61","category":"tracking","uri":"/v1/cybersec/lists/tracking/F8e5mS89RX1wDO61","format":"abp","action":"block","latest_version":"20210823105700","latest_version_checksum":"ea08f49338174bd7f4817ef986e21e550363db3e"},{"identifier":"kPayrrMJP0d4nEPl","category":"adblock","uri":"/v1/cybersec/lists/adblock/kPayrrMJP0d4nEPl","format":"abp","action":"block","latest_version":"20210823105700","latest_version_checksum":"998b3c2a3ca07f66a3a0076a45363bacd42b6d77","language":"en"},{"identifier":"3OcJr9MGhdAPyGjI","category":"adblock","uri":"/v1/cybersec/lists/adblock/3OcJr9MGhdAPyGjI","format":"abp","action":"allow","latest_version":"20210519100050","latest_version_checksum":"d9a16f8ca96155c176e0623cf3a0589609869b2e"},{"identifier":"3q3aj2YricicsPQv","category":"broken-apps","uri":"/v1/cybersec/lists/broken-apps/3q3aj2YricicsPQv","format":"domain","action":"no-mitm","latest_version":"20210319092509","latest_version_checksum":"bb500e1e43ca13ea73180b12edc69ac757b6015d"},{"identifier":"cTq1YqEcsNpR1ruh","category":"adblock","uri":"/v1/cybersec/lists/adblock/cTq1YqEcsNpR1ruh","format":"abp","action":"block","latest_version":"20210823115300","latest_version_checksum":"7216fc5e688670fe7a09a4736ca29bfa789693dd","country":"China","language":"zh"},{"identifier":"5NLWMpXKSQbgz5ZH","category":"adblock","uri":"/v1/cybersec/lists/adblock/5NLWMpXKSQbgz5ZH","format":"abp","action":"block","latest_version":"20210823115300","latest_version_checksum":"a51f1eb1d27da26992b55778bec029e2e7221b01","country":"Netherlands","language":"nl"},{"identifier":"vJA2MC9GF6OpuhZd","category":"adblock","uri":"/v1/cybersec/lists/adblock/vJA2MC9GF6OpuhZd","format":"abp","action":"block","latest_version":"20210823120100","latest_version_checksum":"32f73c6282974b858a8a8e0c818c35ca2e3a95a3","country":"Germany","language":"de"},{"identifier":"zxTKIWsO1Xrwbguc","category":"adblock","uri":"/v1/cybersec/lists/adblock/zxTKIWsO1Xrwbguc","format":"abp","action":"block","latest_version":"30July2021v100","latest_version_checksum":"d873c96b25cca99438b07f80653caca49a0f0c62","country":"Lithuania","language":"lt"},{"identifier":"czq4C2v3J0fkUoVn","category":"adblock","uri":"/v1/cybersec/lists/adblock/czq4C2v3J0fkUoVn","format":"abp","action":"block","latest_version":"20210823120100","latest_version_checksum":"b6b4493a9791070a3c9a8a689931b1be76422020","country":"Portugal","language":"pt"},{"identifier":"gq1ytjrZdciTckcb","category":"adblock","uri":"/v1/cybersec/lists/adblock/gq1ytjrZdciTckcb","format":"abp","action":"block","latest_version":"20210823120100","latest_version_checksum":"b67bedd6763d560924f2f9d77da0523c2d507bf0","country":"Spain","language":"es"},{"identifier":"59fYViHeFMlNbgXR","category":"adblock","uri":"/v1/cybersec/lists/adblock/59fYViHeFMlNbgXR","format":"abp","action":"block","latest_version":"20210823115300","latest_version_checksum":"849413bebd720b3cd856fab600c78d15dd8a1743","country":"France","language":"fr"},{"identifier":"Qz5cMyJzteMtAZwz","category":"adblock","uri":"/v1/cybersec/lists/adblock/Qz5cMyJzteMtAZwz","format":"abp","action":"block","latest_version":"20210823120000","latest_version_checksum":"9b77ced596017333e50f793ff67856c8657128ad","country":"Russia","language":"ru"}],"client_url_cloud_timeout":{"value":5,"unit":"s"},"allowed_domains_update_period":{"value":4,"unit":"h"},"cookie_leak_check_period":{"value":1,"unit":"m"},"cookie_leak_core_resp_ttl":{"value":24,"unit":"h"}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization header not provided":{"$ref":"#/paths/~1v2~1cybersec~1lists/get/responses/400/content/application~1json/examples/Authorization%20header%20not%20provided"},"Invalid authorization header":{"$ref":"#/paths/~1v2~1cybersec~1lists/get/responses/400/content/application~1json/examples/Invalid%20authorization%20header"}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"401":{"$ref":"#/components/responses/InvalidCredentials"},"403":{"$ref":"#/components/responses/ServiceForbidden"},"503":{"$ref":"#/components/responses/AuthServiceUnavailable"}}}},"/v2/cybersec/lists":{"get":{"operationId":"lists","tags":["Lists"],"summary":"Get lists","description":"Retrieves a list of available cybersec lists","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CybersecList"}},"example":[{"identifier":"F8e5mS89RX1wDO61","category":"tracking","uri":"/v1/cybersec/lists/tracking/F8e5mS89RX1wDO61","format":"abp","action":"block","latest_version":"20210823105700","latest_version_checksum":"ea08f49338174bd7f4817ef986e21e550363db3e"},{"identifier":"kPayrrMJP0d4nEPl","category":"adblock","uri":"/v1/cybersec/lists/adblock/kPayrrMJP0d4nEPl","format":"abp","action":"block","latest_version":"20210823105700","latest_version_checksum":"998b3c2a3ca07f66a3a0076a45363bacd42b6d77","language":"en"},{"identifier":"3OcJr9MGhdAPyGjI","category":"adblock","uri":"/v1/cybersec/lists/adblock/3OcJr9MGhdAPyGjI","format":"abp","action":"allow","latest_version":"20210519100050","latest_version_checksum":"d9a16f8ca96155c176e0623cf3a0589609869b2e"},{"identifier":"3q3aj2YricicsPQv","category":"broken-apps","uri":"/v1/cybersec/lists/broken-apps/3q3aj2YricicsPQv","format":"domain","action":"no-mitm","latest_version":"20210319092509","latest_version_checksum":"bb500e1e43ca13ea73180b12edc69ac757b6015d"},{"identifier":"cTq1YqEcsNpR1ruh","category":"adblock","uri":"/v1/cybersec/lists/adblock/cTq1YqEcsNpR1ruh","format":"abp","action":"block","latest_version":"20210823115300","latest_version_checksum":"7216fc5e688670fe7a09a4736ca29bfa789693dd","country":"China","language":"zh"},{"identifier":"5NLWMpXKSQbgz5ZH","category":"adblock","uri":"/v1/cybersec/lists/adblock/5NLWMpXKSQbgz5ZH","format":"abp","action":"block","latest_version":"20210823115300","latest_version_checksum":"a51f1eb1d27da26992b55778bec029e2e7221b01","country":"Netherlands","language":"nl"},{"identifier":"vJA2MC9GF6OpuhZd","category":"adblock","uri":"/v1/cybersec/lists/adblock/vJA2MC9GF6OpuhZd","format":"abp","action":"block","latest_version":"20210823120100","latest_version_checksum":"32f73c6282974b858a8a8e0c818c35ca2e3a95a3","country":"Germany","language":"de"},{"identifier":"zxTKIWsO1Xrwbguc","category":"adblock","uri":"/v1/cybersec/lists/adblock/zxTKIWsO1Xrwbguc","format":"abp","action":"block","latest_version":"30July2021v100","latest_version_checksum":"d873c96b25cca99438b07f80653caca49a0f0c62","country":"Lithuania","language":"lt"},{"identifier":"czq4C2v3J0fkUoVn","category":"adblock","uri":"/v1/cybersec/lists/adblock/czq4C2v3J0fkUoVn","format":"abp","action":"block","latest_version":"20210823120100","latest_version_checksum":"b6b4493a9791070a3c9a8a689931b1be76422020","country":"Portugal","language":"pt"},{"identifier":"gq1ytjrZdciTckcb","category":"adblock","uri":"/v1/cybersec/lists/adblock/gq1ytjrZdciTckcb","format":"abp","action":"block","latest_version":"20210823120100","latest_version_checksum":"b67bedd6763d560924f2f9d77da0523c2d507bf0","country":"Spain","language":"es"},{"identifier":"59fYViHeFMlNbgXR","category":"adblock","uri":"/v1/cybersec/lists/adblock/59fYViHeFMlNbgXR","format":"abp","action":"block","latest_version":"20210823115300","latest_version_checksum":"849413bebd720b3cd856fab600c78d15dd8a1743","country":"France","language":"fr"},{"identifier":"Qz5cMyJzteMtAZwz","category":"adblock","uri":"/v1/cybersec/lists/adblock/Qz5cMyJzteMtAZwz","format":"abp","action":"block","latest_version":"20210823120000","latest_version_checksum":"9b77ced596017333e50f793ff67856c8657128ad","country":"Russia","language":"ru"}]}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization header not provided":{"value":{"errors":{"code":100105,"message":"Authorization header not provided"}}},"Invalid authorization header":{"value":{"errors":{"code":100106,"message":"Invalid authorization header"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"401":{"$ref":"#/components/responses/InvalidCredentials"},"403":{"$ref":"#/components/responses/ServiceForbidden"},"503":{"$ref":"#/components/responses/AuthServiceUnavailable"}}}},"/v2/cybersec/lists/{listCategory}/{listIdentifier}":{"get":{"operationId":"listGet","tags":["Lists"],"summary":"Get list content","description":"This endpoint can return different content versions based on the optional version query parameter. Without this query parameter, it will return the latest content version. Even though it is not mandatory, you should always specify the version parameter if possible.","parameters":[{"$ref":"#/components/parameters/ListCategory"},{"$ref":"#/components/parameters/ListIdentifier"},{"$ref":"#/components/parameters/ListVersion"}],"responses":{"200":{"description":"Successful response","headers":{"X-List-Version":{"schema":{"$ref":"#/components/schemas/ListVersion"},"description":"Version of the returned list"},"X-List-Checksum":{"schema":{"$ref":"#/components/schemas/Sha1Checksum"},"description":"Sha1 sum of the complete list"},"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}},"content":{"text/plain":{"schema":{"type":"string","example":"&ad.vid=$~xmlhttprequest\n&ad_block=\n&ad_classid=\n&ad_code=\n&ad_height=\n&ad_ids=\n&ad_keyword=\n&ad_network_\n&ad_slot=\n&ad_sub=\n&ad_time=\n&ad_type=\n&ad_type_\n&ad_url=\n"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Invalid category parameter":{"value":{"errors":{"code":902151,"message":"Invalid category parameter"}}},"Invalid identifier parameter":{"value":{"errors":{"code":902153,"message":"Invalid identifier parameter"}}},"Authorization header not provided":{"$ref":"#/paths/~1v2~1cybersec~1lists/get/responses/400/content/application~1json/examples/Authorization%20header%20not%20provided"},"Invalid authorization header":{"$ref":"#/paths/~1v2~1cybersec~1lists/get/responses/400/content/application~1json/examples/Invalid%20authorization%20header"}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"401":{"$ref":"#/components/responses/InvalidCredentials"},"403":{"$ref":"#/components/responses/ServiceForbidden"},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Invalid authorization header":{"$ref":"#/paths/~1v2~1cybersec~1lists~1%7BlistCategory%7D~1%7BlistIdentifier%7D~1diffs/get/responses/404/content/application~1json/examples/List%20not%20found"}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"503":{"$ref":"#/components/responses/AuthServiceUnavailable"}}}},"/v2/cybersec/lists/{listCategory}/{listIdentifier}/diffs":{"get":{"operationId":"listGetDiff","tags":["Lists"],"summary":"Get list diff","description":"This endpoint returns category list file differences between two specified versions. Returned diff is formatted in unified patch format (https://www.gnu.org/software/diffutils/manual/html_node/Example-Unified.html#Example-Unified).","parameters":[{"$ref":"#/components/parameters/ListCategory"},{"$ref":"#/components/parameters/ListIdentifier"},{"name":"version_from","in":"query","schema":{"$ref":"#/components/schemas/ListVersion"},"description":"Version of the list to calculate diff from","required":true},{"name":"version_to","in":"query","schema":{"$ref":"#/components/schemas/ListVersion"},"description":"Version of the list to calculate diff from","required":false}],"responses":{"200":{"description":"Successful response","headers":{"X-List-Version":{"schema":{"$ref":"#/components/schemas/ListVersion"},"description":"Version of the returned list"},"X-List-Checksum":{"schema":{"$ref":"#/components/schemas/Sha1Checksum"},"description":"Sha1 sum of the complete list"},"X-Diff-Checksum":{"schema":{"$ref":"#/components/schemas/Sha1Checksum"},"description":"Sha1 sum of returned diff contents"},"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}},"content":{"text/plain":{"schema":{"type":"string","example":"--- 20201105123100\t2021-02-12 12:16:40.713104979 +0000\n+++ 20201210235100\t2021-02-12 12:16:48.817074016 +0000\n@@ -33,7 +33,6 @@\n&adsafe=\n&adserv=\n&adserver=\n-&adsize=\n&adslot=\n&adslots=\n&adsourceid=\n@@ -47,7 +46,6 @@\n&adv_keywords=\n&advert_\n-&advid=$~image\n&adzone=\n&banner_id=\n&bannerid=\n"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Invalid category parameter":{"$ref":"#/paths/~1v2~1cybersec~1lists~1%7BlistCategory%7D~1%7BlistIdentifier%7D/get/responses/400/content/application~1json/examples/Invalid%20category%20parameter"},"Invalid identifier parameter":{"$ref":"#/paths/~1v2~1cybersec~1lists~1%7BlistCategory%7D~1%7BlistIdentifier%7D/get/responses/400/content/application~1json/examples/Invalid%20identifier%20parameter"},"Authorization header not provided":{"$ref":"#/paths/~1v2~1cybersec~1lists/get/responses/400/content/application~1json/examples/Authorization%20header%20not%20provided"},"Invalid authorization header":{"$ref":"#/paths/~1v2~1cybersec~1lists/get/responses/400/content/application~1json/examples/Invalid%20authorization%20header"}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"401":{"$ref":"#/components/responses/InvalidCredentials"},"403":{"$ref":"#/components/responses/ServiceForbidden"},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"List not found":{"value":{"errors":{"code":902154,"message":"List not found"}}}}}},"headers":{"X-Correlation-ID":{"$ref":"#/components/schemas/X-Correlation-ID"}}},"503":{"$ref":"#/components/responses/AuthServiceUnavailable"}}}},"/v2/cybersec/auc/lists":{"get":{"operationId":"aucLists","deprecated":true,"tags":["AUC"],"summary":"Get AUC lists","description":"This endpoint is deprecated in favour of /v2/cybersec/urls/allowed-domains\n"}},"/v2/cybersec/auc/lists/hashed":{"get":{"operationId":"aucListsHashed","deprecated":true,"tags":["AUC"],"summary":"Get AUC hashed lists","description":"This endpoint is deprecated in favour of /v2/cybersec/urls/allowed-domains\n"}},"/v2/cybersec/urls/allowed-domains":{"get":{"tags":["Urls"],"summary":"Get Allowed Domains lists","description":"This endpoint returns a 302 to an AWS bucket containing the domain whitelist and url exception list. The returned data might depend on the user's country.\n","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowedDomains"},"example":{"whitelist":[{"url":"smilevideo.jp","categories":[1]},{"url":"google.com","categories":[1]}],"exceptions":[{"url":"https://docs.google.com/uc?id=1aPn-jlUT6D56WTZ0ayqEYqQk8XVE2qX","categories":[2]},{"url":"https://sites.google.com/site/loaded0208/bmZHtAWpNa.zip","categories":[2]}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization header not provided":
# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nord-security/refs/heads/main/openapi/nord-security-nordstellar-cybersec-api-openapi.json