Password Pusher API v2
BETAOmfattande REST API-dokumentation för integrering Password Pusher i dina applikationer
Beta Meddelande: API v2 är för närvarande i betaversion. Även om vi har gjort allt för att säkerställa stabilitet kan det förekomma ändringar innan den slutliga utgåvan. Vi välkomnar din feedback!
Knuffar
Push-meddelanden möjliggör säker envägsöverföring av känsliga uppgifter till mottagare. Skapa en push med en hemlig URL som innehåller text, filer, QR-koder eller URL:er och dela den sedan med vem som helst - utan att exponera känsliga data i e-post, chatt eller loggar.
Perfekt för att introducera nya medarbetare, skicka kontouppgifter, överföra konfidentiella dokument eller dela annan känslig information. Pushar upphör automatiskt att gälla efter en viss tid eller ett visst antal visningar, och fullständig livscykelspårning finns tillgänglig i granskningsloggarna för varje push.
POST /api/v2/pushes
Skapar en ny push med den angivna nyttolasten.
Huvuddel av begäran (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 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"
Obs! När du bifogar filer använder du multipart/form-data format och inställning kind: "file". Flera filer kan bifogas med hjälp av push[files][].
Params
| Parameter | Typ | Beskrivning |
|---|---|---|
payload
nödvändig
|
string | Den hemliga texten att dela |
expire_after_duration
frivillig
|
integer (0-17) | Varaktighet enum (0-17) |
expire_after_views
frivillig
|
integer (1-100) | Antal visningar före utgången av giltighetstiden |
passphrase
frivillig
|
string | Kräver lösenfras för att visa |
name
frivillig
|
string | Ett namn för push |
note
frivillig
|
string | Intern anteckning (endast synlig för skaparen) |
deletable_by_viewer
frivillig
|
boolean | Tillåt tittarna att ta bort push |
retrieval_step
frivillig
|
boolean | Kräver ett extra steg för att hämta |
kind
frivillig
|
string | Typ: "text", "fil", "url" eller "qr" (standardvärde är "text") |
notify_emails_to
frivillig
|
string | E-postadresser som ska meddelas när en push skapas (kommaseparerade) |
notify_emails_to_locale
frivillig
|
string | Locale (språk) för att skicka e-postmeddelanden i |
account_id
frivillig
|
integer | Det konto-ID som push-funktionen ska kopplas till (för användare med flera konton) |
Varaktighet Värden för expire_after_duration
Svarsfält
Följande fält returneras i svaret när du skapar en push. Observera: Payload och filer returneras INTE vid skapandet - de är endast tillgängliga när du hämtar en push via GET.
| Fält | Typ | Exempel | Beskrivning |
|---|---|---|---|
| account_id | integer or null | 1 | ID för ägarkonto |
| created_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 skapelsetid |
| days_remaining | integer | 1 | Utfasad Hela dagar kvar (0 när < 1 dag); föredrar expires_at / expires_in |
| deletable_by_viewer | boolean | true | Om mottagaren kan radera pushmeddelandet |
| deleted | boolean | false | Om push-meddelandet uttryckligen raderades |
| expire_after_days | integer | 1 | Utfasad Ungefärliga dagar (härledda från varaktighet) |
| expire_after_duration | integer | 6 | Varaktighet enum (0-17); se tabellen ovan |
| expire_after_views | integer | 5 | Max antal visningar före utgången av giltighetstiden |
| expired | boolean | false | Om push-funktionen har löpt ut |
| expired_on | string or null | null | ISO 8601 när trycket har upphört att gälla; null om det inte har upphört att gälla |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601-tid när push-meddelandet löper ut; null om det har löpt ut |
| expires_in | number | 86400 | Sekunder till utgångsdatum (0 om utgångsdatum) |
| html_url | string | "https://.../p/abc" | URL för att öppna push i webbläsaren |
| json_url | string | "https://.../p/abc.json" | URL för att hämta push som JSON |
| name | string or null | "Database credentials" | Valfritt namn för push-funktionen |
| note | string or null | null | Valfri privat anteckning |
| notify_emails_to | string or null | null | E-postmeddelanden att meddela vid skapande (endast premium) |
| passphrase | string or null | null | Visas endast om push har en lösenfras (dolt värde) |
| retrieval_step | boolean | false | Om det krävs ett extra steg för att hämta |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 senaste uppdateringstid |
| url_token | string | "fkwjfvhall92" | Unik hemlig identifierare för push |
| views_remaining | integer | 5 | Antal visningar kvar före utgången av giltighetstiden |
Exempel 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"
}
Exempel på begäran
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
Hämtar den hemliga nyttolasten för en push. Detta ökar antalet visningar och kan göra att pushen upphör att gälla.
Svarsfält
Följande fält returneras vid hämtning av en push. Denna endpoint returnerar nyttolasten och filer som inte är tillgängliga på andra endpoints.
| Fält | Typ | Exempel | Beskrivning |
|---|---|---|---|
| created_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 skapelsetid |
| days_remaining | integer | 1 | Utfasad Hela dagar kvar (0 när < 1 dag); föredrar expires_at / expires_in |
| deletable_by_viewer | boolean | true | Om mottagaren kan radera pushmeddelandet |
| deleted | boolean | false | Om push-meddelandet uttryckligen raderades |
| expire_after_days | integer | 1 | Utfasad Ungefärliga dagar (härledda från varaktighet) |
| expire_after_duration | integer | 6 | Varaktighet enum (0-17) |
| expire_after_views | integer | 5 | Max antal visningar före utgången av giltighetstiden |
| expired | boolean | false | Om push-funktionen har löpt ut |
| expired_on | string or null | null | ISO 8601 när trycket har upphört att gälla; null om det inte har upphört att gälla |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601-tid när push-meddelandet löper ut; null om det har löpt ut |
| expires_in | number | 86400 | Sekunder till utgångsdatum (0 om utgångsdatum) |
| files | array | [{ filename, content_type, url }] | Bifogade filmetadata med nedladdningsadresser |
| html_url | string | "https://.../p/abc" | URL för att öppna push i webbläsaren |
| json_url | string | "https://.../p/abc.json" | URL för att hämta push som JSON |
| passphrase | string or null | null | Visas endast om push har en lösenfras (dolt värde) |
| payload | string or null | "secret123" | Det hemliga innehållet; ogiltigt när det har löpt ut |
| retrieval_step | boolean | false | Om det krävs ett extra steg för att hämta |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 senaste uppdateringstid |
| url_token | string | "fkwjfvhall92" | Unik hemlig identifierare för push |
| views_remaining | integer | 2 | Antal visningar kvar före utgången av giltighetstiden |
Exempel på begäran
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92
Exempel på begäran med lösenfras
curl -X GET "https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92?passphrase=your_passphrase"
Exempel 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": []
}
Obs! Om pushen har en lösenfras ska du inkludera den som en frågeparameter: ?passphrase=your_passphrase. Att hämta en push räknas som en vy och kan leda till att pushen upphör att gälla om den når sin vygräns.
GET /api/v2/pushes/:url_token/preview
Returnerar den fullständigt kvalificerade hemliga URL:en för en push utan att hämta nyttolasten.
Exempel på begäran
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/preview
Exempel på svar
{
"url": "https://eu.pwpush.com/p/fkwjfvhall92"
}
GET /api/v2/pushes/:url_token/audit
Returnerar granskningsloggen för en push. Kräver autentisering och ägarskap.
Parametrar för förfrågan:
page (frivillig): Sidnummer för paginering.
- Standard:
1(första sidan) - Range:
1till200 - Returnerar upp till 50 granskningsloggposter per sida
- Exempel:
?page=2för att hämta den andra sidan
Exempel på begäran
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exempel 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"
}
]
}
Obs! Den kind fältet anger vilken typ av åtgärd som loggas. Vanliga värden är t.ex: creation, view, expire, failed_passphrase, och failed_view.
DELETE /api/v2/pushes/:url_token
Utlöser omedelbart en push och raderar permanent alla känsliga data, inklusive nyttolasten och alla bifogade filer. Denna åtgärd är irreversibel och kan inte ångras. Kräver autentisering och ägarskap, eller så måste pushen ha skapats med deletable_by_viewer: true.
Exempel på begäran
curl -X DELETE https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92 \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exempel 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
Returnerar en paginerad lista över dina aktiva (ej utgångna) pushar. Kräver autentisering.
GET /api/v2/pushes/expired
Returnerar en paginerad lista över dina utgångna pushar. Kräver autentisering.
Parametrar för förfrågan:
page (frivillig): Sidnummer för paginering.
- Standard:
1(första sidan) - Range:
1till200 - Returnerar upp till 50 tryck per sida
- Exempel:
?page=2för att hämta den andra sidan
Exempel på begäran (aktiv)
curl -X GET https://eu.pwpush.com/api/v2/pushes/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exempel på begäran (utgången)
curl -X GET https://eu.pwpush.com/api/v2/pushes/expired \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exempel 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
}
]
Senast uppdaterad: July 12, 2026