Password Generator
Generate cryptographically secure random passwords with customizable complexity. Perfect for user registration, password reset flows, or security tools.
Overview
Use Cases
- User registration systems
- Password reset functionality
- Security tools and applications
- Temporary credential generation
- API key generation
Features
API Endpoints
Generate Password
Generate a cryptographically secure random password with customizable character sets and length
https://requiems.xyz/v1/technology/password
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| length | integer |
Optional | Password length (8-128 characters) |
| uppercase | boolean |
Optional | Include uppercase letters (A-Z) |
| numbers | boolean |
Optional | Include numbers (0-9) |
| symbols | boolean |
Optional | Include special characters (!@#$%^&*()-_=+[]{}|;:,.<>?) |
Try it out
Live DemoRequest
Password length (8-128 characters)
Include uppercase letters (A-Z)
Include numbers (0-9)
Include special characters (!@#$%^&*()-_=+[]{}|;:,.<>?)
Response Fields
| Field | Type | Description |
|---|---|---|
| password | string |
The generated password |
| length | integer |
Length of the generated password |
| strength | string |
Password strength assessment (weak, medium, or strong) |
Code Examples
# Generate 16-character password with all character types
curl "https://requiems.xyz/v1/technology/password?length=16&uppercase=true&numbers=true&symbols=true" \
-H "requiems-api-key: YOUR_API_KEY"
# Generate simple 12-character password (lowercase only)
curl "https://requiems.xyz/v1/technology/password?length=12" \
-H "requiems-api-key: YOUR_API_KEY"
# Generate 20-character alphanumeric password
curl "https://requiems.xyz/v1/technology/password?length=20&uppercase=true&numbers=true" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://requiems.xyz/v1/technology/password"
headers = {"requiems-api-key": "YOUR_API_KEY"}
params = {
"length": 16,
"uppercase": True,
"numbers": True,
"symbols": True
}
response = requests.get(url, headers=headers, params=params)
result = response.json()['data']
print(f"Password: {result['password']}")
print(f"Strength: {result['strength']}")
const params = new URLSearchParams({
length: 16,
uppercase: true,
numbers: true,
symbols: true
});
const response = await fetch(
`https://requiems.xyz/v1/technology/password?${params}`,
{
headers: {
'requiems-api-key': 'YOUR_API_KEY'
}
}
);
const { data } = await response.json();
console.log(`Password: ${data.password}`);
console.log(`Strength: ${data.strength}`);
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/technology/password')
uri.query = URI.encode_www_form(
length: 16,
uppercase: true,
numbers: true,
symbols: true
)
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)['data']
puts "Password: #{data['password']}"
puts "Strength: #{data['strength']}"
Error Responses
bad_request
The length parameter is out of valid range (8-128)
internal_error
Failed to generate password (rare cryptographic failure)
Batch Generate Passwords
Generate up to 50 passwords in a single request. Each item can have its own length and character set options. Results are returned in input order.
https://requiems.xyz/v1/technology/password/batch
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| items | array<object> |
Required | List of password generation requests (1β50 items). |
| items[].length | integer |
Optional | Password length (8β128). Defaults to 16 when omitted. |
| items[].uppercase | boolean |
Optional | Include uppercase letters (AβZ). Defaults to false. |
| items[].numbers | boolean |
Optional | Include numbers (0β9). Defaults to false. |
| items[].symbols | boolean |
Optional | Include special characters. Defaults to false. |
Try it out
Live DemoRequest
List of password generation requests (1β50 items).
Password length (8β128). Defaults to 16 when omitted.
Include uppercase letters (AβZ). Defaults to false.
Include numbers (0β9). Defaults to false.
Include special characters. Defaults to false.
Response Fields
| Field | Type | Description |
|---|---|---|
| results | array<object> |
Per-item results in input order. |
| results[].result.password | string |
The generated password (omitted on error). |
| results[].result.length | integer |
Length of the generated password. |
| results[].result.strength | string |
Strength assessment (weak, medium, or strong). |
| results[].error | string |
Error message if generation failed (omitted on success). |
| total | integer |
Total number of items processed. |
Code Examples
curl -X POST https://requiems.xyz/v1/technology/password/batch \
-H "requiems-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"items": [{"length": 16, "uppercase": true, "numbers": true, "symbols": true}, {"length": 12}]}'
import requests
url = "https://requiems.xyz/v1/technology/password/batch"
headers = {
"requiems-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"items": [
{"length": 16, "uppercase": True, "numbers": True, "symbols": True},
{"length": 12}
]
}
response = requests.post(url, headers=headers, json=payload)
for item in response.json()["data"]["results"]:
if item.get("result"):
print(item["result"]["password"], item["result"]["strength"])
const response = await fetch('https://requiems.xyz/v1/technology/password/batch', {
method: 'POST',
headers: {
'requiems-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
items: [
{ length: 16, uppercase: true, numbers: true, symbols: true },
{ length: 12 }
]
})
});
const { data } = await response.json();
data.results.forEach(item => {
if (item.result) console.log(item.result.password, item.result.strength);
});
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/technology/password/batch')
request = Net::HTTP::Post.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = {
items: [
{ length: 16, uppercase: true, numbers: true, symbols: true },
{ length: 12 }
]
}.to_json
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)['data']
data['results'].each do |item|
puts item['result']['password'] if item['result']
end
Error Responses
The items array is missing, empty, or exceeds 50 items.
The request body is missing or malformed.