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!
Permintaan
Permintaan memungkinkan komunikasi dua arah yang aman untuk mengumpulkan informasi sensitif. Buat permintaan dengan URL rahasia, bagikan dengan siapa pun, dan terima respons aman yang berisi teks atau file-semuanya tanpa mengekspos data sensitif dalam email, obrolan, atau log.
Sempurna untuk mengumpulkan kredensial, kunci API, dokumen rahasia, atau informasi sensitif apa pun dari kolega, klien, atau pelanggan. Respons dienkripsi secara otomatis dan dihapus secara otomatis setelah durasi yang ditentukan untuk meminimalkan paparan data. Pelacakan siklus hidup penuh tersedia dalam log audit setiap permintaan.
Permintaan memiliki tiga status:
POST /api/v2/requests
Membuat permintaan baru. Membutuhkan autentikasi.
Request Body (JSON)
{
"request": {
"request": "Please provide your hosting information here.",
"close_after_duration": 8,
"passphrase": "optional_passphrase",
"name": "Database Access Request",
"note": "Internal note",
"retrieval_step": true,
"include_requestor": false,
"response_file_attachments": true
}
}
Request Body with Files (multipart/form-data)
curl -X POST https://eu.pwpush.com/api/v2/requests \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "request[request]=Please provide your hosting information here." \
-F "request[close_after_duration]=8" \
-F "request[name]=Database Access Request" \
-F "request[files][]=@/path/to/document.pdf" \
-F "request[files][]=@/path/to/spreadsheet.xlsx"
Note: When attaching files, use multipart/form-data format. Multiple files can be attached using request[files][].
Parameters
| Parameter | Type | Description |
|---|---|---|
request
diperlukan
|
string | Teks/pesan permintaan untuk dibagikan |
close_after_duration
opsional
|
integer (0-17) | Enum durasi - kapan harus menutup permintaan |
passphrase
opsional
|
string | Wajibkan penerima untuk memasukkan kata sandi ini untuk melihat |
name
opsional
|
string | Nama yang ditampilkan di dasbor, notifikasi, dan email |
note
opsional
|
string | Catatan internal (hanya dapat dilihat oleh pembuat) |
retrieval_step
opsional
|
boolean | Membantu menghindari sistem obrolan dan pemindai URL memakan tampilan |
include_requestor
opsional
|
boolean | Menyertakan informasi pemohon dalam permintaan |
response_file_attachments
opsional
|
boolean | Izinkan lampiran file dalam tanggapan |
files
opsional
|
array | File untuk diunggah dan dilampirkan pada permintaan |
notify_emails_to
opsional
|
string | Alamat email yang akan diberitahukan ketika permintaan 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 permintaan dengan |
Nilai Durasi untuk close_after_duration
Contoh Permintaan
curl -X POST https://eu.pwpush.com/api/v2/requests \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"request": {
"request": "Please provide your hosting information here.",
"close_after_duration": 8,
"passphrase": "optional_passphrase",
"name": "Database Access Request"
}
}'
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://eu.pwpush.com/api/v2/requests')
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 = {
request: {
request: 'Please provide your hosting information here.',
close_after_duration: 8,
passphrase: 'optional_passphrase',
name: 'Database Access Request'
}
}.to_json
response = http.request(request)
puts response.body
import requests
import json
url = 'https://eu.pwpush.com/api/v2/requests'
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
}
data = {
'request': {
'request': 'Please provide your hosting information here.',
'close_after_duration': 8,
'passphrase': 'optional_passphrase',
'name': 'Database Access Request'
}
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
$headers = @{
'Authorization' = 'Bearer YOUR_API_TOKEN'
'Content-Type' = 'application/json'
}
$body = @{
request = @{
request = 'Please provide your hosting information here.'
close_after_duration = 8
passphrase = 'optional_passphrase'
name = 'Database Access Request'
}
} | ConvertTo-Json -Depth 10
$response = Invoke-RestMethod -Uri 'https://eu.pwpush.com/api/v2/requests' `
-Method Post `
-Headers $headers `
-Body $body
$response | ConvertTo-Json
GET /api/v2/requests/:url_token
Mengambil konten dari permintaan yang terbuka atau siap. Ini dapat menutup permintaan jika dikonfigurasi untuk menutup setelah sejumlah tampilan tertentu.
Contoh Permintaan
curl -X GET https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a
Contoh Permintaan dengan Frasa Sandi
curl -X GET "https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a?passphrase=your_passphrase"
Contoh Tanggapan (Permintaan Terbuka)
{
"close_after_duration": 8,
"url_token": "orpw2wkg00vpn0a",
"retrieval_step": true,
"passphrase": "optional_passphrase",
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:00:00.000Z",
"state": "open",
"include_requestor": false,
"response_file_attachments": true,
"close_after_at": "2023-11-04T10:00:00.000Z",
"days_remaining": 8,
"json_url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a.json",
"html_url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a",
"request": "Please provide your hosting information here.",
"response": null,
"files": []
}
Contoh Tanggapan (Permintaan Siap)
{
"close_after_duration": 8,
"url_token": "orpw2wkg00vpn0a",
"retrieval_step": true,
"passphrase": "optional_passphrase",
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:00:00.000Z",
"state": "ready",
"include_requestor": false,
"response_file_attachments": true,
"close_after_at": "2023-11-04T10:00:00.000Z",
"days_remaining": 8,
"json_url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a.json",
"html_url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a",
"request": null,
"response": "The API key is: sk_live_1234567890",
"files": []
}
Catatan: Jika permintaan memiliki frasa sandi, sertakan sebagai parameter kueri: ?passphrase=your_passphrase. Mengambil permintaan dihitung sebagai penayangan dan dapat menutup permintaan jika mencapai batas penayangan.
PATCH /api/v2/requests/:url_token/respond
Menanggapi permintaan terbuka, mengubah statusnya menjadi 'siap'.
Request Body (JSON)
{
"request": {
"response": "The API key is: sk_live_1234567890"
}
}
Request Body with Files (multipart/form-data)
curl -X PATCH https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/respond \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "request[response]=The API key is: sk_live_1234567890" \
-F "request[files][]=@/path/to/response_doc.pdf"
Note: When attaching files, use multipart/form-data format. Multiple files can be attached using request[files][].
Params
| Parameter | Tipe | Deskripsi |
|---|---|---|
response
diperlukan
|
string | Teks/pesan respons terhadap permintaan |
files
opsional
|
array | File yang harus dilampirkan pada tanggapan (diperlukan response_file_attachments: true berdasarkan permintaan) |
Catatan: Hanya permintaan dalam status "terbuka" yang dapat menerima tanggapan. Setelah respons dikirimkan, permintaan berpindah ke status "siap" dan tidak dapat menerima respons tambahan.
GET /api/v2/requests/:url_token/preview
Mengembalikan URL rahasia yang memenuhi syarat dari sebuah permintaan tanpa mengambil kontennya.
Contoh Permintaan
curl -X GET https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/preview
Contoh Tanggapan
{
"url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a"
}
GET /api/v2/requests/:url_token/audit
Mengembalikan log audit untuk sebuah permintaan. Memerlukan otentikasi 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/requests/orpw2wkg00vpn0a/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"
},
{
"ip": "192.168.1.102",
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15",
"referrer": null,
"kind": "response",
"created_at": "2023-10-27T10:10:00.000Z",
"updated_at": "2023-10-27T10:10:00.000Z"
}
]
}
Catatan: The kind menunjukkan jenis tindakan yang dicatat. Nilai yang umum termasuk: creation, view, response, close, failed_passphrase, dan failed_view.
DELETE /api/v2/requests/:url_token
Segera menutup permintaan dan menghapus secara permanen semua data sensitif yang terkait dengannya. Tindakan ini tidak dapat diubah dan tidak dapat dibatalkan. Memerlukan autentikasi dan kepemilikan.
Contoh Permintaan
curl -X DELETE https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Tanggapan
{
"close_after_duration": null,
"url_token": "orpw2wkg00vpn0a",
"retrieval_step": false,
"passphrase": null,
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:15:00.000Z",
"state": "closed",
"include_requestor": false,
"response_file_attachments": false,
"close_after_at": null,
"days_remaining": null,
"json_url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a.json",
"html_url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a",
"account_id": 1,
"note": null,
"name": null,
"request": null,
"response": null,
"files": []
}
GET /api/v2/requests/active
Mengembalikan daftar permintaan aktif (terbuka atau siap) Anda yang diberi halaman. Memerlukan autentikasi.
GET /api/v2/requests/open
Mengembalikan daftar permintaan terbuka Anda yang telah diberi halaman. Memerlukan autentikasi.
GET /api/v2/requests/ready
Mengembalikan daftar permintaan Anda yang sudah dipilah-pilah. Memerlukan autentikasi.
GET /api/v2/requests/closed
Mengembalikan daftar halaman dari permintaan tertutup Anda. Memerlukan autentikasi.
Parameter Kueri:
page (opsional): Nomor halaman untuk penomoran halaman.
- Default:
1(halaman pertama) - Jangkauan:
1untuk200 - Mengembalikan hingga 50 permintaan per halaman
- Contoh:
?page=2untuk mengambil halaman kedua
Permintaan Negara
Buka
Permintaan telah dibuat dan sedang menunggu respons. Teks permintaan terlihat, tetapi belum ada respons yang diberikan.
Siap
Permintaan telah ditanggapi dan sekarang berisi muatan respons. Teks permintaan tidak lagi terlihat, tetapi respons tersedia untuk diambil.
Ditutup
Permintaan telah ditangani dan semua data sensitif (baik permintaan maupun respons) telah dihapus secara permanen. Status ini tidak dapat diubah.
Contoh Permintaan (Aktif)
curl -X GET https://eu.pwpush.com/api/v2/requests/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Permintaan (Terbuka)
curl -X GET https://eu.pwpush.com/api/v2/requests/open \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Permintaan (Siap)
curl -X GET https://eu.pwpush.com/api/v2/requests/ready \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Permintaan (Tertutup)
curl -X GET https://eu.pwpush.com/api/v2/requests/closed \
-H "Authorization: Bearer YOUR_API_TOKEN"
Contoh Tanggapan
[
{
"close_after_duration": 7,
"url_token": "abc123xyz789",
"retrieval_step": false,
"passphrase": null,
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:00:00.000Z",
"state": "open",
"include_requestor": false,
"response_file_attachments": false,
"close_after_at": "2023-11-03T10:00:00.000Z",
"days_remaining": 7,
"json_url": "https://eu.pwpush.com/r/abc123xyz789.json",
"html_url": "https://eu.pwpush.com/r/abc123xyz789",
"account_id": 1,
"note": null,
"name": null
},
{
"close_after_duration": 7,
"url_token": "def456uvw012",
"retrieval_step": false,
"passphrase": null,
"created_at": "2023-10-26T15:30:00.000Z",
"updated_at": "2023-10-27T09:00:00.000Z",
"state": "ready",
"include_requestor": false,
"response_file_attachments": false,
"close_after_at": "2023-11-02T15:30:00.000Z",
"days_remaining": 6,
"json_url": "https://eu.pwpush.com/r/def456uvw012.json",
"html_url": "https://eu.pwpush.com/r/def456uvw012",
"account_id": 1,
"note": null,
"name": null
}
]
Catatan: The /active titik akhir mengembalikan permintaan di keduanya open dan ready negara. Gunakan /open atau /ready titik akhir untuk memfilter berdasarkan status tertentu.
Terakhir diperbarui: July 12, 2026