Password Pusher API v2
BETAKomplexní dokumentace rozhraní REST API pro integraci Password Pusher do vašich aplikací
Oznámení o betaverzi: Rozhraní API v2 je v současné době ve fázi beta. Přestože jsme vynaložili veškeré úsilí, abychom zajistili stabilitu, může dojít před vydáním finální verze ke zlomovým změnám. Uvítáme vaši zpětnou vazbu!
Tlačí
Funkce Pushes umožňují bezpečný jednosměrný přenos citlivých dat příjemcům. Vytvořte push s tajnou adresou URL obsahující text, soubory, kódy QR nebo adresy URL a pak jej sdílejte s kýmkoli - to vše bez odhalení citlivých údajů v e-mailu, chatu nebo protokolech.
Ideální pro nástup zaměstnanců, zasílání pověření k účtu, přenos důvěrných dokumentů nebo sdílení jakýchkoli citlivých informací. Funkce push automaticky vyprší po uplynutí stanovené doby trvání nebo počtu zobrazení a v protokolech auditu každého push je k dispozici úplné sledování životního cyklu.
POST /api/v2/pushes
Vytvoří nový push se zadaným užitečným zatížením.
Tělo požadavku (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
}
Tělo požadavku se soubory (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"
Poznámka: Při připojování souborů použijte multipart/form-data formát a nastavení kind: "file". Více souborů lze připojit pomocí push[files][].
Parametry
| Parametr | Typ | Popis |
|---|---|---|
payload
Požadované
|
string | Tajný text ke sdílení |
expire_after_duration
volitelný
|
integer (0-17) | Výčet trvání (0-17) |
expire_after_views
volitelný
|
integer (1-100) | Počet zobrazení před vypršením platnosti |
passphrase
volitelný
|
string | Vyžadování přístupové fráze pro zobrazení |
name
volitelný
|
string | Název pro tlačení |
note
volitelný
|
string | Interní poznámka (viditelná pouze pro tvůrce) |
deletable_by_viewer
volitelný
|
boolean | Umožnit divákům odstranit push |
retrieval_step
volitelný
|
boolean | Vyžadují další krok k načtení |
kind
volitelný
|
string | Typ: "(výchozí hodnota je "text"), "file", "url" nebo "qr" |
notify_emails_to
volitelný
|
string | E-mailové adresy, které mají být informovány o vytvoření push (oddělené čárkou) |
notify_emails_to_locale
volitelný
|
string | Místní jazyk, ve kterém chcete odesílat e-mailová oznámení |
account_id
volitelný
|
integer | ID účtu, ke kterému se má přiřadit push (pro uživatele s více účty) |
Hodnoty trvání pro expire_after_duration
Pole odpovědí
Při vytváření push jsou v odpovědi vrácena následující pole. Poznámka: užitečné zatížení a soubory se při vytváření NEVRACÍ - jsou k dispozici pouze při načítání push prostřednictvím GET.
| Pole | Typ | Příklad | Popis |
|---|---|---|---|
| account_id | integer or null | 1 | ID účtu vlastníka |
| created_at | string | "2025-02-17T10:00:00.000Z" | Doba vytvoření ISO 8601 |
| days_remaining | integer | 1 | Zastaralé Celé zbývající dny (0, když < 1 den); prefer expires_at / expires_in |
| deletable_by_viewer | boolean | true | Zda může příjemce push smazat |
| deleted | boolean | false | Zda byl push výslovně odstraněn |
| expire_after_days | integer | 1 | Zastaralé Přibližný počet dní (odvozený od doby trvání) |
| expire_after_duration | integer | 6 | Trvání enum (0-17); viz tabulka výše |
| expire_after_views | integer | 5 | Maximální počet zobrazení před vypršením platnosti |
| expired | boolean | false | Zda platnost tlačítka vypršela |
| expired_on | string or null | null | ISO 8601, když platnost push vypršela; null, pokud platnost nevypršela |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601 čas, kdy push vyprší; null, pokud vypršel |
| expires_in | number | 86400 | Sekundy do vypršení platnosti (0, pokud platnost vypršela) |
| html_url | string | "https://.../p/abc" | Adresa URL pro otevření push v prohlížeči |
| json_url | string | "https://.../p/abc.json" | URL pro načtení push jako JSON |
| name | string or null | "Database credentials" | Nepovinný název pro push |
| note | string or null | null | Nepovinná soukromá poznámka |
| notify_emails_to | string or null | null | E-maily s upozorněním na vytvoření (pouze Premium) |
| passphrase | string or null | null | Zobrazí se pouze v případě, že push má přístupovou frázi (hodnota je skrytá) |
| retrieval_step | boolean | false | Zda je k získání dat nutný další krok |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 čas poslední aktualizace |
| url_token | string | "fkwjfvhall92" | Jedinečný tajný identifikátor pro push |
| views_remaining | integer | 5 | Zobrazení, která zbývají do vypršení platnosti |
Příklad odpovědi:
{
"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"
}
Příklad požadavku
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
Získá tajné užitečné zatížení odeslání. Tím se zvýší počet zobrazení a může dojít k vypršení platnosti odeslání.
Pole odpovědí
Při načítání push jsou vrácena následující pole. Tento koncový bod vrací užitečné zatížení a soubory, které nejsou dostupné na jiných koncových bodech.
| Pole | Typ | Příklad | Popis |
|---|---|---|---|
| created_at | string | "2025-02-17T10:00:00.000Z" | Doba vytvoření ISO 8601 |
| days_remaining | integer | 1 | Zastaralé Celé zbývající dny (0, když < 1 den); prefer expires_at / expires_in |
| deletable_by_viewer | boolean | true | Zda může příjemce push smazat |
| deleted | boolean | false | Zda byl push výslovně odstraněn |
| expire_after_days | integer | 1 | Zastaralé Přibližný počet dní (odvozený od doby trvání) |
| expire_after_duration | integer | 6 | Výčet trvání (0-17) |
| expire_after_views | integer | 5 | Maximální počet zobrazení před vypršením platnosti |
| expired | boolean | false | Zda platnost tlačítka vypršela |
| expired_on | string or null | null | ISO 8601, když platnost push vypršela; null, pokud platnost nevypršela |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601 čas, kdy push vyprší; null, pokud vypršel |
| expires_in | number | 86400 | Sekundy do vypršení platnosti (0, pokud platnost vypršela) |
| files | array | [{ filename, content_type, url }] | Přiložená metadata souborů s adresami URL ke stažení |
| html_url | string | "https://.../p/abc" | Adresa URL pro otevření push v prohlížeči |
| json_url | string | "https://.../p/abc.json" | URL pro načtení push jako JSON |
| passphrase | string or null | null | Zobrazí se pouze v případě, že push má přístupovou frázi (hodnota je skrytá) |
| payload | string or null | "secret123" | Tajný obsah; po vypršení platnosti je nulový |
| retrieval_step | boolean | false | Zda je k získání dat nutný další krok |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 čas poslední aktualizace |
| url_token | string | "fkwjfvhall92" | Jedinečný tajný identifikátor pro push |
| views_remaining | integer | 2 | Zobrazení, která zbývají do vypršení platnosti |
Příklad požadavku
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92
Příklad požadavku s přístupovou frází
curl -X GET "https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92?passphrase=your_passphrase"
Příklad reakce
{
"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": []
}
Poznámka: Pokud má push přístupovou frázi, uveďte ji jako parametr dotazu: ?passphrase=your_passphrase. Získání push se počítá jako zobrazení a může vypršet platnost push, pokud dosáhne limitu zobrazení.
GET /api/v2/pushes/:url_token/preview
Vrátí plně kvalifikovanou tajnou adresu URL odeslání bez načtení užitečného zatížení.
Příklad požadavku
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/preview
Příklad reakce
{
"url": "https://eu.pwpush.com/p/fkwjfvhall92"
}
GET /api/v2/pushes/:url_token/audit
Vrátí protokol auditu pro stisknutí. Vyžaduje ověření a vlastnictví.
Parametry dotazu:
page (volitelný): Číslo stránky pro stránkování.
- Výchozí nastavení:
1(první strana) - Rozsah:
1na200 - Vrátí až 50 záznamů protokolu auditu na stránku
- Příklad:
?page=2pro načtení druhé stránky
Příklad požadavku
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Příklad reakce
{
"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"
}
]
}
Poznámka: Na stránkách kind pole označuje typ zaznamenané akce. Mezi běžné hodnoty patří: creation, view, expire, failed_passphrase, a failed_view.
DELETE /api/v2/pushes/:url_token
Okamžitě ukončí platnost odeslání a trvale odstraní všechna citlivá data, včetně užitečného zatížení a všech připojených souborů. Tato akce je nevratná a nelze ji vrátit zpět. Vyžaduje ověření a vlastnictví, nebo musí být push vytvořen pomocí deletable_by_viewer: true.
Příklad požadavku
curl -X DELETE https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92 \
-H "Authorization: Bearer YOUR_API_TOKEN"
Příklad reakce
{
"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
Vrátí stránkovaný seznam vašich aktivních (nevypršených) tlaků. Vyžaduje ověření.
GET /api/v2/pushes/expired
Vrátí stránkovaný seznam vašich vypršených tlaků. Vyžaduje ověření.
Parametry dotazu:
page (volitelný): Číslo stránky pro stránkování.
- Výchozí nastavení:
1(první strana) - Rozsah:
1na200 - Vrátí až 50 stisků na stránku
- Příklad:
?page=2pro načtení druhé stránky
Příklad požadavku (aktivní)
curl -X GET https://eu.pwpush.com/api/v2/pushes/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Příklad žádosti (vypršela platnost)
curl -X GET https://eu.pwpush.com/api/v2/pushes/expired \
-H "Authorization: Bearer YOUR_API_TOKEN"
Příklad reakce
[
{
"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
}
]
Poslední aktualizace: July 12, 2026