POST /v1/core/password-generate
Password generator
Built from a cryptographic random source, with the entropy in bits reported so you can judge it.
Generate a strong password now No key, no code — 1 credit either way.
curl -X POST "$DOATHING_API/v1/core/password-generate" \
-H "x-api-key: $DOATHING_KEY" \
-H "content-type: application/json" \
-d '{"options": {"length": 24, "exclude_ambiguous": true}}'
Built from a cryptographic random source, with the entropy in bits reported so you can judge it.
Generate passwords or passphrases from a CSPRNG, reporting entropy in bits.
Response
The result carries your remaining balance alongside it, so you can track spend without a second call.
{
"passwords": [
"xR7#kmQv…"
],
"entropy_bits": 152.4,
"alphabet_size": 82,
"request_id": "37f01edb-0163-42a1-ac51-0acaef979800",
"credits_remaining": 96
}
Cost
1 credit per call, whether it is run from the site or from the API — the credential differs, the price does not. A new account starts with 20 credits.
A rejected request still costs a credit: the authorizer decrements before the tool validates. A call rejected for a missing or invalid key is free.
Parameters
Generated from the endpoint’s own validation, so this is exactly what it accepts. A body field goes at the top level; an option goes inside options.
| Name | In | Type | Default | Notes |
|---|---|---|---|---|
| mode | options | string | "password" | password or passphrase. one of password, passphrase |
| lowercase | options | boolean | true | Include a-z. |
| uppercase | options | boolean | true | Include A-Z. |
| digits | options | boolean | true | Include 0-9. |
| symbols | options | boolean | true | Include punctuation. |
| exclude_ambiguous | options | boolean | false | Drop I, l, 1, O and 0. |
| count | options | integer | 1 | How many to generate. 1 to 100 |
| length | options | integer | 20 | Characters, for password mode. 4 to 256 |
| words | options | integer | 4 | Words, for passphrase mode. 2 to 16 |
| separator | options | string | "-" |