Password Pusher API v2
BETAOmfattende REST API-dokumentation til integration Password Pusher ind i dine applikationer
Beta-meddelelse: API v2 er i øjeblikket i beta. Vi har gjort alt for at sikre stabilitet, men der kan forekomme ændringer inden den endelige udgivelse. Vi glæder os over din feedback!
Skubber
Pushes muliggør sikker envejsoverførsel af følsomme data til modtagere. Opret et push med en hemmelig URL, der indeholder tekst, filer, QR-koder eller URL'er, og del det derefter med hvem som helst - alt sammen uden at eksponere følsomme data i e-mail, chat eller logfiler.
Perfekt til onboarding af medarbejdere, afsendelse af kontooplysninger, overførsel af fortrolige dokumenter eller deling af andre følsomme oplysninger. Pushs udløber automatisk efter en bestemt varighed eller et bestemt antal visninger, og fuld livscyklussporing er tilgængelig i revisionsloggene for hvert push.
POST /api/v2/pushes
Opretter et nyt push med den angivne payload.
Anmodningskrop (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
}
Anmodningskrop med filer (multipart/form-data)
curl -X POST https://eu.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"
Bemærk: Når du vedhæfter filer, skal du bruge multipart/form-data format og sæt kind: "file". Flere filer kan vedhæftes ved hjælp af push[files][].
Params
| Parameter | Type | Beskrivelse |
|---|---|---|
payload
påkrævet
|
string | Den hemmelige tekst at dele |
expire_after_duration
valgfri
|
integer (0-17) | Varighed enum (0-17) |
expire_after_views
valgfri
|
integer (1-100) | Antal visninger før udløb |
passphrase
valgfri
|
string | Kræver adgangskode for at se |
name
valgfri
|
string | Et navn til skubbet |
note
valgfri
|
string | Intern note (kun synlig for skaberen) |
deletable_by_viewer
valgfri
|
boolean | Giv seerne mulighed for at slette push'en |
retrieval_step
valgfri
|
boolean | Kræver et ekstra trin for at hente |
kind
valgfri
|
string | Type: "tekst", "fil", "url" eller "qr" (standard er "tekst") |
notify_emails_to
valgfri
|
string | E-mailadresser, der skal have besked, når der oprettes et push (kommasepareret) |
notify_emails_to_locale
valgfri
|
string | Lokalitet (sprog) til at sende e-mailmeddelelser i |
account_id
valgfri
|
integer | Det konto-id, der skal knyttes til push (for brugere med flere konti) |
Varighedsværdier for expire_after_duration
Svarfelter
Følgende felter returneres i svaret, når du opretter et push. Bemærk: Payload og filer returneres IKKE ved oprettelse - de er kun tilgængelige, når man henter et push via GET.
| Felt | Type | Eksempel | Beskrivelse |
|---|---|---|---|
| account_id | integer or null | 1 | ID for ejerkonto |
| created_at | string | "2025-02-17T10:00:00.000Z" | Oprettelsestidspunkt for ISO 8601 |
| days_remaining | integer | 1 | Forældet Hele dage tilbage (0 når < 1 dag); foretrækker expires_at / expires_in |
| deletable_by_viewer | boolean | true | Om modtageren må slette push'en |
| deleted | boolean | false | Om push blev eksplicit slettet |
| expire_after_days | integer | 1 | Forældet Omtrentlige dage (udledt af varighed) |
| expire_after_duration | integer | 6 | Varighed enum (0-17); se tabellen ovenfor |
| expire_after_views | integer | 5 | Max visninger før udløb |
| expired | boolean | false | Om skubbet er udløbet |
| expired_on | string or null | null | ISO 8601, når skubbet er udløbet; null, hvis det ikke er udløbet |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601-tidspunkt for udløb af push; null, hvis udløbet |
| expires_in | number | 86400 | Sekunder indtil udløb (0 hvis udløbet) |
| html_url | string | "https://.../p/abc" | URL til at åbne push i browseren |
| json_url | string | "https://.../p/abc.json" | URL til at hente push som JSON |
| name | string or null | "Database credentials" | Valgfrit navn til push |
| note | string or null | null | Valgfri privat note |
| notify_emails_to | string or null | null | E-mails til underretning ved oprettelse (kun premium) |
| passphrase | string or null | null | Vises kun, hvis push har en passphrase (værdien er skjult) |
| retrieval_step | boolean | false | Om der kræves et ekstra trin for at hente |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 sidste opdateringstidspunkt |
| url_token | string | "fkwjfvhall92" | Unik hemmelig identifikator for push |
| views_remaining | integer | 5 | Visninger tilbage før udløb |
Eksempel på svar:
{
"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"
}
Eksempel på anmodning
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
}
}'
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://eu.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://eu.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://eu.pwpush.com/api/v2/pushes' `
-Method Post `
-Headers $headers `
-Body $body
$response | ConvertTo-Json
GET /api/v2/pushes/:url_token
Henter den hemmelige payload for et push. Dette øger antallet af visninger og kan få push'et til at udløbe.
Svarfelter
Følgende felter returneres, når der hentes et push. Dette endpoint returnerer payload og filer, som ikke er tilgængelige på andre endpoints.
| Felt | Type | Eksempel | Beskrivelse |
|---|---|---|---|
| created_at | string | "2025-02-17T10:00:00.000Z" | Oprettelsestidspunkt for ISO 8601 |
| days_remaining | integer | 1 | Forældet Hele dage tilbage (0 når < 1 dag); foretrækker expires_at / expires_in |
| deletable_by_viewer | boolean | true | Om modtageren må slette push'en |
| deleted | boolean | false | Om push blev eksplicit slettet |
| expire_after_days | integer | 1 | Forældet Omtrentlige dage (udledt af varighed) |
| expire_after_duration | integer | 6 | Varighed enum (0-17) |
| expire_after_views | integer | 5 | Max visninger før udløb |
| expired | boolean | false | Om skubbet er udløbet |
| expired_on | string or null | null | ISO 8601, når skubbet er udløbet; null, hvis det ikke er udløbet |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601-tidspunkt for udløb af push; null, hvis udløbet |
| expires_in | number | 86400 | Sekunder indtil udløb (0 hvis udløbet) |
| files | array | [{ filename, content_type, url }] | Vedhæftede filmetadata med download-URL'er |
| html_url | string | "https://.../p/abc" | URL til at åbne push i browseren |
| json_url | string | "https://.../p/abc.json" | URL til at hente push som JSON |
| passphrase | string or null | null | Vises kun, hvis push har en passphrase (værdien er skjult) |
| payload | string or null | "secret123" | Det hemmelige indhold; null, når det er udløbet |
| retrieval_step | boolean | false | Om der kræves et ekstra trin for at hente |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 sidste opdateringstidspunkt |
| url_token | string | "fkwjfvhall92" | Unik hemmelig identifikator for push |
| views_remaining | integer | 2 | Visninger tilbage før udløb |
Eksempel på anmodning
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92
Eksempel på anmodning med adgangssætning
curl -X GET "https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92?passphrase=your_passphrase"
Eksempel på svar
{
"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://eu.pwpush.com/p/fkwjfvhall92.json",
"html_url": "https://eu.pwpush.com/p/fkwjfvhall92",
"payload": "MySecretPassword123",
"files": []
}
Bemærk: Hvis push har en passphrase, skal du inkludere den som en forespørgselsparameter: ?passphrase=your_passphrase. At hente et push tæller som en visning og kan få push'et til at udløbe, hvis det når sin visningsgrænse.
GET /api/v2/pushes/:url_token/preview
Returnerer den fuldt kvalificerede hemmelige URL for et push uden at hente payloaden.
Eksempel på anmodning
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/preview
Eksempel på svar
{
"url": "https://eu.pwpush.com/p/fkwjfvhall92"
}
GET /api/v2/pushes/:url_token/audit
Returnerer revisionsloggen for et push. Kræver godkendelse og ejerskab.
Forespørgselsparametre:
page (valgfri): Sidenummer til paginering.
- Standard:
1(første side) - Rækkevidde:
1til200 - Returnerer op til 50 revisionslogposter pr. side
- Et eksempel:
?page=2for at hente den anden side
Eksempel på anmodning
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Eksempel på svar
{
"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"
}
]
}
Bemærk: Den kind feltet angiver typen af handling, der logges. Almindelige værdier omfatter: creation, view, expire, failed_passphrase, og failed_view.
DELETE /api/v2/pushes/:url_token
Udløber øjeblikkeligt et push og sletter permanent alle følsomme data, herunder nyttelasten og eventuelle vedhæftede filer. Denne handling er irreversibel og kan ikke fortrydes. Kræver godkendelse og ejerskab, eller push'et skal være oprettet med deletable_by_viewer: true.
Eksempel på anmodning
curl -X DELETE https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92 \
-H "Authorization: Bearer YOUR_API_TOKEN"
Eksempel på svar
{
"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://eu.pwpush.com/p/fkwjfvhall92.json",
"html_url": "https://eu.pwpush.com/p/fkwjfvhall92",
"account_id": 1,
"note": null,
"name": null
}
GET /api/v2/pushes/active
Returnerer en pagineret liste over dine aktive (ikke udløbne) pushes. Kræver godkendelse.
GET /api/v2/pushes/expired
Returnerer en pagineret liste over dine udløbne pushes. Kræver godkendelse.
Forespørgselsparametre:
page (valgfri): Sidenummer til paginering.
- Standard:
1(første side) - Rækkevidde:
1til200 - Returnerer op til 50 tryk pr. side
- Et eksempel:
?page=2for at hente den anden side
Eksempel på anmodning (aktiv)
curl -X GET https://eu.pwpush.com/api/v2/pushes/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Eksempel på anmodning (udløbet)
curl -X GET https://eu.pwpush.com/api/v2/pushes/expired \
-H "Authorization: Bearer YOUR_API_TOKEN"
Eksempel på svar
[
{
"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://eu.pwpush.com/p/abc123xyz789.json",
"html_url": "https://eu.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://eu.pwpush.com/p/def456uvw012.json",
"html_url": "https://eu.pwpush.com/p/def456uvw012",
"account_id": 1,
"note": null,
"name": null
}
]
Sidst opdateret: July 12, 2026