{"openapi":"3.1.0","info":{"title":"Password API","version":"1.0.0","description":"A fast, fully-local password toolkit: generate cryptographically-secure random passwords (configurable length, character classes and exclude-similar), estimate password strength (entropy bits, a 0-4 score, character-class breakdown, common-password detection, an offline crack-time estimate and actionable feedback), and create memorable diceware-style passphrases. Built on Node crypto, no third-party upstream, and inputs are never logged — so responses are instant, private and always available. Ideal for signup and account flows, admin tools, password managers and security features.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/password-api","description":"oanor gateway"}],"tags":[{"name":"Password"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/generate":{"get":{"operationId":"get_v1_generate","tags":["Password"],"summary":"Generate secure passwords","description":"","parameters":[{"name":"length","in":"query","required":false,"description":"Length 4-128 (default 16)","schema":{"type":"string"},"example":"16"},{"name":"count","in":"query","required":false,"description":"How many 1-50 (default 1)","schema":{"type":"string"},"example":"1"},{"name":"symbols","in":"query","required":false,"description":"Include symbols","schema":{"type":"string"},"example":"true"},{"name":"exclude_similar","in":"query","required":false,"description":"Exclude il1Lo0O","schema":{"type":"string"},"example":"false"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"length":16,"passwords":["NxSHoS((%Ab?V&x["],"pool_size":88,"entropy_bits":103.4},"meta":{"timestamp":"2026-05-30T09:00:25.055Z","request_id":"823f21e0-7f5a-4b78-9850-dfb263c01e04"},"status":"ok","message":"Passwords generated","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/passphrase":{"get":{"operationId":"get_v1_passphrase","tags":["Password"],"summary":"Generate a passphrase","description":"","parameters":[{"name":"words","in":"query","required":false,"description":"Word count 2-12 (default 4)","schema":{"type":"string"},"example":"4"},{"name":"separator","in":"query","required":false,"description":"Separator (default -)","schema":{"type":"string"},"example":"-"},{"name":"capitalize","in":"query","required":false,"description":"Capitalize words","schema":{"type":"string"},"example":"false"},{"name":"number","in":"query","required":false,"description":"Append a number","schema":{"type":"string"},"example":"false"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"words":4,"passphrase":"road-reed-wing-push","entropy_bits":36.9,"wordlist_size":594},"meta":{"timestamp":"2026-05-30T09:00:25.128Z","request_id":"4afe54ba-41c2-4068-ac66-37b770c70212"},"status":"ok","message":"Passphrase generated","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/strength":{"get":{"operationId":"get_v1_strength","tags":["Password"],"summary":"Estimate password strength","description":"","parameters":[{"name":"password","in":"query","required":true,"description":"Password to score","schema":{"type":"string"},"example":"Tr0ub4dour&3"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"label":"strong","score":3,"length":12,"classes":{"numbers":true,"symbols":true,"lowercase":true,"uppercase":true},"feedback":["Looks good"],"is_common":false,"entropy_bits":78.8,"crack_time_offline_fast":"999+ century"},"meta":{"timestamp":"2026-05-30T09:00:25.199Z","request_id":"1c117147-74f5-46e7-9d31-ce78db08f535"},"status":"ok","message":"Strength estimated","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":7000,"rps_limit":3,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":500,"monthly_call_quota":130000,"rps_limit":12,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1600,"monthly_call_quota":800000,"rps_limit":35,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4400,"monthly_call_quota":4500000,"rps_limit":120,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/password-api"}