Password Pusher एपीआई v2
बीटाएकीकरण के लिए व्यापक REST API दस्तावेज़ीकरण Password Pusher अपने आवेदनों में
बीटा सूचना: API v2 वर्तमान में बीटा चरण में है। हमने स्थिरता सुनिश्चित करने के लिए हर संभव प्रयास किया है, फिर भी अंतिम रिलीज़ से पहले कुछ महत्वपूर्ण बदलाव हो सकते हैं। हम आपकी प्रतिक्रिया का स्वागत करते हैं!
धक्का
पुश नोटिफिकेशन संवेदनशील डेटा को प्राप्तकर्ताओं तक सुरक्षित और एकतरफा रूप से पहुंचाने में सक्षम बनाता है। टेक्स्ट, फ़ाइलें, क्यूआर कोड या यूआरएल युक्त एक गुप्त यूआरएल के साथ एक पुश नोटिफिकेशन बनाएं और फिर इसे किसी के साथ भी साझा करें—यह सब ईमेल, चैट या लॉग में संवेदनशील डेटा को उजागर किए बिना किया जा सकता है।
कर्मचारी ऑनबोर्डिंग, खाता क्रेडेंशियल भेजने, गोपनीय दस्तावेज़ भेजने या किसी भी संवेदनशील जानकारी को साझा करने के लिए बिल्कुल उपयुक्त। पुश नोटिफिकेशन एक निर्दिष्ट अवधि या देखे जाने की संख्या के बाद स्वतः समाप्त हो जाते हैं, और प्रत्येक पुश नोटिफिकेशन के ऑडिट लॉग में संपूर्ण जीवनचक्र ट्रैकिंग उपलब्ध होती है।
POST /api/v2/pushes
दिए गए पेलोड के साथ एक नया पुश बनाता है।
अनुरोध का मुख्य भाग (JSON)
{
"push": {
"payload": "secret_password_123",
"expire_after_duration": 6,
"expire_after_views": 5,
"passphrase": "optional_passphrase",
"name": "Database Credentials",
"note": "Internal note",
"deletable_by_viewer": true,
"retrieval_step": true,
"kind": "text"
},
"account_id": 123
}
फ़ाइलों सहित अनुरोध निकाय (multipart/form-data)
curl -X POST https://us.pwpush.com/api/v2/pushes \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "push[payload]=secret_password_123" \
-F "push[expire_after_duration]=6" \
-F "push[expire_after_views]=5" \
-F "push[name]=Database Credentials" \
-F "push[files][]=@/path/to/file1.pdf" \
-F "push[files][]=@/path/to/file2.txt"
टिप्पणी: फ़ाइलें संलग्न करते समय, उपयोग करें multipart/form-data प्रारूप और सेट करें kind: "file". एक से अधिक फ़ाइलें अटैच की जा सकती हैं। push[files][].
पैरामीटर
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
payload
आवश्यक
|
string | साझा करने के लिए गुप्त संदेश |
expire_after_duration
वैकल्पिक
|
integer (0-17) | अवधि एनम (0-17) |
expire_after_views
वैकल्पिक
|
integer (1-100) | समाप्ति से पहले देखे जाने की संख्या |
passphrase
वैकल्पिक
|
string | देखने के लिए पासफ़्रेज़ आवश्यक है |
name
वैकल्पिक
|
string | धक्का देने के लिए एक नाम |
note
वैकल्पिक
|
string | आंतरिक नोट (केवल निर्माता को दिखाई देगा) |
deletable_by_viewer
वैकल्पिक
|
boolean | दर्शकों को पुश नोटिफिकेशन हटाने की अनुमति दें |
retrieval_step
वैकल्पिक
|
boolean | पुनः प्राप्त करने के लिए एक अतिरिक्त चरण की आवश्यकता है |
kind
वैकल्पिक
|
string | प्रकार: "text", "file", "url", या "qr" (डिफ़ॉल्ट रूप से "text") |
notify_emails_to
वैकल्पिक
|
string | पुश नोटिफिकेशन जारी होने पर जिन ईमेल पतों पर सूचना भेजी जाएगी (अल्पविराम से अलग किए गए) |
notify_emails_to_locale
वैकल्पिक
|
string | ईमेल सूचनाएं भेजने के लिए स्थान (भाषा) |
authenticated_recipients
वैकल्पिक
|
boolean | देखने से पहले ईमेल ओटीपी सत्यापन आवश्यक है। इसके लिए notify_emails_to का उपयोग करना आवश्यक है। सक्षम होने पर पुनर्प्राप्ति केवल ब्राउज़र के माध्यम से ही संभव है (एपीआई पुनर्प्राप्ति 403 त्रुटि लौटाती है)। |
account_id
वैकल्पिक
|
integer | पुश नोटिफिकेशन को संबद्ध करने के लिए खाता आईडी (एकाधिक खाते वाले उपयोगकर्ताओं के लिए) |
अवधि मानों के लिए expire_after_duration
प्रतिक्रिया क्षेत्र
पुश रिक्वेस्ट बनाते समय रिस्पॉन्स में निम्नलिखित फ़ील्ड वापस आते हैं। ध्यान दें: पेलोड और फ़ाइलें बनाते समय वापस नहीं आतीं—ये केवल GET के माध्यम से पुश रिक्वेस्ट प्राप्त करते समय ही उपलब्ध होती हैं।
| मैदान | प्रकार | उदाहरण | विवरण |
|---|---|---|---|
| account_id | integer or null | 1 | स्वामी खाता आईडी |
| created_at | string | "2025-02-17T10:00:00.000Z" | आईएसओ 8601 निर्माण समय |
| days_remaining | integer | 1 | पदावनत शेष पूरे दिन (0 जब < 1 दिन हो); expires_at / expires_in को प्राथमिकता दें |
| deletable_by_viewer | boolean | true | क्या प्राप्तकर्ता पुश नोटिफिकेशन को डिलीट कर सकता है? |
| deleted | boolean | false | क्या पुश को स्पष्ट रूप से हटाया गया था |
| expire_after_days | integer | 1 | पदावनत अनुमानित दिन (अवधि से व्युत्पन्न) |
| expire_after_duration | integer | 6 | अवधि संख्या (0–17); ऊपर दी गई तालिका देखें |
| expire_after_views | integer | 5 | समाप्ति से पहले अधिकतम दृश्य |
| expired | boolean | false | क्या यह प्रयास समाप्त हो गया है? |
| expired_on | string or null | null | पुश की समय सीमा समाप्त होने पर ISO 8601; समय सीमा समाप्त न होने पर शून्य। |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601 के अनुसार पुश नोटिफिकेशन की समय सीमा समाप्त होने का समय; समय सीमा समाप्त होने पर शून्य। |
| expires_in | number | 86400 | समाप्ति तक बचे सेकंड (समाप्त हो जाने पर 0) |
| html_url | string | "https://.../p/abc" | ब्राउज़र में पुश बॉक्स खोलने के लिए URL |
| json_url | string | "https://.../p/abc.json" | JSON फॉर्मेट में पुश डेटा प्राप्त करने के लिए URL |
| name | string or null | "Database credentials" | पुश के लिए वैकल्पिक नाम |
| note | string or null | null | वैकल्पिक निजी नोट |
| notify_emails_to | string or null | null | ईमेल द्वारा निर्माण पर सूचना प्राप्त करें (केवल प्रीमियम उपयोगकर्ताओं के लिए) |
| passphrase | string or null | null | केवल तभी मौजूद रहें जब पुश में पासफ़्रेज़ हो (मान छिपा हुआ है) |
| retrieval_step | boolean | false | क्या पुनर्प्राप्ति के लिए एक अतिरिक्त कदम की आवश्यकता है? |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 का अंतिम अद्यतन समय |
| url_token | string | "fkwjfvhall92" | पुश के लिए अद्वितीय गुप्त पहचानकर्ता |
| views_remaining | integer | 5 | समाप्ति से पहले बचे हुए विचार |
उदाहरण उत्तर:
{
"expire_after_duration": 6,
"expire_after_views": 5,
"expired": false,
"url_token": "fkwjfvhall92",
"deletable_by_viewer": true,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2025-02-17T10:00:00.000Z",
"updated_at": "2025-02-17T10:00:00.000Z",
"expire_after_days": 1,
"views_remaining": 5,
"deleted": false,
"days_remaining": 1,
"expires_at": "2025-02-18T10:00:00.000Z",
"expires_in": 86400,
"json_url": "https://example.com/p/fkwjfvhall92.json",
"html_url": "https://example.com/p/fkwjfvhall92",
"account_id": 1,
"note": null,
"name": "Database Credentials"
}
उदाहरण अनुरोध
curl -X POST https://us.pwpush.com/api/v2/pushes \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"push": {
"payload": "MySecretPassword123",
"expire_after_duration": 6,
"expire_after_views": 3
}
}'
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://us.pwpush.com/api/v2/pushes')
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 = {
push: {
payload: 'MySecretPassword123',
expire_after_duration: 6,
expire_after_views: 3
}
}.to_json
response = http.request(request)
puts response.body
import requests
import json
url = 'https://us.pwpush.com/api/v2/pushes'
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
}
data = {
'push': {
'payload': 'MySecretPassword123',
'expire_after_duration': 6,
'expire_after_views': 3
}
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
$headers = @{
'Authorization' = 'Bearer YOUR_API_TOKEN'
'Content-Type' = 'application/json'
}
$body = @{
push = @{
payload = 'MySecretPassword123'
expire_after_duration = 6
expire_after_views = 3
}
} | ConvertTo-Json -Depth 10
$response = Invoke-RestMethod -Uri 'https://us.pwpush.com/api/v2/pushes' `
-Method Post `
-Headers $headers `
-Body $body
$response | ConvertTo-Json
GET /api/v2/pushes/:url_token
पुश नोटिफिकेशन का गुप्त पेलोड प्राप्त करता है। इससे व्यू काउंट बढ़ जाता है और पुश नोटिफिकेशन की समय सीमा समाप्त हो सकती है।
प्रतिक्रिया क्षेत्र
पुश नोटिफिकेशन प्राप्त करते समय निम्नलिखित फ़ील्ड वापस किए जाते हैं। यह एंडपॉइंट पेलोड और फ़ाइलें लौटाता है जो अन्य एंडपॉइंट पर उपलब्ध नहीं हैं।
| मैदान | प्रकार | उदाहरण | विवरण |
|---|---|---|---|
| created_at | string | "2025-02-17T10:00:00.000Z" | आईएसओ 8601 निर्माण समय |
| days_remaining | integer | 1 | पदावनत शेष पूरे दिन (0 जब < 1 दिन हो); expires_at / expires_in को प्राथमिकता दें |
| deletable_by_viewer | boolean | true | क्या प्राप्तकर्ता पुश नोटिफिकेशन को डिलीट कर सकता है? |
| deleted | boolean | false | क्या पुश को स्पष्ट रूप से हटाया गया था |
| expire_after_days | integer | 1 | पदावनत अनुमानित दिन (अवधि से व्युत्पन्न) |
| expire_after_duration | integer | 6 | अवधि संख्या (0–17) |
| expire_after_views | integer | 5 | समाप्ति से पहले अधिकतम दृश्य |
| expired | boolean | false | क्या यह प्रयास समाप्त हो गया है? |
| expired_on | string or null | null | पुश की समय सीमा समाप्त होने पर ISO 8601; समय सीमा समाप्त न होने पर शून्य। |
| expires_at | string or null | "2025-02-18T10:00:00.000Z" | ISO 8601 के अनुसार पुश नोटिफिकेशन की समय सीमा समाप्त होने का समय; समय सीमा समाप्त होने पर शून्य। |
| expires_in | number | 86400 | समाप्ति तक बचे सेकंड (समाप्त हो जाने पर 0) |
| files | array | [{ filename, content_type, url }] | डाउनलोड यूआरएल सहित संलग्न फ़ाइल मेटाडेटा |
| html_url | string | "https://.../p/abc" | ब्राउज़र में पुश बॉक्स खोलने के लिए URL |
| json_url | string | "https://.../p/abc.json" | JSON फॉर्मेट में पुश डेटा प्राप्त करने के लिए URL |
| passphrase | string or null | null | केवल तभी मौजूद रहें जब पुश में पासफ़्रेज़ हो (मान छिपा हुआ है) |
| payload | string or null | "secret123" | गुप्त सामग्री; समय सीमा समाप्त होने पर शून्य हो जाती है |
| retrieval_step | boolean | false | क्या पुनर्प्राप्ति के लिए एक अतिरिक्त कदम की आवश्यकता है? |
| updated_at | string | "2025-02-17T10:00:00.000Z" | ISO 8601 का अंतिम अद्यतन समय |
| url_token | string | "fkwjfvhall92" | पुश के लिए अद्वितीय गुप्त पहचानकर्ता |
| views_remaining | integer | 2 | समाप्ति से पहले बचे हुए विचार |
उदाहरण अनुरोध
curl -X GET https://us.pwpush.com/api/v2/pushes/fkwjfvhall92
पासफ़्रेज़ के साथ अनुरोध का उदाहरण
curl -X GET "https://us.pwpush.com/api/v2/pushes/fkwjfvhall92?passphrase=your_passphrase"
उदाहरण प्रतिक्रिया
{
"expire_after_duration": 6,
"expire_after_views": 3,
"expired": false,
"url_token": "fkwjfvhall92",
"deletable_by_viewer": false,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2025-02-17T10:00:00.000Z",
"updated_at": "2025-02-17T10:00:00.000Z",
"expire_after_days": 1,
"views_remaining": 2,
"deleted": false,
"days_remaining": 1,
"expires_at": "2025-02-18T10:00:00.000Z",
"expires_in": 86400,
"json_url": "https://us.pwpush.com/p/fkwjfvhall92.json",
"html_url": "https://us.pwpush.com/p/fkwjfvhall92",
"payload": "MySecretPassword123",
"files": []
}
टिप्पणी: यदि पुश नोटिफिकेशन में पासफ़्रेज़ है, तो उसे क्वेरी पैरामीटर के रूप में शामिल करें: ?passphrase=your_passphrase. किसी पुश नोटिफिकेशन को प्राप्त करना एक व्यू के रूप में गिना जाता है और यदि वह अपनी व्यू सीमा तक पहुंच जाता है तो पुश नोटिफिकेशन समाप्त हो सकता है।
GET /api/v2/pushes/:url_token/preview
पेलोड को पुनर्प्राप्त किए बिना पुश का पूर्ण रूप से योग्य गुप्त URL लौटाता है।
उदाहरण अनुरोध
curl -X GET https://us.pwpush.com/api/v2/pushes/fkwjfvhall92/preview
उदाहरण प्रतिक्रिया
{
"url": "https://us.pwpush.com/p/fkwjfvhall92"
}
GET /api/v2/pushes/:url_token/audit
पुश नोटिफिकेशन का ऑडिट लॉग लौटाता है। इसके लिए प्रमाणीकरण और स्वामित्व आवश्यक है।
क्वेरी पैरामीटर:
page (वैकल्पिक): पृष्ठ संख्या निर्धारण के लिए पृष्ठ संख्या।
- गलती करना:
1(पहला पृष्ठ) - श्रेणी:
1को200 - प्रति पृष्ठ अधिकतम 50 ऑडिट लॉग प्रविष्टियाँ लौटाता है
- उदाहरण:
?page=2दूसरा पृष्ठ प्राप्त करने के लिए
उदाहरण अनुरोध
curl -X GET https://us.pwpush.com/api/v2/pushes/fkwjfvhall92/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"
}
]
}
टिप्पणी: The kind यह फ़ील्ड लॉग की गई कार्रवाई के प्रकार को इंगित करता है। सामान्य मानों में शामिल हैं: creation, view, expire, failed_passphrase, और failed_view.
DELETE /api/v2/pushes/:url_token
पुश तुरंत समाप्त हो जाता है और पेलोड और संलग्न फ़ाइलों सहित सभी संवेदनशील डेटा स्थायी रूप से हटा दिया जाता है। यह कार्रवाई अपरिवर्तनीय है और इसे पूर्ववत नहीं किया जा सकता है। प्रमाणीकरण और स्वामित्व आवश्यक है, या पुश को इसके साथ बनाया गया होना चाहिए। deletable_by_viewer: true.
उदाहरण अनुरोध
curl -X DELETE https://us.pwpush.com/api/v2/pushes/fkwjfvhall92 \
-H "Authorization: Bearer YOUR_API_TOKEN"
उदाहरण प्रतिक्रिया
{
"expire_after_duration": 7,
"expire_after_views": 5,
"expired": true,
"url_token": "fkwjfvhall92",
"deletable_by_viewer": false,
"retrieval_step": false,
"expired_on": "2023-10-27T10:15:00.000Z",
"passphrase": null,
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:15:00.000Z",
"expire_after_days": 7,
"days_remaining": 0,
"expires_at": null,
"expires_in": 0,
"views_remaining": 0,
"deleted": true,
"json_url": "https://us.pwpush.com/p/fkwjfvhall92.json",
"html_url": "https://us.pwpush.com/p/fkwjfvhall92",
"account_id": 1,
"note": null,
"name": null
}
GET /api/v2/pushes/active
यह आपके सक्रिय (समाप्त न हुए) पुश नोटिफिकेशन की एक पेज वाली सूची लौटाता है। इसके लिए प्रमाणीकरण आवश्यक है।
GET /api/v2/pushes/expired
यह आपके समाप्त हो चुके पुश नोटिफिकेशन की एक पेज-वार सूची लौटाता है। इसके लिए प्रमाणीकरण आवश्यक है।
क्वेरी पैरामीटर:
page (वैकल्पिक): पृष्ठ संख्या निर्धारण के लिए पृष्ठ संख्या।
- गलती करना:
1(पहला पृष्ठ) - श्रेणी:
1को200 - प्रति पृष्ठ अधिकतम 50 पुश नोटिफिकेशन तक लौटाता है
- उदाहरण:
?page=2दूसरा पृष्ठ प्राप्त करने के लिए
उदाहरण अनुरोध (सक्रिय)
curl -X GET https://us.pwpush.com/api/v2/pushes/active \
-H "Authorization: Bearer YOUR_API_TOKEN"
उदाहरण अनुरोध (समाप्त हो चुका)
curl -X GET https://us.pwpush.com/api/v2/pushes/expired \
-H "Authorization: Bearer YOUR_API_TOKEN"
उदाहरण प्रतिक्रिया
[
{
"expire_after_duration": 7,
"expire_after_views": 5,
"expired": false,
"url_token": "abc123xyz789",
"deletable_by_viewer": false,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2023-10-27T10:00:00.000Z",
"updated_at": "2023-10-27T10:00:00.000Z",
"expire_after_days": 7,
"days_remaining": 7,
"expires_at": "2023-10-29T10:00:00.000Z",
"expires_in": 172800,
"views_remaining": 5,
"deleted": false,
"json_url": "https://us.pwpush.com/p/abc123xyz789.json",
"html_url": "https://us.pwpush.com/p/abc123xyz789",
"account_id": 1,
"note": null,
"name": null
},
{
"expire_after_duration": 1,
"expire_after_views": 3,
"expired": false,
"url_token": "def456uvw012",
"deletable_by_viewer": true,
"retrieval_step": false,
"expired_on": null,
"passphrase": null,
"created_at": "2023-10-26T15:30:00.000Z",
"updated_at": "2023-10-26T15:30:00.000Z",
"expire_after_days": 1,
"days_remaining": 0,
"expires_at": "2023-10-26T16:00:00.000Z",
"expires_in": 1200,
"views_remaining": 2,
"deleted": false,
"json_url": "https://us.pwpush.com/p/def456uvw012.json",
"html_url": "https://us.pwpush.com/p/def456uvw012",
"account_id": 1,
"note": null,
"name": null
}
]
आखरी अपडेट: July 20, 2026