API-documentatie
Integreer Passly eenvoudig in uw toepassingen met onze REST-API
Basis-URL
Alle verzoeken vertrekken vanaf deze URL. Geen sleutel, geen registratie.
120
Verzoeken / 10 min
Zonder sleutel
Openbare API
v1
API-versie
…
Responstijd
Productie
https://passly.fr/api/v1Endpoints
Drie ingangen. Klap er één open voor de parameters, een voorbeeld en het antwoord.
Genereert een of meer veilige wachtwoorden volgens de opgegeven criteria.
Parameters
lengthinteger4-128, standaard: 16Optioneel
countinteger1-50, standaard: 1Optioneel
formatstringrandom, pronounceable, passphraseOptioneel
lowercasebooleanKleine letters opnemen (standaard: true)Optioneel
uppercasebooleanHoofdletters opnemen (standaard: true)Optioneel
digitsbooleanCijfers opnemen (standaard: true)Optioneel
specialbooleanSpeciale tekens opnemen (standaard: false)Optioneel
exclude_similarbooleanDubbelzinnige tekens uitsluiten (standaard: false)Optioneel
exclude_customstringExtra uit te sluiten tekens (≤ 256)Optioneel
capitalizebooleanUitspreekbaar: elke lettergreep met hoofdletter (standaard: true)Optioneel
include_numbersbooleanUitspreekbaar: cijfers toevoegen (standaard: true)Optioneel
wordsintegerWachtwoordzinnen: 3-10Optioneel
separatorstringWachtwoordzinnen: woordscheidingsteken (≤ 8)Optioneel
Voorbeeldverzoek
curl -X POST https://passly.fr/api/v1/generate \
-H "Content-Type: application/json" \
-d '{
"length": 20,
"count": 3,
"special": true,
"exclude_similar": true
}'Antwoord
200 OK
{
"success": true,
"data": {
"passwords": [
"K9#mP2$xQr5@nW8&zF3v",
"T4*bN7^gH6%jL3!qR9@m",
"X5&cV8#nB2$kM4@pZ7*w"
],
"entropy_bits": 131.09,
"strength": "very_strong",
"metadata": {
"format": "random",
"length": 20,
"charset_size": 88,
"possible_combinations": 1.7690923e+38,
"possible_combinations_log10": 38.248
},
"crack_time": {
"seconds": 8.8454615e+25,
"formatted": "billions of years",
"unit": "billion_years",
"value": null,
"assumptions": "1e+12 guesses/second"
},
"generated_at": "2026-01-15T10:30:45.000Z",
"locale": "fr",
"api_version": "v1"
}
}Verzoeklimiet
Een quotum per IP-adres beschermt de dienst. De headers tonen waar u staat.
Limiet per IP
120 verzoeken per 10 minuten
Antwoordheaders
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset
Fout 429
Wordt teruggegeven wanneer de limiet is bereikt. De header Retry-After geeft de wachttijd aan.
Foutcodes
Elke fout geeft JSON met een vaste vorm terug, met een bruikbare code.
400Bad Request
Ongeldige of ontbrekende parameters
{
"error": true,
"message": "Lengte moet tussen 4 en 128 tekens zijn",
"code": "invalid_length"
}429Too Many Requests
Verzoeklimiet overschreden
{
"error": true,
"message": "Limiet bereikt. Wacht 234 seconden",
"retry_after": 234,
"reset_at": "2026-01-15T10:35:00.000Z"
}500Internal Server Error
Interne serverfout
{
"error": true,
"message": "Er is een fout opgetreden. Probeer het opnieuw."
}503Service Unavailable
Dienst in onderhoud
{
"error": true,
"message": "De site is momenteel in onderhoud. Probeer het over enkele minuten opnieuw."
}Codes die in het veld code worden teruggegeven
invalid_lengthinvalid_countinvalid_formatinvalid_wordsno_charsetempty_wordlist
Integratievoorbeelden
Dezelfde aanroep, in de taal van uw keuze. Kopiëren, plakken, aanpassen.
// PasslyClient.js
class PasslyClient {
constructor(baseURL = 'https://passly.fr/api/v1') {
this.baseURL = baseURL;
}
async generatePassword(options = {}) {
const response = await fetch(`${this.baseURL}/generate`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
length: options.length || 16,
count: options.count || 1,
lowercase: options.lowercase !== false,
uppercase: options.uppercase !== false,
digits: options.digits !== false,
special: options.special || false,
exclude_similar: options.excludeSimilar || false,
format: options.format || 'random'
})
});
if (!response.ok) {
throw new Error(`API Error: ${response.status}`);
}
return response.json();
}
async checkHealth() {
const response = await fetch(`${this.baseURL}/health`);
return response.json();
}
}
// Utilisation
const passly = new PasslyClient();
const result = await passly.generatePassword({
length: 24,
special: true,
excludeSimilar: true
});
console.log('Mot de passe:', result.data.passwords[0]);
console.log('Force:', result.data.strength);
console.log('Entropie:', result.data.entropy_bits, 'bits');