---
title: "Generate strong random passwords and estimate their strength."
method: POST
path: "/api/v1/password"
tags: ["Cryptography & Hashing"]
---

# Generate strong random passwords and estimate their strength.

`POST /api/v1/password`

## Request

- Base URL: `https://programmes.net`
- URL: `https://programmes.net/api/v1/password`
- Auth: none declared

Password Generator. Operations: `generate` — Generate a cryptographically random password. `strength` — Estimate the entropy and strength bucket of a password.

## Request body

- union
  - PasswordGenerate: Generate a cryptographically random password.
    - `operation` 'generate', required
    - `input` string: Unused (pass an empty string).
    - `options` object
      - `length` integer: Password length.
      - `uppercase` boolean: Include A-Z.
      - `lowercase` boolean: Include a-z.
      - `numbers` boolean: Include 0-9.
      - `symbols` boolean: Include symbols.
      - `excludeSimilar` boolean: Exclude similar characters (il1Lo0O).
      - `excludeAmbiguous` boolean: Exclude ambiguous symbols ({}[]()/\'"`~,;:.<>).
      - `customSymbols` string: Symbols to use instead of the default set.
  - PasswordStrength: Estimate the entropy and strength bucket of a password.
    - `operation` 'strength', required
    - `input` string: The password to evaluate.
    - `options` object

## Response `200`

The operation ran.

- object
  - `ok` unknown, required
  - `tool` 'password', required
  - `operation` 'generate' | 'strength', required
  - `result` unknown, required

## Other responses

- `400`: The request is not valid (https://programmes.net/api#invalid-request); The tool has no such operation (https://programmes.net/api#unknown-operation)
- `404`: No such tool (https://programmes.net/api#unknown-tool)
- `413`: The request or its input is too large (https://programmes.net/api#content-too-large)
- `415`: The body must be JSON (https://programmes.net/api#unsupported-media-type)
- `422`: An option is missing, of the wrong type or out of range (https://programmes.net/api#invalid-options); This call needs more CPU than one API call may use (https://programmes.net/api#refused); The operation could not process the input (https://programmes.net/api#tool-error)
- `429`: Too many requests (https://programmes.net/api#rate-limited)
- `500`: Internal error (https://programmes.net/api#internal-error)

---

[API](https://skmtc.dev/programmes/apis/programmes-net-api.md) · [All operations](https://skmtc.dev/programmes/apis/programmes-net-api/llms.txt) · [OpenAPI document](https://skmtc.dev/programmes/apis/programmes-net-api/revisions/aa939784a2e6?raw)
