Password Pusher API v2
BETADocumentazione completa dell'API REST per l'integrazione Password Pusher nelle vostre applicazioni
Avviso Beta: L'API v2 è attualmente in fase beta. Abbiamo fatto ogni sforzo per garantire la stabilità, ma è possibile che vengano apportate delle modifiche prima del rilascio finale. Siamo lieti di ricevere il vostro feedback!
Richieste
Le richieste consentono una comunicazione sicura e bidirezionale per la raccolta di informazioni sensibili. Create una richiesta con un URL segreto, condividetela con chiunque e ricevete risposte sicure contenenti testo o file, il tutto senza esporre dati sensibili in e-mail, chat o registri.
Perfetto per la raccolta di credenziali, chiavi API, documenti riservati o qualsiasi informazione sensibile da colleghi, clienti o committenti. Le risposte vengono automaticamente crittografate e cancellate dopo una durata specifica per ridurre al minimo l'esposizione dei dati. Il monitoraggio completo del ciclo di vita è disponibile nei log di audit di ogni richiesta.
Le richieste hanno tre stati:
POST /api/v2/requests
Crea una nuova richiesta. Richiede l'autenticazione.
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
necessario
|
string | Il testo/messaggio di richiesta da condividere |
close_after_duration
opzionale
|
integer (0-17) | Durata enum - quando chiudere la richiesta |
passphrase
opzionale
|
string | Richiedere ai destinatari di immettere questa passphrase per visualizzare |
name
opzionale
|
string | Un nome visualizzato nella dashboard, nelle notifiche e nelle e-mail |
note
opzionale
|
string | Nota interna (visibile solo al creatore) |
retrieval_step
opzionale
|
boolean | Aiuta a evitare che i sistemi di chat e gli scanner di URL divorino le visualizzazioni |
include_requestor
opzionale
|
boolean | Includere le informazioni del richiedente nella richiesta |
response_file_attachments
opzionale
|
boolean | Consentire l'invio di file nelle risposte |
files
opzionale
|
array | File da caricare e allegare alla richiesta |
notify_emails_to
opzionale
|
string | Indirizzi e-mail da notificare quando viene creata una richiesta (separati da virgole) |
notify_emails_to_locale
opzionale
|
string | Locale (lingua) in cui inviare le notifiche via email |
authenticated_recipients
opzionale
|
boolean | Richiede la verifica tramite OTP via e-mail prima dell'accesso. Richiede il campo `notify_emails_to`. Funziona solo su browser quando è abilitato (le operazioni di recupero/risposta dell'API restituiscono un codice di errore 403). |
account_id
opzionale
|
integer | L'ID del conto a cui associare la richiesta |
Valori di durata per close_after_duration
Esempio di richiesta
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 il contenuto di una richiesta aperta o pronta. Può chiudere la richiesta se è configurata per essere chiusa dopo un certo numero di visualizzazioni.
Esempio di richiesta
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a
Esempio di richiesta con passphrase
curl -X GET "https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a?passphrase=your_passphrase"
Esempio di risposta (richiesta aperta)
{
"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": []
}
Esempio di risposta (richiesta 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": []
}
Nota: Se la richiesta ha una passphrase, includerla come parametro della query: ?passphrase=your_passphrase. Il recupero di una richiesta conta come una visualizzazione e può chiudere la richiesta se raggiunge il limite di visualizzazioni.
PATCH /api/v2/requests/:url_token/respond
Risponde a una richiesta aperta, cambiando il suo stato in "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][].
Parametri
| Parametro | Tipo | Descrizione |
|---|---|---|
response
necessario
|
string | Il testo/messaggio di risposta alla richiesta |
files
opzionale
|
array | File da allegare alla risposta (richiede response_file_attachments: true sulla richiesta) |
Nota: Solo le richieste nello stato "aperto" possono ricevere risposte. Una volta inviata una risposta, la richiesta passa allo stato "pronto" e non può accettare altre risposte.
GET /api/v2/requests/:url_token/preview
Restituisce l'URL segreto completamente qualificato di una richiesta senza recuperare il contenuto.
Esempio di richiesta
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/preview
Esempio di risposta
{
"url": "https://us.pwpush.com/r/orpw2wkg00vpn0a"
}
GET /api/v2/requests/:url_token/audit
Restituisce il registro di controllo per una richiesta. Richiede l'autenticazione e la proprietà.
Parametri della query:
page (opzionale): Numero di pagina per la paginazione.
- Predefinito:
1(prima pagina) - Gamma:
1a200 - Restituisce fino a 50 voci di registro di audit per pagina
- Esempio:
?page=2per recuperare la seconda pagina
Esempio di richiesta
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Esempio di risposta
{
"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: Il kind indica il tipo di azione registrata. I valori più comuni sono: creation, view, response, close, failed_passphrase, e failed_view.
DELETE /api/v2/requests/:url_token
Chiude immediatamente una richiesta e cancella definitivamente tutti i dati sensibili ad essa associati. Questa azione è irreversibile e non può essere annullata. Richiede l'autenticazione e la proprietà.
Esempio di richiesta
curl -X DELETE https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a \
-H "Authorization: Bearer YOUR_API_TOKEN"
Esempio di risposta
{
"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
Restituisce un elenco paginato delle richieste attive (aperte o pronte). Richiede l'autenticazione.
GET /api/v2/requests/open
Restituisce un elenco paginato delle richieste aperte. Richiede l'autenticazione.
GET /api/v2/requests/ready
Restituisce un elenco impaginato delle richieste pronte. Richiede l'autenticazione.
GET /api/v2/requests/closed
Restituisce un elenco paginato delle richieste chiuse. Richiede l'autenticazione.
Parametri della query:
page (opzionale): Numero di pagina per la paginazione.
- Predefinito:
1(prima pagina) - Gamma:
1a200 - Restituisce fino a 50 richieste per pagina
- Esempio:
?page=2per recuperare la seconda pagina
Stati di richiesta
Aprire
La richiesta è stata creata ed è in attesa di una risposta. Il testo della richiesta è visibile, ma non è ancora stata fornita alcuna risposta.
Pronto
La richiesta è stata evasa e ora contiene il payload della risposta. Il testo della richiesta non è più visibile, ma la risposta è disponibile per il recupero.
Chiuso
La richiesta è stata gestita e tutti i dati sensibili (sia la richiesta che la risposta) sono stati eliminati in modo permanente. Questo stato è irreversibile.
Esempio di richiesta (attivo)
curl -X GET https://us.pwpush.com/api/v2/requests/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Esempio di richiesta (aperta)
curl -X GET https://us.pwpush.com/api/v2/requests/open \
-H "Authorization: Bearer YOUR_API_TOKEN"
Esempio di richiesta (pronto)
curl -X GET https://us.pwpush.com/api/v2/requests/ready \
-H "Authorization: Bearer YOUR_API_TOKEN"
Esempio di richiesta (chiuso)
curl -X GET https://us.pwpush.com/api/v2/requests/closed \
-H "Authorization: Bearer YOUR_API_TOKEN"
Esempio di risposta
[
{
"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: Il /active restituisce le richieste in entrambi i formati open e ready stati. Utilizzo /open o /ready per filtrare in base a uno stato specifico.
Ultimo aggiornamento: July 20, 2026