{"openapi":"3.1.0","info":{"title":"Bcrypt API","version":"1.0.0","description":"Hash and verify passwords with bcrypt, server-side. Generate a salted bcrypt hash at a cost factor you choose (4–14), check a plaintext password against an existing hash, or inspect a hash to read its bcrypt version, cost factor and salt. Fully compatible with bcrypt hashes from PHP ($2y$), Node, Python and others, so you can verify and migrate existing credentials. Pure server-side computation with no third-party upstream, so it is always available — and it offloads the deliberately CPU-intensive hashing work from your own servers. Ideal for adding password authentication, credential migration, auth tooling, testing and no-code backends.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/bcrypt-api","description":"oanor gateway"}],"tags":[{"name":"Bcrypt"}],"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/hash":{"get":{"operationId":"get_v1_hash","tags":["Bcrypt"],"summary":"Hash a password","description":"","parameters":[{"name":"password","in":"query","required":true,"description":"Password to hash","schema":{"type":"string"},"example":"test"},{"name":"rounds","in":"query","required":false,"description":"Cost factor 4-14 (default 10)","schema":{"type":"string"},"example":"8"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"hash":"$2a$08$NGVgB8QaXZ.R08f.Yq5K7uJ1coT4K1dFxptibNlxW8KyOZdUHnRtC","rounds":8,"version":"2a","algorithm":"bcrypt","truncated_to_72_bytes":false},"meta":{"timestamp":"2026-05-30T18:16:47.147Z","request_id":"03c1fc2d-fcfc-417b-8bf5-a9afe3f6fc93"},"status":"ok","message":"OK","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/info":{"get":{"operationId":"get_v1_info","tags":["Bcrypt"],"summary":"Inspect a bcrypt hash","description":"","parameters":[{"name":"hash","in":"query","required":true,"description":"bcrypt hash","schema":{"type":"string"},"example":"$2a$08$M1BKhxYWcHvLkDqUFf/mEuOY7CJCfPtOb6x9btARppQWQ51UfauDK"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"salt":"M1BKhxYWcHvLkDqUFf/mEu","rounds":8,"version":"2a","algorithm":"bcrypt","cost_factor":8,"valid_format":true,"version_note":"0.x-compatible"},"meta":{"timestamp":"2026-05-30T18:16:47.222Z","request_id":"3a5aaa1f-3e9b-4204-acec-f8520bd38eba"},"status":"ok","message":"OK","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/verify":{"get":{"operationId":"get_v1_verify","tags":["Bcrypt"],"summary":"Verify a password against a hash","description":"","parameters":[{"name":"password","in":"query","required":true,"description":"Plaintext password","schema":{"type":"string"},"example":"secret"},{"name":"hash","in":"query","required":true,"description":"bcrypt hash","schema":{"type":"string"},"example":"$2a$08$M1BKhxYWcHvLkDqUFf/mEuOY7CJCfPtOb6x9btARppQWQ51UfauDK"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"valid":true,"rounds":8},"meta":{"timestamp":"2026-05-30T18:16:47.335Z","request_id":"4e1cd465-d117-44b6-a16f-2d247c4a5877"},"status":"ok","message":"OK","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":600,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":500,"monthly_call_quota":25000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1600,"monthly_call_quota":150000,"rps_limit":12,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4100,"monthly_call_quota":1000000,"rps_limit":30,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/bcrypt-api"}