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://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
обязательный
|
string | Текст запроса/сообщения, которым нужно поделиться |
close_after_duration
необязательный
|
integer (0-17) | Перечисление Duration - время закрытия запроса |
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 | Локаль (язык) для отправки уведомлений по электронной почте |
account_id
необязательный
|
integer | Идентификатор учетной записи, с которой будет связан запрос |
Значения продолжительности для close_after_duration
Пример запроса
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
Получает содержимое открытого или готового запроса. Запрос может быть закрыт, если он настроен на закрытие после определенного количества просмотров.
Пример запроса
curl -X GET https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a
Пример запроса с парольной фразой
curl -X GET "https://eu.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://eu.pwpush.com/r/orpw2wkg00vpn0a.json",
"html_url": "https://eu.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://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": []
}
Примечание: Если запрос содержит парольную фразу, включите ее в качестве параметра запроса: ?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://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][].
Параметры
| Параметр | Тип | Описание |
|---|---|---|
response
обязательный
|
string | Текст ответа/сообщение на запрос |
files
необязательный
|
array | Файл(ы) для прикрепления к ответу (требуется response_file_attachments: true по запросу) |
Примечание: Только запросы в состоянии "открыто" могут получать ответы. После отправки ответа запрос переходит в состояние "готов" и не может принимать дополнительные ответы.
GET /api/v2/requests/:url_token/preview
Возвращает полностью секретный URL-адрес запроса без извлечения содержимого.
Пример запроса
curl -X GET https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/preview
Пример ответа
{
"url": "https://eu.pwpush.com/r/orpw2wkg00vpn0a"
}
GET /api/v2/requests/:url_token/audit
Возвращает журнал аудита для запроса. Требуется аутентификация и право собственности.
Параметры запроса:
page (необязательный): Номер страницы для пагинации.
- По умолчанию:
1(первая страница) - Диапазон:
1на200 - Возвращает до 50 записей журнала аудита на страницу
- Пример:
?page=2чтобы получить вторую страницу
Пример запроса
curl -X GET https://eu.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"
}
]
}
Примечание: Сайт kind поле указывает тип действия, занесенного в журнал. Общие значения включают: creation, view, response, close, failed_passphrase, и failed_view.
DELETE /api/v2/requests/:url_token
Немедленное закрытие запроса и окончательное удаление всех связанных с ним конфиденциальных данных. Это действие необратимо и не может быть отменено. Требуется аутентификация и право собственности.
Пример запроса
curl -X DELETE https://eu.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://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
Возвращает постраничный список ваших активных (открытых или готовых) запросов. Требуется аутентификация.
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://eu.pwpush.com/api/v2/requests/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Пример запроса (открытый)
curl -X GET https://eu.pwpush.com/api/v2/requests/open \
-H "Authorization: Bearer YOUR_API_TOKEN"
Пример запроса (готовность)
curl -X GET https://eu.pwpush.com/api/v2/requests/ready \
-H "Authorization: Bearer YOUR_API_TOKEN"
Пример запроса (закрыт)
curl -X GET https://eu.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://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
}
]
Примечание: Сайт /active конечная точка возвращает запросы в обоих open и ready штаты. Используйте /open или /ready конечных точек для фильтрации по определенному состоянию.
Последнее обновление: July 12, 2026