Password Pusher API v2
BETAUitgebreide REST API documentatie voor het integreren van Password Pusher in uw workflows, applicaties en tools.
Bètabericht: API v2 is momenteel in bèta. Hoewel we alles in het werk hebben gesteld om stabiliteit te garanderen, kunnen er vóór de definitieve release nog wijzigingen worden doorgevoerd. We zijn blij met je feedback!
Overzicht
De Password Pusher API v2 biedt een RESTful interface voor het maken, ophalen en beheren van beveiligde wachtwoord pushes en verzoeken. Alle API endpoints geven JSON antwoorden en gebruiken standaard HTTP statuscodes.
Authenticatie Bearer Token
Veilige API-toegang met verificatie op basis van token
Alleen JSON-reacties
Consistent JSON-formaat voor alle eindpunten
RESTful ontwerp
Intuïtieve REST-eindpunten volgens best practices
Pushes en verzoeken
Ondersteuning voor pushen in één richting en verzoeken in twee richtingen
Wachtwoord generator
Maak wachtwoorden, wachtzinnen en pincodes aan via POST /api/v2/generate
API v2 maakt gebruik van verificatie met een Bearer token. Om te authenticeren, moet je je API token in de Authorization kop:
Authorization: Bearer YOUR_API_TOKEN
Uw API-token krijgen
- Log in op uw Password Pusher-account
- Navigeer naar je API tokens pagina
- Een API token genereren
- Kopieer het token en gebruik het in uw API-aanvragen
Opmerking: Sommige eindpunten (zoals het ophalen van een push of verzoek, of het genereren van een wachtwoord) zijn anoniem toegankelijk. Voor het aanmaken van verzoeken, het inzien van auditlogboeken en het beheren van verzamelingen is authenticatie vereist. Voeg een Bearer-token toe aan gegenereerde verzoeken wanneer het beleid voor aangemelde werkruimten van toepassing is.
Alle API-eindpunten hebben als voorvoegsel:
https://eu.pwpush.com/api/v2
Beta Beschikbaarheid
API v2 is momenteel in bèta en is beschikbaar op pwpush.com en zelf gehoste Pro-edities. De API zal worden toegevoegd aan de open-source editie nadat deze uit bèta komt.
Gebruik voor zelf gehoste instanties je eigen domein. De basis URL hierboven geeft de huidige host weer die je gebruikt.
GET /api/v2/version
Geeft de huidige API-versie, applicatiedetails en een hash van functies die beschrijft welke mogelijkheden zijn ingeschakeld op deze instantie.
Voorbeeld verzoek
curl -X GET https://eu.pwpush.com/api/v2/version
Voorbeeld Response
{
"application_version": "2.1.0",
"api_version": "2.1",
"edition": "commercial",
"features": {
"anonymous_access": true,
"api_token_authentication": true,
"password_generator": {
"enabled": true,
"languages": ["de", "en", "es", "fr", "it"]
},
"accounts": {
"enabled": true
},
"pushes": {
"enabled": true,
"email_auto_dispatch": true,
"file_attachments": {
"enabled": true,
"requires_authentication": true
}
},
"requests": {
"enabled": true,
"email_auto_dispatch": true,
"file_attachments": {
"enabled": true,
"requires_authentication": true
}
}
}
}
Kenmerken Hash
anonieme_toegang - Of anoniem API-gebruik is toegestaan
api_token_authenticatie - Ondersteuning voor verificatie met draagtoken
password_generator.enabled - Of het genereren van wachtwoorden, wachtzinnen en pincodes is ingeschakeld
password_generator.talen - Talen die worden ondersteund in de woordenlijst voor wachtzinnen
accounts.enabled - Of de lijst met werkruimten beschikbaar is op /api/v2/workspaces (het oude pad /api/v2/accounts is een alias)
pushes.enabled - Push aanmaken en beheren via API
pushes.email_auto_dispatch - Of deze instantie bij het aanmaken geheime links via e-mail kan versturen. Alleen functiedetectie — gebruik de parameter `notify_recipients` bij het aanmaken om automatische verzending uit te schakelen, terwijl je `notify_emails_to` nog steeds opgeeft voor geauthenticeerde ontvangers.
pushes.bestand_bijlagen.ingeschakeld - Bestandsbijlagen bij pushen
pushes.file_attachments.requires_authentication - Voor bestandsbijlagen is verificatie vereist
requests.enabled - Aanmaken en beheren van aanvragen via API
requests.email_auto_dispatch - Of deze instantie bij het aanmaken geheime links via e-mail kan versturen. Alleen functiedetectie — gebruik de parameter `notify_recipients` bij het aanmaken om automatische verzending uit te schakelen, terwijl je `notify_emails_to` nog steeds opgeeft voor geauthenticeerde ontvangers.
requests.file_attachments.enabled - Bestandsbijlagen bij reacties op verzoeken
requests.file_attachments.requires_authentication - Voor bestandsbijlagen is verificatie vereist
POST /api/v2/generate
Maakt één of meer wachtwoorden, wachtzinnen of pincodes aan. Authenticatie is optioneel. Bij anonieme verzoeken wordt het beleid van de kernwerkruimte (of de zelfgehoste globale werkruimte) toegepast. Stuur een Bearer-token om het beleid van de aangemelde werkruimte te gebruiken, ook op aangepaste domeinen.
Wanneer de configuratie van de generator op basis van een beleid is uitgeschakeld, worden overschrijvingen van opties genegeerd en wordt alleen het aantal in aanmerking genomen.
Als het genereren van wachtwoorden is uitgeschakeld, retourneert de API een 403 Forbidden-foutcode.
Het aantal verzoeken is beperkt tot 30 per minuut per IP-adres of per geauthenticeerde gebruiker.
Inhoud verzoek (JSON)
Stuur parameters door in de hoofdmap van het JSON-object. Als velden worden weggelaten, worden de standaardinstellingen van het geldende beleid gebruikt.
| Parameter | Type | Beschrijving |
|---|---|---|
workspace_id
optioneel
|
string | Geverifieerde werkruimte van waaruit het beleid moet worden toegepast. Accepteert ook account_id. Geeft 401 terug als de aanroeper geen lid is van die werkruimte. |
type
optioneel
|
string | wachtwoord, wachtzin of pincode |
count
optioneel
|
integer (1-10) | Aantal te genereren waarden |
language
optioneel
|
string | Woordenlijst voor wachtzinnen: en, es, fr, de of it |
word_count
optioneel
|
integer (3-10) | Aantal woorden in een wachtzin |
separator
optioneel
|
string | Tekenreeks die tussen de woorden van de wachtzin is ingevoegd |
capitalize
optioneel
|
boolean | Schrijf elk woord van de wachtzin met een hoofdletter |
number
optioneel
|
boolean | Cijfers aan een wachtzin toevoegen |
symbol
optioneel
|
boolean | Een symbool toevoegen aan een wachtzin |
length
optioneel
|
integer | Wachtwoordlengte (4–128) of pincodelengte (4–12) |
uppercase
optioneel
|
boolean | Gebruik hoofdletters in wachtwoorden |
lowercase
optioneel
|
boolean | Gebruik kleine letters in wachtwoorden |
digits
optioneel
|
boolean | Gebruik cijfers in wachtwoorden |
symbols
optioneel
|
boolean | Gebruik symbolen in wachtwoorden |
avoid_ambiguous
optioneel
|
boolean | Sluit dubbelzinnige tekens zoals 0, O, l en 1 uit |
min_digits
optioneel
|
integer | Minimaal aantal cijfers in een wachtwoord |
min_symbols
optioneel
|
integer | Minimaal aantal tekens in een wachtwoord |
charset
optioneel
|
string | Lettertype: ASCII, Latijn, Cyrillisch of Grieks. Elke andere waarde wordt behandeld als een aangepaste tekenset. |
Antwoordvelden
| Veld | Beschrijving |
|---|---|
type |
wachtwoord, wachtzin of pincode |
language |
Present voor wachtzinnen. De woordenlijst die is gebruikt om het resultaat te genereren. |
entropy_bits |
De geschatte sterkte wordt in het antwoord weergegeven. Zie entropie als maatstaf voor de sterkte van een wachtwoord. |
results |
Reeks gegenereerde tekenreeksen |
Voorbeeld verzoek
curl -X POST https://eu.pwpush.com/api/v2/generate \
-H "Content-Type: application/json" \
-d '{
"type": "passphrase",
"language": "en",
"word_count": 4,
"count": 2
}'
Voorbeeld Response
{
"type": "passphrase",
"language": "en",
"entropy_bits": 51.7,
"results": ["Correct-Horse-Battery-Staple42", "River-Garden-Lantern-Anchor17"]
}
Voorbeeld van een wachtwoord
curl -X POST https://eu.pwpush.com/api/v2/generate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "password",
"length": 20,
"symbols": true
}'
Voorbeeld: Een Push maken en ophalen
# Create a push
curl -X POST https://eu.pwpush.com/api/v2/pushes \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"push": {
"payload": "MySecretPassword123",
"expire_after_duration": 6,
"expire_after_views": 3
}
}'
# Retrieve the push
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92
Voorbeeld: Een verzoek maken en reageren
# Create a request
curl -X POST https://eu.pwpush.com/api/v2/requests \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"request": {
"request": "Please provide the API key",
"close_after_duration": 8
}
}'
# Respond to the request
curl -X PATCH https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/respond \
-H "Content-Type: application/json" \
-d '{
"request": {
"response": "The API key is: sk_live_1234567890"
}
}'
Verzoek Staten
De API gebruikt standaard HTTP-statuscodes:
200 OK
Verzoek geslaagd
201 Created
Bron gemaakt
400 Bad Request
Ongeldige parameters
422 Unprocessable Entity
Validatiefouten of ongeldige aanvraaggegevens
401 Unauthorized
Verificatie vereist
403 Forbidden
Toegang geweigerd
404 Not Found
Bron niet gevonden
Snelheidsbeperking is geïmplementeerd om de API te beschermen tegen misbruik en eerlijk gebruik voor alle gebruikers te garanderen. Snelheidslimieten worden toegepast per IP-adres en variëren afhankelijk van het type verzoek en eindpunt.
Het aantal GET-verzoeken voor het auditlogboek is beperkt tot 15 verzoeken per minuut per IP-adres, met een pieklimiet van 5 verzoeken per 10 seconden, en 30 verzoeken per minuut per geauthenticeerde gebruiker of API-token.
Reacties op Tarieflimiet
Als een verzoek de snelheidslimiet overschrijdt, retourneert de API een 429 Too Many Requests statuscode met een Retry-After kop die aangeeft wanneer u het verzoek opnieuw kunt proberen.
Beste praktijken
- Exponentiële backoff implementeren wanneer je een 429 antwoord ontvangt
- Respecteer de
Retry-Afterheaderwaarde - Cache reacties waar nodig om API-aanroepen te verminderen
- Batchbewerkingen waar mogelijk in plaats van veel afzonderlijke verzoeken
- Het API-gebruik van je applicatie bewaken om te voorkomen dat je tegen limieten aanloopt
Opmerking: Snelheidslimieten zijn ontworpen om misbruik te voorkomen terwijl legitiem gebruik mogelijk blijft. Als je consequent te maken krijgt met snelheidslimieten, overweeg dan om je integratie te optimaliseren of neem contact op met support om je use case te bespreken.
Laatst bijgewerkt: October 15, 2026