Retrieves a push and its payload. If the push is active, this request will count as a view and be logged in the audit log.
Passphrase protection - Requires a passphrase to view.
Provide the passphrase as a GET parameter: ?passphrase=xxx
For language-specific examples and detailed API documentation, see: docs.pwpush.com/docs/json-api/
| Param name | Description |
|---|---|
|
url_token
required |
Secret URL token of a previously created push. Validations:
|
Creates a new push (secret URL) containing the provided payload. The payload can be:
Text/password (default)
File attachments (requires authentication & subscription)
URLs
QR codes
The push must be created with a payload parameter containing the secret content. All other parameters are optional and will use system defaults if not specified.
Pushes can be configured to expire after:
A number of views (expire_after_views)
A number of days (expire_after_days)
Both views and days (first trigger wins)
Passphrase protection requires viewers to enter a secret phrase
Retrieval step helps prevent automated URL scanners from burning views
Deletable by viewer allows recipients to manually expire the push
See language specific examples in the docs: docs.pwpush.com/docs/json-api/
curl -X POST \
-H "X-User-Email: user@example.com" \
-H "X-User-Token: MyAPIToken" \
-H "Content-Type: application/json" \
-d '{"password": {"payload": "secret_text"}}' \
https://pwpush.com/p.json
{
"url_token": "fkwjfvhall92",
"html_url": "https://pwpush.com/p/fkwjfvhall92",
"json_url": "https://pwpush.com/p/fkwjfvhall92.json",
"created_at": "2023-10-20T15:32:01Z",
"expires_at": "2023-10-20T15:32:01Z",
"views_remaining": 10,
"views_total": 10,
"files": [],
"passphrase": null,
"name": null,
"note": null,
"expire_after_days": null,
}
| Param name | Description |
|---|---|
|
password
required |
Push details Validations:
|
|
password[payload]
required |
The URL encoded password or secret text to share. Validations:
|
|
password[files]
optional |
File(s) to upload and attach to the push. Validations:
|
|
password[passphrase]
optional |
Require recipients to enter this passphrase to view the created push. Validations:
|
|
password[name]
optional , blank allowed |
A name shown in the dashboard, notifications and emails. Validations:
|
|
password[note]
optional , blank allowed |
If authenticated, the URL encoded note for this push. Visible only to the push creator. Validations:
|
|
password[expire_after_days]
optional |
Expire secret link and delete after this many days. Validations:
|
|
password[expire_after_views]
optional |
Expire secret link and delete after this many views. Validations:
|
|
password[deletable_by_viewer]
optional |
Allow users to delete passwords once retrieved. Validations:
|
|
password[retrieval_step]
optional |
Helps to avoid chat systems and URL scanners from eating up views. Validations:
|
|
password[kind]
optional |
The kind of push to create. Defaults to ‘text’. Validations:
|
This method retrieves the preview URL of a push. This is useful for getting the fully qualified URL of a push before sharing it with others.
For language-specific examples and detailed API documentation, see: docs.pwpush.com/docs/json-api/
| Param name | Description |
|---|---|
|
url_token
required |
Secret URL token of a previously created push. Validations:
|
Returns the audit log for a push, containing an array of view events with metadata including:
IP address of viewer
User agent
Referrer URL
Timestamp
Event type (view, failed_view, expire, etc)
Results are paginated with a maximum of 50 audit log entries per page and 200 pages total.
Authentication is required. Only the owner of the push can retrieve its audit log. Requests for pushes not owned by the authenticated user will receive a 403 Forbidden response.
page - Page number (default: 1)
curl -X GET \ -H "X-User-Email: user@example.com" \ -H "X-User-Token: MyAPIToken" \ https://pwpush.com/p/fk27vnslkd/audit.json?page=1
{
"views": [
{
"ip": "x.x.x.x",
"user_agent": "Mozilla/5.0...",
"referrer": "https://example.com",
"created_at": "2023-10-20T15:32:01Z",
"kind": "view"
}
]
}
For language-specific examples and detailed API documentation, see: docs.pwpush.com/docs/json-api/
| Param name | Description |
|---|---|
|
url_token
required |
Secret URL token of a previously created push. Validations:
|
Expires a push immediately. Must be authenticated & owner of the push or the push must have been created with deleteable_by_viewer.
curl -X DELETE \ -H "X-User-Email: user@example.com" \ -H "X-User-Token: MyAPIToken" \ https://pwpush.com/p/fkwjfvhall92.json
{
"expired": true,
"expired_on": "2023-10-20T15:32:01Z"
}
For language-specific examples and detailed API documentation, see: docs.pwpush.com/docs/json-api/
| Param name | Description |
|---|---|
|
url_token
required |
Secret URL token of a previously created push. Validations:
|
Returns the list of pushes that are still active. Results are paginated with a maximum of 50 pushes per page and 200 pages total.
page - Page number (default: 1)
curl -X GET \ -H "X-User-Email: user@example.com" \ -H "X-User-Token: MyAPIToken" \ https://pwpush.com/p/active.json
[
{
"url_token": "fkwjfvhall92",
"html_url": "https://pwpush.com/p/fkwjfvhall92",
"json_url": "https://pwpush.com/p/fkwjfvhall92.json",
"created_at": "2023-10-20T15:32:01Z",
"expires_at": "2023-10-20T15:32:01Z",
...
},
...
]
For language-specific examples and detailed API documentation, see: docs.pwpush.com/docs/json-api/
Returns the list of pushes that have expired. Results are paginated with a maximum of 50 pushes per page and 200 pages total.
page - Page number (default: 1)
curl -X GET \ -H "X-User-Email: user@example.com" \ -H "X-User-Token: MyAPIToken" \ https://pwpush.com/p/expired.json
[
{
"url_token": "fkwjfvhall92",
"html_url": "https://pwpush.com/p/fkwjfvhall92",
"json_url": "https://pwpush.com/p/fkwjfvhall92.json",
"created_at": "2023-10-20T15:32:01Z",
"expires_at": "2023-10-20T15:32:01Z",
...
},
...
]
For language-specific examples and detailed API documentation, see: docs.pwpush.com/docs/json-api/