Generate secure passwords from any app. In 3 lines.
One REST endpoint. No SDK, no install, no account required for the free tier. Send JSON, get passwords back. Works with any language, any framework, any no-code tool.
curl -X POST https://passgeni.ai/api/generate -H "Content-Type: application/json" -d '{}'
Returns 1 password, 18 chars. No account, no key, no setup. Free tier: 50 requests/day per IP.
Architecture
What actually happens when you call the API?
You send JSON
A POST request with optional parameters. No SDK, no special headers beyond Content-Type.
Server generates
Node.js crypto.randomInt() — the same FIPS 140-3 primitive used in TLS — builds your password on our server.
Standards applied
If you pass compliance:'hipaa', we enforce HIPAA §164.312(d) minimum requirements before returning.
You get passwords
A JSON array of passwords plus entropy bits, crack time, and an audit object with the character pool used.
API generation is server-side — your password transits our server over HTTPS. For zero-knowledge, client-side generation use the web generator.
What can you build with it?
Plug PassGeni into anything.
Because it's plain JSON over HTTPS, PassGeni works with every language, platform, and no-code tool that can make an HTTP request — which is all of them. Click any integration below to see a working code example.
Never put your API key in front-end code, browser JS, or a public GitHub repo. Use an environment variable (process.env.PASSGENI_API_KEY). Rotate from your dashboard if compromised.
Quotas
Rate limits
Plan
Calls/day
Per request
Compliance
Cost
Free
50/day (IP)
10
—
$0
Assurance
1,000/day
500
All 6
$19/mo
Authority
5,000/day
500
All 6
$59/mo
Rate limit headers (every response)
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4995
X-RateLimit-Reset: 1735689600000 // Unix ms — midnight UTC
Request body
Parameters
All parameters are optional. An empty body {} returns one 18-character password with sensible defaults.
apiKeystring
default: null
Your Team key. Leave blank for free tier (50 calls/day).
professionstring
default: "developer"
Seeds the generator: developer · doctor · finance · designer · legal · educator
lengthnumber
default: 18
Password length. Range 8–32. Compliance presets enforce a higher minimum.
countnumber
default: 1
How many passwords to return. Free: max 10. Team: max 500 per request.
compliancestring
default: null
hipaa · pci · soc2 · iso · nist · dod — Assurance or Authority plan only. Enforces the exact standard.
modestring
default: "password"
"password" for standard, "passphrase" for memorable word-based credentials.
quantumboolean
default: false
Post-quantum mode: 512-bit entropy, expanded symbol set, 20-char minimum.
Response format
Response schema
Every successful response is HTTP 200 with this JSON structure:
Issue and manage ES256-signed compliance certificates programmatically. Accepts Authorization: Bearer pk_live_… or a session cookie. Get your API key from the dashboard.
POST
/api/generate-certificate
Issue an ES256-signed compliance certificate for a generated password.
GET
/api/audit
List your certificates with filtering and pagination. Query params: limit, offset, standard (e.g. HIPAA, NIST-800-63B), date_from (ISO), date_to (ISO), status (valid|revoked|expired).
POST
/api/revoke/[id]
Revoke a certificate by ID. Only the owner can revoke.
GET
/api/keys
List your active API keys (session cookie required).
POST
/api/keys
Create an API key — returns the raw key once only (session cookie required).
DELETE
/api/keys?id=uuid
Revoke an API key by ID (session cookie required).