Password Pusher API v2
BETADocumentación completa de la API REST para la integración Password Pusher en sus aplicaciones
Aviso Beta: La API v2 está actualmente en fase beta. Aunque hemos hecho todo lo posible para garantizar la estabilidad, es posible que haya cambios de última hora antes de la versión final. Agradecemos sus comentarios
Peticiones
Las solicitudes permiten una comunicación bidireccional segura para recopilar información confidencial. Cree una solicitud con una URL secreta, compártala con cualquiera y reciba respuestas seguras que contengan texto o archivos, todo ello sin exponer datos confidenciales en el correo electrónico, el chat o los registros.
Perfecto para recopilar credenciales, claves API, documentos confidenciales o cualquier información sensible de colegas, clientes o consumidores. Las respuestas se cifran automáticamente y se autoeliminan tras un periodo de tiempo especificado para minimizar la exposición de los datos. El seguimiento completo del ciclo de vida está disponible en los registros de auditoría de cada solicitud.
Las solicitudes tienen tres estados:
POST /api/v2/requests
Crea una nueva solicitud. Requiere autenticación.
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
requerido
|
string | El texto/mensaje de solicitud para compartir |
close_after_duration
opcional
|
integer (0-17) | Duration enum - Cuándo cerrar la solicitud |
passphrase
opcional
|
string | Exigir a los destinatarios que introduzcan esta frase de contraseña para ver |
name
opcional
|
string | Un nombre que aparece en el panel de control, las notificaciones y los correos electrónicos |
note
opcional
|
string | Nota interna (sólo visible para el creador) |
retrieval_step
opcional
|
boolean | Ayuda a evitar que los sistemas de chat y los escáneres de URL se coman las vistas |
include_requestor
opcional
|
boolean | Incluir la información del solicitante en la solicitud |
response_file_attachments
opcional
|
boolean | Permitir adjuntar archivos en las respuestas |
files
opcional
|
array | Archivo(s) para cargar y adjuntar a la solicitud |
notify_emails_to
opcional
|
string | Direcciones de correo electrónico a las que se notificará la creación de una solicitud (separadas por comas) |
notify_emails_to_locale
opcional
|
string | Configuración regional (idioma) en la que se enviarán las notificaciones por correo electrónico |
authenticated_recipients
opcional
|
boolean | Exige la verificación mediante una contraseña de un solo uso (OTP) enviada por correo electrónico antes de acceder. Requiere la configuración de «notify_emails_to». Solo funciona en el navegador cuando está habilitado (la API devuelve un código de error 403 al realizar consultas o enviar respuestas). |
account_id
opcional
|
integer | ID de la cuenta a la que se asocia la solicitud |
Valores de duración para close_after_duration
Ejemplo de solicitud
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 el contenido de una solicitud abierta o lista. Esto puede cerrar la solicitud si está configurada para cerrarse después de un cierto número de vistas.
Ejemplo de solicitud
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a
Ejemplo de solicitud con frase de contraseña
curl -X GET "https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a?passphrase=your_passphrase"
Ejemplo de respuesta (solicitud abierta)
{
"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": []
}
Ejemplo de respuesta (solicitud lista)
{
"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": []
}
Nota: Si la solicitud tiene una frase de contraseña, inclúyala como parámetro de consulta: ?passphrase=your_passphrase. Recuperar una solicitud cuenta como una vista y puede cerrar la solicitud si alcanza su límite de vistas.
PATCH /api/v2/requests/:url_token/respond
Responde a una solicitud abierta, cambiando su estado a "listo".
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 | Descripción |
|---|---|---|
response
requerido
|
string | El texto/mensaje de respuesta a la solicitud |
files
opcional
|
array | Archivo(s) a adjuntar a la respuesta (requiere response_file_attachments: true en la solicitud) |
Nota: Sólo las solicitudes en estado "abierto" pueden recibir respuestas. Una vez enviada una respuesta, la solicitud pasa al estado "lista" y no puede aceptar más respuestas.
GET /api/v2/requests/:url_token/preview
Devuelve la URL secreta completa de una solicitud sin recuperar el contenido.
Ejemplo de solicitud
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/preview
Ejemplo de respuesta
{
"url": "https://us.pwpush.com/r/orpw2wkg00vpn0a"
}
GET /api/v2/requests/:url_token/audit
Devuelve el registro de auditoría de una solicitud. Requiere autenticación y propiedad.
Parámetros de consulta:
page (opcional): Número de página para la paginación.
- Por defecto:
1(primera página) - Alcance:
1a200 - Devuelve hasta 50 entradas de registro de auditoría por página
- Por ejemplo:
?page=2para recuperar la segunda página
Ejemplo de solicitud
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ejemplo de respuesta
{
"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"
}
]
}
Nota: En kind indica el tipo de acción registrada. Los valores más comunes son: creation, view, response, close, failed_passphrase, y failed_view.
DELETE /api/v2/requests/:url_token
Cierra inmediatamente una solicitud y borra permanentemente todos los datos sensibles asociados a ella. Esta acción es irreversible y no puede deshacerse. Requiere autenticación y propiedad.
Ejemplo de solicitud
curl -X DELETE https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ejemplo de respuesta
{
"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
Devuelve una lista paginada de sus solicitudes activas (abiertas o listas). Requiere autenticación.
GET /api/v2/requests/open
Devuelve una lista paginada de sus solicitudes abiertas. Requiere autenticación.
GET /api/v2/requests/ready
Devuelve una lista paginada de sus solicitudes listas. Requiere autenticación.
GET /api/v2/requests/closed
Devuelve una lista paginada de sus solicitudes cerradas. Requiere autenticación.
Parámetros de consulta:
page (opcional): Número de página para la paginación.
- Por defecto:
1(primera página) - Alcance:
1a200 - Devuelve hasta 50 solicitudes por página
- Por ejemplo:
?page=2para recuperar la segunda página
Solicitar Estados
Abierto
La solicitud ha sido creada y está a la espera de una respuesta. El texto de la solicitud está visible, pero aún no se ha proporcionado ninguna respuesta.
Listo
La solicitud ha sido respondida y ahora contiene la carga útil de la respuesta. El texto de la solicitud ya no es visible, pero la respuesta está disponible para su recuperación.
Cerrado
La solicitud se ha gestionado y todos los datos sensibles (tanto de la solicitud como de la respuesta) se han eliminado de forma permanente. Este estado es irreversible.
Ejemplo de solicitud (activa)
curl -X GET https://us.pwpush.com/api/v2/requests/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ejemplo de solicitud (abierta)
curl -X GET https://us.pwpush.com/api/v2/requests/open \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ejemplo de solicitud (Listo)
curl -X GET https://us.pwpush.com/api/v2/requests/ready \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ejemplo de solicitud (cerrada)
curl -X GET https://us.pwpush.com/api/v2/requests/closed \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ejemplo de respuesta
[
{
"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
}
]
Nota: En /active devuelve solicitudes tanto en open y ready estados. Utilice /open o /ready para filtrar por un estado específico.
Última actualización: July 20, 2026