Password Pusher API v2
BETAUitgebreide REST API-documentatie voor integratie Password Pusher in uw toepassingen
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!
Duwt
Pushes maken een veilige, eenrichtingsoverdracht van gevoelige gegevens naar ontvangers mogelijk. Maak een push aan met een geheime URL die tekst, bestanden, QR-codes of URL's bevat en deel deze vervolgens met iedereen - allemaal zonder gevoelige gegevens bloot te leggen in e-mail, chat of logbestanden.
Perfect voor het inwerken van werknemers, het verzenden van accountgegevens, het verzenden van vertrouwelijke documenten of het delen van gevoelige informatie. Pushes verlopen automatisch na een opgegeven duur of aantal weergaven en de volledige levenscyclus kan worden gevolgd in de controlelogboeken van elke push.
POST /api/v2/pushes
Creëert een nieuwe push met de opgegeven payload.
Inhoud verzoek (JSON)
{
"push": {
"payload": "secret_password_123",
"expire_after_duration": 6,
"expire_after_views": 5,
"passphrase": "optional_passphrase",
"name": "Database Credentials",
"note": "Internal note",
"deletable_by_viewer": true,
"retrieval_step": true,
"kind": "text"
},
"account_id": 123
}
Request Body met bestanden (multipart/form-data)
curl -X POST https://us.pwpush.com/api/v2/pushes \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "push[payload]=secret_password_123" \
-F "push[expire_after_duration]=6" \
-F "push[expire_after_views]=5" \
-F "push[name]=Database Credentials" \
-F "push[files][]=@/path/to/file1.pdf" \
-F "push[files][]=@/path/to/file2.txt"
Opmerking: Gebruik bij het bijvoegen van bestanden multipart/form-data formaat en stel in kind: "file". Meerdere bestanden kunnen worden bijgevoegd met push[files][].
Parameters
| Parameter | Type | Beschrijving |
|---|---|---|
payload
vereist
|
string | De geheime tekst om te delen |
expire_after_duration
optioneel
|
integer (0-17) | Duur enum (0-17) |
expire_after_views
optioneel
|
integer (1-100) | Aantal weergaven voor afloop |
passphrase
optioneel
|
string | Wachtwoord vereist om te bekijken |
name
optioneel
|
string | Een naam voor de push |
note
optioneel
|
string | Interne notitie (alleen zichtbaar voor maker) |
deletable_by_viewer
optioneel
|
boolean | Kijkers toestaan om de push te verwijderen |
retrieval_step
optioneel
|
boolean | Een extra stap vereisen om op te halen |
kind
optioneel
|
string | Type: "tekst", "bestand", "url" of "qr" (standaard ingesteld op "tekst") |
notify_emails_to
optioneel
|
string | E-mailadressen die moeten worden verwittigd wanneer een push wordt aangemaakt (door komma's gescheiden) |
notify_emails_to_locale
optioneel
|
string | Locale (taal) om e-mailnotificatie(s) te verzenden in |
authenticated_recipients
optioneel
|
boolean | Vereist verificatie via een eenmalige wachtwoordcode (OTP) per e-mail voordat de inhoud kan worden bekeken. Vereist de instelling `notify_emails_to`. Het ophalen is alleen mogelijk via de browser wanneer deze functie is ingeschakeld (het ophalen via de API levert een 403-fout op). |
account_id
optioneel
|
integer | De account-ID om de push aan te koppelen (voor gebruikers met meerdere accounts) |
Duur Waarden voor expire_after_duration
Antwoordvelden
De volgende velden worden geretourneerd in de respons bij het aanmaken van een push. Opmerking: payload en bestanden worden NIET geretourneerd bij het aanmaken - deze zijn alleen beschikbaar bij het ophalen van een push via GET.
| Veld | Type | Voorbeeld | Beschrijving |
|---|---|---|---|
| account_id | integer or null | 1 | Account-ID eigenaar |
| created_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 aanmaaktijd |
| days_remaining | integer | 1 | Verouderd Gehele resterende dagen (0 wanneer < 1 dag); liever expires_at / expires_in |
| deletable_by_viewer | boolean | true | Of de ontvanger de push mag verwijderen |
| deleted | boolean | false | Of de push expliciet is verwijderd |
| expire_after_days | integer | 1 | Verouderd Geschatte dagen (afgeleid van duur) |
| expire_after_duration | integer | 6 | Duur enum (0-17); zie bovenstaande tabel |
| expire_after_views | integer | 5 | Max aantal weergaven voor verlopen |
| expired | boolean | false | Of de push is verlopen |
| expired_on | string or null | null | ISO 8601 wanneer de push is verlopen; nul indien niet verlopen |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601 tijd waarop de push verloopt; nul indien verlopen |
| expires_in | number | 86400 | Seconden tot verlopen (0 als verlopen) |
| html_url | string | "https://.../p/abc" | URL om push in browser te openen |
| json_url | string | "https://.../p/abc.json" | URL om push op te halen als JSON |
| name | string or null | "Database credentials" | Optionele naam voor de push |
| note | string or null | null | Optionele privé notitie |
| notify_emails_to | string or null | null | E-mails om te waarschuwen bij het maken (alleen premium) |
| passphrase | string or null | null | Alleen aanwezig als push een wachtwoordzin heeft (waarde verborgen) |
| retrieval_step | boolean | false | Of er een extra stap nodig is om |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 laatste update tijd |
| url_token | string | "fkwjfvhall92" | Unieke geheime identificatie voor de push |
| views_remaining | integer | 5 | Aantal keer bekeken voor vervaldatum |
Voorbeeld Response:
{
"expire_after_duration": 6,
"expire_after_views": 5,
"expired": false,
"url_token": "fkwjfvhall92",
"deletable_by_viewer": true,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2025-02-17T10:00:00.000Z",
"updated_at": "2025-02-17T10:00:00.000Z",
"expire_after_days": 1,
"views_remaining": 5,
"deleted": false,
"days_remaining": 1,
"expires_at": "2025-02-18T10:00:00.000Z",
"expires_in": 86400,
"json_url": "https://example.com/p/fkwjfvhall92.json",
"html_url": "https://example.com/p/fkwjfvhall92",
"account_id": 1,
"note": null,
"name": "Database Credentials"
}
Voorbeeld verzoek
curl -X POST https://us.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
}
}'
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://us.pwpush.com/api/v2/pushes')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request['Content-Type'] = 'application/json'
request.body = {
push: {
payload: 'MySecretPassword123',
expire_after_duration: 6,
expire_after_views: 3
}
}.to_json
response = http.request(request)
puts response.body
import requests
import json
url = 'https://us.pwpush.com/api/v2/pushes'
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
}
data = {
'push': {
'payload': 'MySecretPassword123',
'expire_after_duration': 6,
'expire_after_views': 3
}
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
$headers = @{
'Authorization' = 'Bearer YOUR_API_TOKEN'
'Content-Type' = 'application/json'
}
$body = @{
push = @{
payload = 'MySecretPassword123'
expire_after_duration = 6
expire_after_views = 3
}
} | ConvertTo-Json -Depth 10
$response = Invoke-RestMethod -Uri 'https://us.pwpush.com/api/v2/pushes' `
-Method Post `
-Headers $headers `
-Body $body
$response | ConvertTo-Json
GET /api/v2/pushes/:url_token
Haalt de geheime payload van een push op. Dit verhoogt de view count en kan de push laten verlopen.
Antwoordvelden
De volgende velden worden teruggegeven bij het ophalen van een push. Dit eindpunt retourneert de payload en bestanden die niet beschikbaar zijn op andere eindpunten.
| Veld | Type | Voorbeeld | Beschrijving |
|---|---|---|---|
| created_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 aanmaaktijd |
| days_remaining | integer | 1 | Verouderd Gehele resterende dagen (0 wanneer < 1 dag); liever expires_at / expires_in |
| deletable_by_viewer | boolean | true | Of de ontvanger de push mag verwijderen |
| deleted | boolean | false | Of de push expliciet is verwijderd |
| expire_after_days | integer | 1 | Verouderd Geschatte dagen (afgeleid van duur) |
| expire_after_duration | integer | 6 | Duur enum (0-17) |
| expire_after_views | integer | 5 | Max aantal weergaven voor verlopen |
| expired | boolean | false | Of de push is verlopen |
| expired_on | string or null | null | ISO 8601 wanneer de push is verlopen; nul indien niet verlopen |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601 tijd waarop de push verloopt; nul indien verlopen |
| expires_in | number | 86400 | Seconden tot verlopen (0 als verlopen) |
| files | array | [{ filename, content_type, url }] | Metagegevens van bijgevoegde bestanden met download-URL's |
| html_url | string | "https://.../p/abc" | URL om push in browser te openen |
| json_url | string | "https://.../p/abc.json" | URL om push op te halen als JSON |
| passphrase | string or null | null | Alleen aanwezig als push een wachtwoordzin heeft (waarde verborgen) |
| payload | string or null | "secret123" | De geheime inhoud; nul wanneer verlopen |
| retrieval_step | boolean | false | Of er een extra stap nodig is om |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 laatste update tijd |
| url_token | string | "fkwjfvhall92" | Unieke geheime identificatie voor de push |
| views_remaining | integer | 2 | Aantal keer bekeken voor vervaldatum |
Voorbeeld verzoek
curl -X GET https://us.pwpush.com/api/v2/pushes/fkwjfvhall92
Voorbeeldverzoek met wachtwoordzin
curl -X GET "https://us.pwpush.com/api/v2/pushes/fkwjfvhall92?passphrase=your_passphrase"
Voorbeeld Response
{
"expire_after_duration": 6,
"expire_after_views": 3,
"expired": false,
"url_token": "fkwjfvhall92",
"deletable_by_viewer": false,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2025-02-17T10:00:00.000Z",
"updated_at": "2025-02-17T10:00:00.000Z",
"expire_after_days": 1,
"views_remaining": 2,
"deleted": false,
"days_remaining": 1,
"expires_at": "2025-02-18T10:00:00.000Z",
"expires_in": 86400,
"json_url": "https://us.pwpush.com/p/fkwjfvhall92.json",
"html_url": "https://us.pwpush.com/p/fkwjfvhall92",
"payload": "MySecretPassword123",
"files": []
}
Opmerking: Als de push een wachtwoordzin heeft, voeg deze dan toe als queryparameter: ?passphrase=your_passphrase. Het ophalen van een push telt als een weergave en kan de push laten verlopen als de weergavelimiet is bereikt.
GET /api/v2/pushes/:url_token/preview
Retourneert de volledig gekwalificeerde geheime URL van een push zonder de payload op te halen.
Voorbeeld verzoek
curl -X GET https://us.pwpush.com/api/v2/pushes/fkwjfvhall92/preview
Voorbeeld Response
{
"url": "https://us.pwpush.com/p/fkwjfvhall92"
}
GET /api/v2/pushes/:url_token/audit
Geeft het auditlogboek voor een push. Vereist authenticatie en eigendom.
Vraagparameters:
page (optioneel): Paginanummer voor paginering.
- Standaard:
1(eerste pagina) - Bereik:
1naar200 - Geeft tot 50 auditlogboekvermeldingen per pagina weer
- Voorbeeld:
?page=2om de tweede pagina op te halen
Voorbeeld verzoek
curl -X GET https://us.pwpush.com/api/v2/pushes/fkwjfvhall92/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Voorbeeld Response
{
"logs": [
{
"ip": "192.168.1.100",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"referrer": null,
"kind": "creation",
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:00:00.000Z"
},
{
"ip": "192.168.1.101",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
"referrer": "https://example.com",
"kind": "view",
"created_at": "2023-10-27T10:05:00.000Z",
"updated_at": "2023-10-27T10:05:00.000Z"
}
]
}
Opmerking: De kind veld geeft het gelogde actietype aan. Veel voorkomende waarden zijn: creation, view, expire, failed_passphrase, en failed_view.
DELETE /api/v2/pushes/:url_token
Verlaat onmiddellijk een push en verwijdert permanent alle gevoelige gegevens, inclusief de payload en eventuele bijgevoegde bestanden. Deze actie is onomkeerbaar en kan niet ongedaan worden gemaakt. Vereist authenticatie en eigenaarschap, of de push moet zijn aangemaakt met deletable_by_viewer: true.
Voorbeeld verzoek
curl -X DELETE https://us.pwpush.com/api/v2/pushes/fkwjfvhall92 \
-H "Authorization: Bearer YOUR_API_TOKEN"
Voorbeeld Response
{
"expire_after_duration": 7,
"expire_after_views": 5,
"expired": true,
"url_token": "fkwjfvhall92",
"deletable_by_viewer": false,
"retrieval_step": false,
"expired_on": "2023-10-27T10:15:00.000Z",
"passphrase": null,
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:15:00.000Z",
"expire_after_days": 7,
"days_remaining": 0,
"expires_at": null,
"expires_in": 0,
"views_remaining": 0,
"deleted": true,
"json_url": "https://us.pwpush.com/p/fkwjfvhall92.json",
"html_url": "https://us.pwpush.com/p/fkwjfvhall92",
"account_id": 1,
"note": null,
"name": null
}
GET /api/v2/pushes/active
Geeft een gepagineerde lijst van uw actieve (niet-verlopen) pushes. Verificatie vereist.
GET /api/v2/pushes/expired
Geeft een gepagineerde lijst van uw verlopen pushes. Verificatie vereist.
Vraagparameters:
page (optioneel): Paginanummer voor paginering.
- Standaard:
1(eerste pagina) - Bereik:
1naar200 - Geeft tot 50 pushes per pagina
- Voorbeeld:
?page=2om de tweede pagina op te halen
Voorbeeldverzoek (Actief)
curl -X GET https://us.pwpush.com/api/v2/pushes/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Voorbeeld verzoek (verlopen)
curl -X GET https://us.pwpush.com/api/v2/pushes/expired \
-H "Authorization: Bearer YOUR_API_TOKEN"
Voorbeeld Response
[
{
"expire_after_duration": 7,
"expire_after_views": 5,
"expired": false,
"url_token": "abc123xyz789",
"deletable_by_viewer": false,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:00:00.000Z",
"expire_after_days": 7,
"days_remaining": 7,
"expires_at": "2023-10-29T10:00:00.000Z",
"expires_in": 172800,
"views_remaining": 5,
"deleted": false,
"json_url": "https://us.pwpush.com/p/abc123xyz789.json",
"html_url": "https://us.pwpush.com/p/abc123xyz789",
"account_id": 1,
"note": null,
"name": null
},
{
"expire_after_duration": 1,
"expire_after_views": 3,
"expired": false,
"url_token": "def456uvw012",
"deletable_by_viewer": true,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2023-10-26T15:30:00.000Z",
"updated_at": "2023-10-26T15:30:00.000Z",
"expire_after_days": 1,
"days_remaining": 0,
"expires_at": "2023-10-26T16:00:00.000Z",
"expires_in": 1200,
"views_remaining": 2,
"deleted": false,
"json_url": "https://us.pwpush.com/p/def456uvw012.json",
"html_url": "https://us.pwpush.com/p/def456uvw012",
"account_id": 1,
"note": null,
"name": null
}
]
Laatst bijgewerkt: July 20, 2026