Password Pusher API v2
BETADokumentasi REST API yang komprehensif untuk mengintegrasikan Password Pusher ke dalam aplikasi Anda
Pemberitahuan Beta: API v2 saat ini dalam versi beta. Meskipun kami telah melakukan segala upaya untuk memastikan stabilitas, mungkin akan ada perubahan sebelum rilis final. Kami menerima umpan balik Anda!
Mendorong
Push memungkinkan pengiriman data sensitif satu arah yang aman kepada penerima. Buat push dengan URL rahasia yang berisi teks, file, kode QR, atau URL, lalu bagikan dengan siapa pun-semuanya tanpa mengekspos data sensitif di email, obrolan, atau log.
Sempurna untuk proses orientasi karyawan, mengirimkan kredensial akun, mengirimkan dokumen rahasia, atau berbagi informasi sensitif apa pun. Push secara otomatis kedaluwarsa setelah durasi atau jumlah tampilan tertentu, dan pelacakan siklus hidup penuh tersedia dalam log audit setiap push.
POST /api/v2/pushes
Membuat push baru dengan muatan yang disediakan.
Badan Permintaan (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
}
Badan Permintaan dengan File (multipart/formulir 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"
Catatan: Saat melampirkan file, gunakan multipart/form-data memformat dan mengatur kind: "file". Beberapa file dapat dilampirkan menggunakan push[files][].
Params
| Parameter | Tipe | Deskripsi |
|---|---|---|
payload
diperlukan
|
string | Teks rahasia untuk dibagikan |
expire_after_duration
opsional
|
integer (0-17) | Enum durasi (0-17) |
expire_after_views
opsional
|
integer (1-100) | Jumlah penayangan sebelum kedaluwarsa |
passphrase
opsional
|
string | Memerlukan kata sandi untuk melihat |
name
opsional
|
string | Sebuah nama untuk dorongan |
note
opsional
|
string | Catatan internal (hanya dapat dilihat oleh pembuat) |
deletable_by_viewer
opsional
|
boolean | Izinkan pemirsa untuk menghapus dorongan |
retrieval_step
opsional
|
boolean | Memerlukan langkah ekstra untuk mengambilnya |
kind
opsional
|
string | Ketik: "text", "file", "url", atau "qr" (standarnya adalah "text") |
notify_emails_to
opsional
|
string | Alamat email yang akan diberitahukan ketika push dibuat (dipisahkan dengan koma) |
notify_emails_to_locale
opsional
|
string | Lokasi (bahasa) untuk mengirim notifikasi email dalam |
account_id
opsional
|
integer | ID akun untuk mengaitkan push (untuk pengguna dengan beberapa akun) |
Nilai Durasi untuk expire_after_duration
Bidang Tanggapan
Bidang-bidang berikut ini dikembalikan dalam respons saat membuat push. Catatan: muatan dan berkas TIDAK dikembalikan saat pembuatan - keduanya hanya tersedia saat mengambil push melalui GET.
| Bidang | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| account_id | integer or null | 1 | ID akun pemilik |
| created_at | string | "2025-02-17T10:00:00.000Z" | Waktu pembuatan ISO 8601 |
| days_remaining | integer | 1 | Ditinggalkan Seluruh hari tersisa (0 jika < 1 hari); lebih suka expires_at / expires_in |
| deletable_by_viewer | boolean | true | Apakah penerima dapat menghapus push |
| deleted | boolean | false | Apakah dorongan secara eksplisit dihapus |
| expire_after_days | integer | 1 | Ditinggalkan Perkiraan hari (berasal dari durasi) |
| expire_after_duration | integer | 6 | Enum durasi (0-17); lihat tabel di atas |
| expire_after_views | integer | 5 | Tampilan maksimal sebelum kedaluwarsa |
| expired | boolean | false | Apakah dorongan telah kedaluwarsa |
| expired_on | string or null | null | ISO 8601 ketika dorongan kedaluwarsa; nol jika tidak kedaluwarsa |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | Waktu ISO 8601 ketika dorongan berakhir; nol jika kedaluwarsa |
| expires_in | number | 86400 | Detik hingga kedaluwarsa (0 jika kedaluwarsa) |
| html_url | string | "https://.../p/abc" | URL untuk membuka push di browser |
| json_url | string | "https://.../p/abc.json" | URL untuk mengambil push sebagai JSON |
| name | string or null | "Database credentials" | Nama opsional untuk dorongan |
| note | string or null | null | Catatan pribadi opsional |
| notify_emails_to | string or null | null | Email untuk memberi tahu saat membuat (hanya premium) |
| passphrase | string or null | null | Hadir hanya jika push memiliki frasa sandi (nilai disembunyikan) |
| retrieval_step | boolean | false | Apakah diperlukan langkah tambahan untuk mengambil |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 waktu pembaruan terakhir |
| url_token | string | "fkwjfvhall92" | Pengenal rahasia unik untuk push |
| views_remaining | integer | 5 | Tampilan yang tersisa sebelum kedaluwarsa |
Contoh Tanggapan:
{
"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"
}
Contoh Permintaan
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
Mengambil muatan rahasia dari sebuah push. Ini akan menambah jumlah tampilan dan dapat mengakhiri push.
Bidang Tanggapan
Bidang-bidang berikut ini dikembalikan saat mengambil push. Titik akhir ini mengembalikan muatan dan berkas yang tidak tersedia di titik akhir lain.
| Bidang | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| created_at | string | "2025-02-17T10:00:00.000Z" | Waktu pembuatan ISO 8601 |
| days_remaining | integer | 1 | Ditinggalkan Seluruh hari tersisa (0 jika < 1 hari); lebih suka expires_at / expires_in |
| deletable_by_viewer | boolean | true | Apakah penerima dapat menghapus push |
| deleted | boolean | false | Apakah dorongan secara eksplisit dihapus |
| expire_after_days | integer | 1 | Ditinggalkan Perkiraan hari (berasal dari durasi) |
| expire_after_duration | integer | 6 | Enum durasi (0-17) |
| expire_after_views | integer | 5 | Tampilan maksimal sebelum kedaluwarsa |
| expired | boolean | false | Apakah dorongan telah kedaluwarsa |
| expired_on | string or null | null | ISO 8601 ketika dorongan kedaluwarsa; nol jika tidak kedaluwarsa |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | Waktu ISO 8601 ketika dorongan berakhir; nol jika kedaluwarsa |
| expires_in | number | 86400 | Detik hingga kedaluwarsa (0 jika kedaluwarsa) |
| files | array | [{ filename, content_type, url }] | Metadata file terlampir dengan URL unduhan |
| html_url | string | "https://.../p/abc" | URL untuk membuka push di browser |
| json_url | string | "https://.../p/abc.json" | URL untuk mengambil push sebagai JSON |
| passphrase | string or null | null | Hadir hanya jika push memiliki frasa sandi (nilai disembunyikan) |
| payload | string or null | "secret123" | Konten rahasia; nol saat kedaluwarsa |
| retrieval_step | boolean | false | Apakah diperlukan langkah tambahan untuk mengambil |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 waktu pembaruan terakhir |
| url_token | string | "fkwjfvhall92" | Pengenal rahasia unik untuk push |
| views_remaining | integer | 2 | Tampilan yang tersisa sebelum kedaluwarsa |
Contoh Permintaan
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92
Contoh Permintaan dengan Frasa Sandi
curl -X GET "https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92?passphrase=your_passphrase"
Contoh Tanggapan
{
"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": []
}
Catatan: Jika push memiliki frasa sandi, sertakan sebagai parameter kueri: ?passphrase=your_passphrase. Mengambil sebuah push dihitung sebagai sebuah tampilan dan dapat mengakhiri push jika mencapai batas tampilan.
GET /api/v2/pushes/:url_token/preview
Mengembalikan URL rahasia yang memenuhi syarat dari sebuah push tanpa mengambil muatannya.
Contoh Permintaan
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/preview
Contoh Tanggapan
{
"url": "https://eu.pwpush.com/p/fkwjfvhall92"
}
GET /api/v2/pushes/:url_token/audit
Mengembalikan log audit untuk sebuah push. Memerlukan autentikasi dan kepemilikan.
Parameter Kueri:
page (opsional): Nomor halaman untuk penomoran halaman.
- Default:
1(halaman pertama) - Jangkauan:
1untuk200 - Mengembalikan hingga 50 entri log audit per halaman
- Contoh:
?page=2untuk mengambil halaman kedua
Contoh Permintaan
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Tanggapan
{
"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"
}
]
}
Catatan: The kind menunjukkan jenis tindakan yang dicatat. Nilai yang umum termasuk: creation, view, expire, failed_passphrase, dan failed_view.
DELETE /api/v2/pushes/:url_token
Segera mengakhiri push dan menghapus semua data sensitif secara permanen, termasuk muatan dan semua file yang dilampirkan. Tindakan ini tidak dapat diubah dan tidak dapat dibatalkan. Memerlukan autentikasi dan kepemilikan, atau push harus dibuat dengan deletable_by_viewer: true.
Contoh Permintaan
curl -X DELETE https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92 \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Tanggapan
{
"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
Mengembalikan daftar ber-halaman dari push Anda yang aktif (tidak kedaluwarsa). Memerlukan autentikasi.
GET /api/v2/pushes/expired
Mengembalikan daftar ber-halaman dari push kedaluwarsa Anda. Memerlukan autentikasi.
Parameter Kueri:
page (opsional): Nomor halaman untuk penomoran halaman.
- Default:
1(halaman pertama) - Jangkauan:
1untuk200 - Mengembalikan hingga 50 dorongan per halaman
- Contoh:
?page=2untuk mengambil halaman kedua
Contoh Permintaan (Aktif)
curl -X GET https://eu.pwpush.com/api/v2/pushes/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Permintaan (Kedaluwarsa)
curl -X GET https://eu.pwpush.com/api/v2/pushes/expired \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Tanggapan
[
{
"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
}
]
Terakhir diperbarui: July 12, 2026