Password Pusher API v2
BETADocumentação abrangente da API REST para integração Password Pusher em seus aplicativos
Aviso de Beta: A API v2 está atualmente em versão beta. Embora tenhamos feito todos os esforços para garantir a estabilidade, pode haver mudanças significativas antes do lançamento final. Seus comentários são bem-vindos!
Pedidos
As solicitações permitem uma comunicação segura e bidirecional para a coleta de informações confidenciais. Crie uma solicitação com um URL secreto, compartilhe-a com qualquer pessoa e receba respostas seguras contendo texto ou arquivos - tudo isso sem expor dados confidenciais em e-mails, bate-papos ou registros.
Perfeito para coletar credenciais, chaves de API, documentos confidenciais ou qualquer informação sensível de colegas, clientes ou consumidores. As respostas são automaticamente criptografadas e excluídas automaticamente após um período especificado para minimizar a exposição dos dados. O rastreamento completo do ciclo de vida está disponível nos registros de auditoria de cada solicitação.
As solicitações têm três estados:
POST /api/v2/requests
Cria uma nova solicitação. Requer autenticação.
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
requeridos
|
string | O texto/mensagem da solicitação a ser compartilhada |
close_after_duration
opcional
|
integer (0-17) | Duration enum - quando fechar a solicitação |
passphrase
opcional
|
string | Exigir que os destinatários digitem essa senha para visualizar |
name
opcional
|
string | Um nome exibido no painel, nas notificações e nos e-mails |
note
opcional
|
string | Nota interna (visível apenas para o criador) |
retrieval_step
opcional
|
boolean | Ajuda a evitar que os sistemas de bate-papo e os scanners de URL consumam as exibições |
include_requestor
opcional
|
boolean | Incluir informações do solicitante na solicitação |
response_file_attachments
opcional
|
boolean | Permitir anexos de arquivos nas respostas |
files
opcional
|
array | Arquivo(s) para carregar e anexar à solicitação |
notify_emails_to
opcional
|
string | Endereços de e-mail a serem notificados quando uma solicitação for criada (separados por vírgulas) |
notify_emails_to_locale
opcional
|
string | Localidade (idioma) para enviar as notificações por e-mail |
authenticated_recipients
opcional
|
boolean | Exige verificação por OTP por e-mail antes do acesso. Requer a configuração `notify_emails_to`. Funciona apenas no navegador quando ativado (a API de recuperação/resposta retorna o código 403). |
account_id
opcional
|
integer | A ID da conta à qual associar a solicitação |
Valores de duração para close_after_duration
Exemplo de solicitação
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
Recupera o conteúdo de uma solicitação aberta ou pronta. Isso pode fechar a solicitação se ela estiver configurada para fechar após um determinado número de visualizações.
Exemplo de solicitação
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a
Exemplo de solicitação com senha
curl -X GET "https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a?passphrase=your_passphrase"
Exemplo de resposta (solicitação aberta)
{
"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": []
}
Exemplo de resposta (solicitação pronta)
{
"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": []
}
Observação: Se a solicitação tiver uma frase secreta, inclua-a como um parâmetro de consulta: ?passphrase=your_passphrase. A recuperação de uma solicitação conta como uma visualização e pode fechar a solicitação se ela atingir seu limite de visualizações.
PATCH /api/v2/requests/:url_token/respond
Responde a uma solicitação aberta, alterando seu estado para "pronto".
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][].
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
response
requeridos
|
string | O texto/mensagem de resposta à solicitação |
files
opcional
|
array | Arquivo(s) a ser(em) anexado(s) à resposta (requer response_file_attachments: true na solicitação) |
Observação: Somente as solicitações no estado "open" podem receber respostas. Depois que uma resposta é enviada, a solicitação passa para o estado "ready" (pronto) e não pode aceitar respostas adicionais.
GET /api/v2/requests/:url_token/preview
Retorna o URL secreto totalmente qualificado de uma solicitação sem recuperar o conteúdo.
Exemplo de solicitação
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/preview
Exemplo de resposta
{
"url": "https://us.pwpush.com/r/orpw2wkg00vpn0a"
}
GET /api/v2/requests/:url_token/audit
Retorna o registro de auditoria de uma solicitação. Requer autenticação e propriedade.
Parâmetros de consulta:
page (opcional): Número da página para paginação.
- Padrão:
1(primeira página) - Alcance:
1para200 - Retorna até 50 entradas de registro de auditoria por página
- Exemplo:
?page=2para recuperar a segunda página
Exemplo de solicitação
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemplo de resposta
{
"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"
}
]
}
Observação: O kind indica o tipo de ação registrada. Os valores comuns incluem: creation, view, response, close, failed_passphrase, e failed_view.
DELETE /api/v2/requests/:url_token
Fecha imediatamente uma solicitação e exclui permanentemente todos os dados confidenciais associados a ela. Essa ação é irreversível e não pode ser desfeita. Requer autenticação e propriedade.
Exemplo de solicitação
curl -X DELETE https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemplo de resposta
{
"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
Retorna uma lista paginada de suas solicitações ativas (abertas ou prontas). Requer autenticação.
GET /api/v2/requests/open
Retorna uma lista paginada de suas solicitações abertas. Requer autenticação.
GET /api/v2/requests/ready
Retorna uma lista paginada de suas solicitações prontas. Requer autenticação.
GET /api/v2/requests/closed
Retorna uma lista paginada de suas solicitações fechadas. Requer autenticação.
Parâmetros de consulta:
page (opcional): Número da página para paginação.
- Padrão:
1(primeira página) - Alcance:
1para200 - Retorna até 50 solicitações por página
- Exemplo:
?page=2para recuperar a segunda página
Estados solicitantes
Abrir
A solicitação foi criada e está aguardando uma resposta. O texto da solicitação está visível, mas nenhuma resposta foi fornecida ainda.
Preparar
A solicitação foi respondida e agora contém a carga útil da resposta. O texto da solicitação não está mais visível, mas a resposta está disponível para recuperação.
Fechado
A solicitação foi tratada e todos os dados confidenciais (tanto a solicitação quanto a resposta) foram permanentemente excluídos. Esse estado é irreversível.
Exemplo de solicitação (ativa)
curl -X GET https://us.pwpush.com/api/v2/requests/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemplo de solicitação (aberta)
curl -X GET https://us.pwpush.com/api/v2/requests/open \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemplo de solicitação (pronto)
curl -X GET https://us.pwpush.com/api/v2/requests/ready \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemplo de solicitação (fechado)
curl -X GET https://us.pwpush.com/api/v2/requests/closed \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemplo de resposta
[
{
"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
}
]
Observação: O /active retorna solicitações em ambos os open e ready estados. Uso /open ou /ready para filtrar por estado específico.
Última atualização: July 20, 2026