API-Dokumentation
Integrieren Sie Passly mit unserer REST-API mühelos in Ihre Anwendungen
Basis-URL
Alle Anfragen gehen von dieser URL aus. Kein Schlüssel, keine Anmeldung.
120
Anfragen / 10 Min.
Ohne Schlüssel
Öffentliche API
v1
API-Version
…
Antwortzeit
Produktion
https://passly.fr/api/v1Endpunkte
Drei Einstiegspunkte. Klappen Sie einen auf, um Parameter, Beispiel und Antwort zu sehen.
Ratenbegrenzung
Ein Kontingent pro IP-Adresse schützt den Dienst. Die Header zeigen Ihren Stand.
Limit pro IP
120 Anfragen alle 10 Minuten
Antwort-Header
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset
Fehler 429
Wird zurückgegeben, wenn das Limit erreicht ist. Der Header Retry-After gibt die Wartezeit an.
Fehlercodes
Jeder Fehler liefert JSON in gleichbleibender Form mit einem auswertbaren Code.
400Bad Request
Ungültige oder fehlende Parameter
{
"error": true,
"message": "Die Länge muss zwischen 4 und 128 Zeichen liegen",
"code": "invalid_length"
}429Too Many Requests
Anfragelimit überschritten
{
"error": true,
"message": "Anfragelimit erreicht. Bitte warten Sie 234 Sekunden",
"retry_after": 234,
"reset_at": "2026-01-15T10:35:00.000Z"
}500Internal Server Error
Interner Serverfehler
{
"error": true,
"message": "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut."
}503Service Unavailable
Dienst in Wartung
{
"error": true,
"message": "Die Website wird derzeit gewartet. Bitte versuchen Sie es in wenigen Minuten erneut."
}Im Feld code zurückgegebene Codes
invalid_lengthinvalid_countinvalid_formatinvalid_wordsno_charsetempty_wordlist
Integrationsbeispiele
Derselbe Aufruf, in der Sprache Ihrer Wahl. Kopieren, einfügen, anpassen.
// 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');