Password Pusher API v2
BÊTADocumentation complète de l'API REST pour l'intégration Password Pusher dans vos applications
Avis bêta : L'API v2 est actuellement en version bêta. Bien que nous ayons fait tous les efforts possibles pour en assurer la stabilité, il est possible que des changements radicaux soient apportés avant la sortie de la version finale. N'hésitez pas à nous faire part de vos commentaires !
Demandes
Les requêtes permettent une communication sécurisée et bidirectionnelle pour la collecte d'informations sensibles. Créez une demande avec une URL secrète, partagez-la avec n'importe qui et recevez des réponses sécurisées contenant du texte ou des fichiers, le tout sans exposer de données sensibles dans des courriels, des chats ou des journaux.
Parfait pour collecter des informations d'identification, des clés API, des documents confidentiels ou toute autre information sensible auprès de collègues, de clients ou de consommateurs. Les réponses sont automatiquement cryptées et supprimées automatiquement après une durée déterminée afin de minimiser l'exposition des données. Un suivi complet du cycle de vie est disponible dans les journaux d'audit de chaque demande.
Les demandes comportent trois états :
POST /api/v2/requests
Crée une nouvelle demande. L'authentification est requise.
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
obligatoire
|
string | Le texte/message de la demande à partager |
close_after_duration
optionnel
|
integer (0-17) | Duration enum - quand clôturer la demande |
passphrase
optionnel
|
string | Obliger les destinataires à saisir cette phrase d'authentification pour afficher les informations suivantes |
name
optionnel
|
string | Un nom affiché dans le tableau de bord, les notifications et les courriels |
note
optionnel
|
string | Note interne (visible uniquement par le créateur) |
retrieval_step
optionnel
|
boolean | Permet d'éviter que les systèmes de chat et les scanners d'URL n'accaparent les vues |
include_requestor
optionnel
|
boolean | Inclure les informations relatives au demandeur dans la demande |
response_file_attachments
optionnel
|
boolean | Autoriser les pièces jointes dans les réponses |
files
optionnel
|
array | Fichier(s) à télécharger et à joindre à la demande |
notify_emails_to
optionnel
|
string | Adresses électroniques à notifier lorsqu'une demande est créée (séparées par des virgules) |
notify_emails_to_locale
optionnel
|
string | Locale (langue) dans laquelle envoyer les notifications par courrier électronique |
authenticated_recipients
optionnel
|
boolean | Exige une vérification par mot de passe à usage unique (OTP) envoyé par e-mail avant l'accès. Nécessite la configuration de `notify_emails_to`. Fonctionne uniquement sur navigateur lorsque cette option est activée (l'API « retrieve/respond » renvoie un code d'erreur 403). |
account_id
optionnel
|
integer | L'identifiant du compte avec lequel la demande doit être associée |
Valeurs de durée pour close_after_duration
Exemple de demande
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
Récupère le contenu d'une demande ouverte ou prête. La demande peut être fermée si elle est configurée pour être fermée après un certain nombre de vues.
Exemple de demande
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a
Exemple de demande avec phrase d'authentification
curl -X GET "https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a?passphrase=your_passphrase"
Exemple de réponse (demande ouverte)
{
"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": []
}
Exemple de réponse (Ready Request)
{
"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": []
}
Remarque : Si la demande comporte une phrase d'authentification, il convient de l'inclure en tant que paramètre de la requête : ?passphrase=your_passphrase. La récupération d'une demande compte comme une vue et peut fermer la demande si elle atteint sa limite de vues.
PATCH /api/v2/requests/:url_token/respond
Répond à une demande ouverte et passe à l'état "prêt".
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][].
Paramètres
| Paramètres | Taper | Description |
|---|---|---|
response
obligatoire
|
string | Le texte/message de la réponse à la demande |
files
optionnel
|
array | Fichier(s) à joindre à la réponse (obligatoire) response_file_attachments: true sur la demande) |
Remarque : Seules les demandes dans l'état "ouvert" peuvent recevoir des réponses. Une fois qu'une réponse a été soumise, la demande passe à l'état "prêt" et ne peut plus accepter d'autres réponses.
GET /api/v2/requests/:url_token/preview
Renvoie l'URL secrète entièrement qualifiée d'une requête sans en extraire le contenu.
Exemple de demande
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/preview
Exemple de réponse
{
"url": "https://us.pwpush.com/r/orpw2wkg00vpn0a"
}
GET /api/v2/requests/:url_token/audit
Renvoie le journal d'audit pour une demande. Requiert l'authentification et la propriété.
Paramètres d'interrogation :
page (optionnel): Numéro de page pour la pagination.
- Par défaut :
1(première page) - Gamme :
1à200 - Renvoie jusqu'à 50 entrées de journal d'audit par page
- Exemple :
?page=2pour récupérer la deuxième page
Exemple de demande
curl -X GET https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/audit \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemple de réponse
{
"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"
}
]
}
Remarque : Le kind indique le type d'action enregistrée. Les valeurs courantes sont les suivantes : creation, view, response, close, failed_passphrase, et failed_view.
DELETE /api/v2/requests/:url_token
Clôture immédiate d'une demande et suppression définitive de toutes les données sensibles qui y sont associées. Cette action est irréversible et ne peut être annulée. Nécessite une authentification et un droit de propriété.
Exemple de demande
curl -X DELETE https://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemple de réponse
{
"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
Renvoie une liste paginée de vos demandes actives (ouvertes ou prêtes). Requiert une authentification.
GET /api/v2/requests/open
Renvoie une liste paginée de vos demandes en cours. Nécessite une authentification.
GET /api/v2/requests/ready
Renvoie une liste paginée de vos demandes prêtes. Requiert une authentification.
GET /api/v2/requests/closed
Renvoie une liste paginée des demandes clôturées. Nécessite une authentification.
Paramètres d'interrogation :
page (optionnel): Numéro de page pour la pagination.
- Par défaut :
1(première page) - Gamme :
1à200 - Retourne jusqu'à 50 demandes par page
- Exemple :
?page=2pour récupérer la deuxième page
Demande d'États
Demande ouverte
La demande a été créée et attend une réponse. Le texte de la demande est visible, mais aucune réponse n'a encore été fournie.
Prêt
La demande a reçu une réponse et contient maintenant le contenu de la réponse. Le texte de la demande n'est plus visible, mais la réponse peut être consultée.
Fermé
La demande a été traitée et toutes les données sensibles (demande et réponse) ont été définitivement supprimées. Cet état est irréversible.
Exemple de demande (actif)
curl -X GET https://us.pwpush.com/api/v2/requests/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemple de demande (ouvert)
curl -X GET https://us.pwpush.com/api/v2/requests/open \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemple de demande (Ready)
curl -X GET https://us.pwpush.com/api/v2/requests/ready \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemple de demande (clôturé)
curl -X GET https://us.pwpush.com/api/v2/requests/closed \
-H "Authorization: Bearer YOUR_API_TOKEN"
Exemple de réponse
[
{
"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
}
]
Remarque : Le /active le point d'accès renvoie les demandes dans les deux formats open et ready états. Utilisation /open ou /ready pour filtrer par état spécifique.
Dernière mise à jour : July 20, 2026