Password Pusher API v2
БЕТАВичерпна документація REST API для інтеграції Password Pusher у ваші програми
Бета-версія: API v2 наразі знаходиться в бета-версії. Хоча ми доклали всіх зусиль для забезпечення стабільності, до фінального релізу можуть бути внесені суттєві зміни. Ми будемо раді вашим відгукам!
Запити
Запити забезпечують безпечний двосторонній зв'язок для збору конфіденційної інформації. Створіть запит із секретною URL-адресою, надішліть його будь-кому та отримайте захищену відповідь, що містить текст або файли - і все це без розголошення конфіденційних даних в електронній пошті, чаті або журналах.
Ідеально підходить для збору облікових даних, ключів API, конфіденційних документів або будь-якої конфіденційної інформації від колег, клієнтів або замовників. Відповіді автоматично шифруються і автоматично видаляються через певний проміжок часу, щоб мінімізувати ризик витоку даних. Повний життєвий цикл відстежується в журналах аудиту кожного запиту.
Запити мають три стани:
POST /api/v2/requests
Створює новий запит. Потрібна автентифікація.
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://us.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
необхідний
|
string | Текст запиту/повідомлення для обміну |
close_after_duration
необов'язковий
|
integer (0-17) | Перерахування тривалості - коли закрити запит |
passphrase
необов'язковий
|
string | Вимагати від одержувачів ввести цю парольну фразу для перегляду |
name
необов'язковий
|
string | Ім'я, що відображається в інформаційній панелі, сповіщеннях та електронних листах |
note
необов'язковий
|
string | Внутрішня примітка (видима лише автору) |
retrieval_step
необов'язковий
|
boolean | Допомагає уникнути поглинання переглядів чат-системами та URL-сканерами |
include_requestor
необов'язковий
|
boolean | Включіть у запит інформацію про запитувача |
response_file_attachments
необов'язковий
|
boolean | Дозволити прикріплення файлів у відповідях |
files
необов'язковий
|
array | Файл(и), які потрібно завантажити та прикріпити до запиту |
notify_emails_to
необов'язковий
|
string | Адреси електронної пошти, на які слід надсилати повідомлення при створенні запиту (через кому) |
notify_emails_to_locale
необов'язковий
|
string | Локація (мова) для надсилання сповіщень електронною поштою |
authenticated_recipients
необов'язковий
|
boolean | Перед доступом потрібно пройти підтвердження за допомогою одноразового пароля (OTP), надісланого на електронну пошту. Потрібно налаштувати параметр `notify_emails_to`. При увімкненні цієї функції доступ можливий лише через браузер (запити та відповіді API повертають код 403). |
account_id
необов'язковий
|
integer | Ідентифікатор облікового запису, з яким потрібно зв'язати запит |
Значення тривалості для close_after_duration
Приклад запиту
curl -X POST https://us.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://us.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://us.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://us.pwpush.com/api/v2/requests' `
-Method Post `
-Headers $headers `
-Body $body
$response | ConvertTo-Json
GET /api/v2/requests/:url_token
Отримує вміст відкритого або готового запиту. Це може закрити запит, якщо він налаштований на закриття після певної кількості переглядів.
Приклад запиту
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a
Приклад запиту з ключовою фразою
curl -X GET "https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a?passphrase=your_passphrase"
Приклад відповіді (відкритий запит)
{
"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://us.pwpush.com/r/orpw2wkg00vpn0a.json",
"html_url": "https://us.pwpush.com/r/orpw2wkg00vpn0a",
"request": "Please provide your hosting information here.",
"response": null,
"files": []
}
Приклад відповіді (готовий запит)
{
"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://us.pwpush.com/r/orpw2wkg00vpn0a.json",
"html_url": "https://us.pwpush.com/r/orpw2wkg00vpn0a",
"request": null,
"response": "The API key is: sk_live_1234567890",
"files": []
}
Зауважте: Якщо запит містить ключову фразу, додайте її як параметр запиту: ?passphrase=your_passphrase. Отримання запиту вважається переглядом і може призвести до закриття запиту, якщо він досягне ліміту переглядів.
PATCH /api/v2/requests/:url_token/respond
Відповідає на відкритий запит, змінюючи свій стан на "готовий".
Request Body (JSON)
{
"request": {
"response": "The API key is: sk_live_1234567890"
}
}
Request Body with Files (multipart/form-data)
curl -X PATCH https://us.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][].
Параметри
| Параметр | Type | Опис |
|---|---|---|
response
необхідний
|
string | Текст відповіді/повідомлення на запит |
files
необов'язковий
|
array | Файл(и), що додаються до відповіді (обов'язково) response_file_attachments: true за запитом) |
Зауважте: Тільки запити у стані "відкритий" можуть отримувати відповіді. Після надсилання відповіді запит переходить у стан "готовий" і не може приймати додаткові відповіді.
GET /api/v2/requests/:url_token/preview
Повертає повну секретну URL-адресу запиту без отримання вмісту.
Приклад запиту
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/preview
Приклад відповіді
{
"url": "https://us.pwpush.com/r/orpw2wkg00vpn0a"
}
GET /api/v2/requests/:url_token/audit
Повертає журнал аудиту для запиту. Вимагає автентифікації та права власності.
Параметри запиту:
page (необов'язковий): Номер сторінки для пагінації.
- За замовчуванням:
1(перша сторінка) - Діапазон:
1до200 - Повертає до 50 записів журналу аудиту на сторінку
- Приклад:
?page=2щоб отримати другу сторінку
Приклад запиту
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Приклад відповіді
{
"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"
}
]
}
Зауважте: У "The kind вказує на тип зареєстрованої дії. До поширених значень відносяться creation, view, response, close, failed_passphrase, і failed_view.
DELETE /api/v2/requests/:url_token
Негайно закриває запит і назавжди видаляє всі пов'язані з ним конфіденційні дані. Ця дія є незворотною і не може бути скасована. Вимагає автентифікації та права власності.
Приклад запиту
curl -X DELETE https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a \
-H "Authorization: Bearer YOUR_API_TOKEN"
Приклад відповіді
{
"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://us.pwpush.com/r/orpw2wkg00vpn0a.json",
"html_url": "https://us.pwpush.com/r/orpw2wkg00vpn0a",
"account_id": 1,
"note": null,
"name": null,
"request": null,
"response": null,
"files": []
}
GET /api/v2/requests/active
Повертає посторінковий список ваших активних (відкритих або готових) запитів. Вимагає автентифікації.
GET /api/v2/requests/open
Повертає посторінковий список ваших відкритих запитів. Вимагає автентифікації.
GET /api/v2/requests/ready
Повертає посторінковий список ваших готових запитів. Вимагає автентифікації.
GET /api/v2/requests/closed
Повертає посторінковий список ваших закритих запитів. Вимагає автентифікації.
Параметри запиту:
page (необов'язковий): Номер сторінки для пагінації.
- За замовчуванням:
1(перша сторінка) - Діапазон:
1до200 - Повертає до 50 запитів на сторінку
- Приклад:
?page=2щоб отримати другу сторінку
Держави, що подали запит
Відкрито
Запит створено і він очікує на відповідь. Текст запиту видно, але відповідь ще не надано.
Готово
На запит було отримано відповідь, і тепер він містить корисне навантаження відповіді. Текст запиту більше не видно, але відповідь доступна для пошуку.
Закрито
Запит було оброблено, і всі конфіденційні дані (як запит, так і відповідь) було назавжди видалено. Цей стан є незворотнім.
Приклад запиту (активний)
curl -X GET https://us.pwpush.com/api/v2/requests/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Приклад запиту (відкритий)
curl -X GET https://us.pwpush.com/api/v2/requests/open \
-H "Authorization: Bearer YOUR_API_TOKEN"
Приклад запиту (готовий)
curl -X GET https://us.pwpush.com/api/v2/requests/ready \
-H "Authorization: Bearer YOUR_API_TOKEN"
Приклад запиту (закритий)
curl -X GET https://us.pwpush.com/api/v2/requests/closed \
-H "Authorization: Bearer YOUR_API_TOKEN"
Приклад відповіді
[
{
"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://us.pwpush.com/r/abc123xyz789.json",
"html_url": "https://us.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://us.pwpush.com/r/def456uvw012.json",
"html_url": "https://us.pwpush.com/r/def456uvw012",
"account_id": 1,
"note": null,
"name": null
}
]
Зауважте: У "The /active endpoint повертає запити в обох варіантах open і ready штатів. Використовуйте /open або /ready кінцеві точки для фільтрації за певним станом.
Останнє оновлення: July 20, 2026