{"docs":{"name":"Password Pusher","info":"\n\u003cp\u003eThe Password Pusher JSON API.\u003c/p\u003e\n\n\u003cp\u003eThis API allows for both anonymous and authenticated access.\u003c/p\u003e\n\n\u003cp\u003eFor more information including language-specific examples to copy, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n\n\u003cspan id=\"label-Authentication\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"authentication\"\u003e\u003ca href=\"#authentication\"\u003eAuthentication\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eTo authenticate, get your API token from \u003ca href=\"/api_tokens\"\u003ethe API token page\u003c/a\u003e and then apply it in your API calls as request headers:\u003c/p\u003e\n\n\u003cpre\u003e\u0026#39;Authorization\u0026#39;: \u0026quot;Bearer \u0026lt;token\u0026gt;\u0026quot;\u003c/pre\u003e\n\n\u003cspan id=\"label-Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"examples\"\u003e\u003ca href=\"#examples\"\u003eExamples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eCurl\u003c/p\u003e\n\n\u003cpre\u003ecurl -X POST -H \u0026quot;Authorization: Bearer YOUR_API_TOKEN\u0026quot; --data \u0026quot;password[payload]=mypassword\u0026quot; https://pwpush.com/p.json\u003c/pre\u003e\n\n\u003cp\u003eFor more information including language-specific examples to copy, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n\n\u003cspan id=\"label-February+2025+Update+-28v1.4-29\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"february-2025-update-v14\"\u003e\u003ca href=\"#february-2025-update-v14\"\u003eFebruary 2025 Update (v1.4)\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eAdded a new version endpoint to get the current application version, API version, and edition information.  This will be expanded soon to include more information.\u003c/p\u003e\n\n\u003cspan id=\"label-February+2025+Update+-28v1.3-29\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"february-2025-update-v13\"\u003e\u003ca href=\"#february-2025-update-v13\"\u003eFebruary 2025 Update (v1.3)\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eThe API has been updated to use Bearer tokens for authentication and a general cleanup of the API.\u003c/p\u003e\n\n\u003cp\u003eThe X-User-Email and X-User-Token headers are deprecated although they will probably still be supported indefinitely for v1 of the API (and not carried into the eventual APIv2).\u003c/p\u003e\n\n\u003cp\u003eSome clients may need minor updates if they were relying on non-standard behavior.\u003c/p\u003e\n\n\u003cp\u003eIf something has broken recently, please see this \u003ca href=\"https://github.com/pglombardo/PasswordPusher/pull/3068\"\u003epull request\u003c/a\u003e for more details.\u003c/p\u003e\n\n\u003cspan id=\"label-May+2024+Update\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"may-2024-update\"\u003e\u003ca href=\"#may-2024-update\"\u003eMay 2024 Update\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003e/f and /r paths are now merged into /p.  Please use /p/* \u0026amp; /p.json for all new API calls.\u003c/p\u003e\n","copyright":"\u0026copy; 2011-Present Peter Giacomo Lombardo","doc_url":"/api/1.5","api_url":"","resources":{"pushes":{"doc_url":"/api/1.5/pushes","id":"pushes","api_url":"","name":"Pushes","short_description":"Interact directly with pushes.","full_description":"","version":"1.5","formats":null,"metadata":null,"methods":[{"doc_url":"/api/1.5/pushes/show","name":"show","apis":[{"api_url":"/p/:url_token.json","http_method":"GET","short_description":"Retrieve a push.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Retrieving+a+Push\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"retrieving-a-push\"\u003e\u003ca href=\"#retrieving-a-push\"\u003eRetrieving a Push\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eRetrieves a push and its payload. If the push is active, this request will count as a view and be logged in the audit log.\u003c/p\u003e\n\n\u003cspan id=\"label-Security+Features\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch3 id=\"security-features\"\u003e\u003ca href=\"#security-features\"\u003eSecurity Features\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003ePassphrase protection - Requires a passphrase to view.\u003c/p\u003e\n\n\u003cp\u003eProvide the passphrase as a GET parameter: ?passphrase=xxx\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cspan id=\"label-Language+Specific+Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"language-specific-examples\"\u003e\u003ca href=\"#language-specific-examples\"\u003eLanguage Specific Examples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eFor language-specific examples and detailed API documentation, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n","errors":[],"params":[{"name":"url_token","full_name":"url_token","description":"\n\u003cp\u003eSecret URL token of a previously created push.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/api/1.5/pushes/create","name":"create","apis":[{"api_url":"/p.json","http_method":"POST","short_description":"Create a new push.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Creating+a+New+Push\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"creating-a-new-push\"\u003e\u003ca href=\"#creating-a-new-push\"\u003eCreating a New Push\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eCreates a new push (secret URL) containing the provided payload. The payload can be:\u003c/p\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003eText/password (default)\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eFile attachments (requires authentication \u0026amp; subscription)\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eURLs\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eQR codes\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cspan id=\"label-Required+Parameters\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch3 id=\"required-parameters\"\u003e\u003ca href=\"#required-parameters\"\u003eRequired Parameters\u003c/a\u003e\u003c/h3\u003e\n\n\u003cp\u003eThe 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.\u003c/p\u003e\n\n\u003cspan id=\"label-Expiration+Settings\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch3 id=\"expiration-settings\"\u003e\u003ca href=\"#expiration-settings\"\u003eExpiration Settings\u003c/a\u003e\u003c/h3\u003e\n\n\u003cp\u003ePushes can be configured to expire after:\u003c/p\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003eA number of views (expire_after_views)\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eA number of days (expire_after_days)\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eBoth views and days (first trigger wins)\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cspan id=\"label-Security+Options\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch3 id=\"security-options\"\u003e\u003ca href=\"#security-options\"\u003eSecurity Options\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003ePassphrase protection requires viewers to enter a secret phrase\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eRetrieval step helps prevent automated URL scanners from burning views\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eDeletable by viewer allows recipients to manually expire the push\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cspan id=\"label-Language+Specific+Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"language-specific-examples\"\u003e\u003ca href=\"#language-specific-examples\"\u003eLanguage Specific Examples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eSee language specific examples in the docs: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n\n\u003cspan id=\"label-Example+Request\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-request\"\u003e\u003ca href=\"#example-request\"\u003eExample Request\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre\u003ecurl -X POST \\\n  -H \u0026quot;X-User-Email: user@example.com\u0026quot; \\\n  -H \u0026quot;X-User-Token: MyAPIToken\u0026quot; \\\n  -H \u0026quot;Content-Type: application/json\u0026quot; \\\n  -d \u0026#39;{\u0026quot;password\u0026quot;: {\u0026quot;payload\u0026quot;: \u0026quot;secret_text\u0026quot;}}\u0026#39; \\\n  https://pwpush.com/p.json\u003c/pre\u003e\n\n\u003cspan id=\"label-Example+Response\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-response\"\u003e\u003ca href=\"#example-response\"\u003eExample Response\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre class=\"ruby\"\u003e{\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;url_token\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;fkwjfvhall92\u0026quot;\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;html_url\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;https://pwpush.com/p/fkwjfvhall92\u0026quot;\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;json_url\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;https://pwpush.com/p/fkwjfvhall92.json\u0026quot;\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;created_at\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;2023-10-20T15:32:01Z\u0026quot;\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;expires_at\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;2023-10-20T15:32:01Z\u0026quot;\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;views_remaining\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-value\"\u003e10\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;views_total\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-value\"\u003e10\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;files\u0026quot;:\u003c/span\u003e [],\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;passphrase\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-identifier\"\u003enull\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;name\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-identifier\"\u003enull\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;note\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-identifier\"\u003enull\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;expire_after_days\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-identifier\"\u003enull\u003c/span\u003e,\n}\n\u003c/pre\u003e\n","errors":[],"params":[{"name":"password","full_name":"password","description":"\n\u003cp\u003ePush details\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"deprecated":false,"params":[{"name":"payload","full_name":"password[payload]","description":"\n\u003cp\u003eThe URL encoded password or secret text to share.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"files","full_name":"password[files]","description":"\n\u003cp\u003eFile(s) to upload and attach to the push.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be an array of any type","expected_type":"array","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"passphrase","full_name":"password[passphrase]","description":"\n\u003cp\u003eRequire recipients to enter this passphrase to view the created push.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"name","full_name":"password[name]","description":"\n\u003cp\u003eA name shown in the dashboard, notifications and emails.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":true,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"note","full_name":"password[note]","description":"\n\u003cp\u003eIf authenticated, the URL encoded note for this push.  Visible only to the push creator.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":true,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"expire_after_days","full_name":"password[expire_after_days]","description":"\n\u003cp\u003eExpire secret link and delete after this many days.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"expire_after_views","full_name":"password[expire_after_views]","description":"\n\u003cp\u003eExpire secret link and delete after this many views.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"deletable_by_viewer","full_name":"password[deletable_by_viewer]","description":"\n\u003cp\u003eAllow users to delete passwords once retrieved.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"retrieval_step","full_name":"password[retrieval_step]","description":"\n\u003cp\u003eHelps to avoid chat systems and URL scanners from eating up views.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"kind","full_name":"password[kind]","description":"\n\u003cp\u003eThe kind of push to create. Defaults to ‘text’.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etext\u003c/code\u003e, \u003ccode\u003efile\u003c/code\u003e, \u003ccode\u003eurl\u003c/code\u003e, \u003ccode\u003eqr\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}]}],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/api/1.5/pushes/preview","name":"preview","apis":[{"api_url":"/p/:url_token/preview.json","http_method":"GET","short_description":"Helper endpoint to retrieve the fully qualified secret URL of a push.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Preview+a+Push\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"preview-a-push\"\u003e\u003ca href=\"#preview-a-push\"\u003ePreview a Push\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eThis 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.\u003c/p\u003e\n\n\u003cspan id=\"label-Language+Specific+Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"language-specific-examples\"\u003e\u003ca href=\"#language-specific-examples\"\u003eLanguage Specific Examples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eFor language-specific examples and detailed API documentation, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n","errors":[],"params":[{"name":"url_token","full_name":"url_token","description":"\n\u003cp\u003eSecret URL token of a previously created push.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/api/1.5/pushes/audit","name":"audit","apis":[{"api_url":"/p/:url_token/audit.json","http_method":"GET","short_description":"Retrieve the audit log for a push.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Push+Audit+Log+Retrieval\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"push-audit-log-retrieval\"\u003e\u003ca href=\"#push-audit-log-retrieval\"\u003ePush Audit Log Retrieval\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eReturns the audit log for a push, containing an array of view events with metadata including:\u003c/p\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003eIP address of viewer\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eUser agent\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eReferrer URL\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eTimestamp\u003c/p\u003e\n\u003c/li\u003e\u003cli\u003e\n\u003cp\u003eEvent type (view, failed_view, expire, etc)\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cp\u003eResults are paginated with a maximum of 50 audit log entries per page and 200 pages total.\u003c/p\u003e\n\n\u003cp\u003eAuthentication 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.\u003c/p\u003e\n\n\u003cspan id=\"label-Parameters\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"parameters\"\u003e\u003ca href=\"#parameters\"\u003eParameters\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003e\u003ccode\u003epage\u003c/code\u003e - Page number (default: 1)\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cspan id=\"label-Example+Request\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-request\"\u003e\u003ca href=\"#example-request\"\u003eExample Request\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre\u003ecurl -X GET \\\n  -H \u0026quot;X-User-Email: user@example.com\u0026quot; \\\n  -H \u0026quot;X-User-Token: MyAPIToken\u0026quot; \\\n  https://pwpush.com/p/fk27vnslkd/audit.json?page=1\u003c/pre\u003e\n\n\u003cspan id=\"label-Example+Response\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-response\"\u003e\u003ca href=\"#example-response\"\u003eExample Response\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre class=\"ruby\"\u003e{\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;views\u0026quot;:\u003c/span\u003e [\n    {\n      \u003cspan class=\"ruby-value\"\u003e\u0026quot;ip\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;x.x.x.x\u0026quot;\u003c/span\u003e,\n      \u003cspan class=\"ruby-value\"\u003e\u0026quot;user_agent\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;Mozilla/5.0...\u0026quot;\u003c/span\u003e,\n      \u003cspan class=\"ruby-value\"\u003e\u0026quot;referrer\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;https://example.com\u0026quot;\u003c/span\u003e,\n      \u003cspan class=\"ruby-value\"\u003e\u0026quot;created_at\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;2023-10-20T15:32:01Z\u0026quot;\u003c/span\u003e,\n      \u003cspan class=\"ruby-value\"\u003e\u0026quot;kind\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;view\u0026quot;\u003c/span\u003e\n    }\n  ]\n}\n\u003c/pre\u003e\n\n\u003cspan id=\"label-Language+Specific+Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"language-specific-examples\"\u003e\u003ca href=\"#language-specific-examples\"\u003eLanguage Specific Examples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eFor language-specific examples and detailed API documentation, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n","errors":[],"params":[{"name":"url_token","full_name":"url_token","description":"\n\u003cp\u003eSecret URL token of a previously created push.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/api/1.5/pushes/destroy","name":"destroy","apis":[{"api_url":"/p/:url_token.json","http_method":"DELETE","short_description":"Expire a push: delete the payload and expire the secret URL.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Push+Expiration\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"push-expiration\"\u003e\u003ca href=\"#push-expiration\"\u003ePush Expiration\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eExpires a push immediately.  Must be authenticated \u0026amp; owner of the push \u003cem\u003eor\u003c/em\u003e the push must have been created with \u003cem\u003edeleteable_by_viewer\u003c/em\u003e.\u003c/p\u003e\n\n\u003cspan id=\"label-Example+Request\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-request\"\u003e\u003ca href=\"#example-request\"\u003eExample Request\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre\u003ecurl -X DELETE \\\n  -H \u0026quot;X-User-Email: user@example.com\u0026quot; \\\n  -H \u0026quot;X-User-Token: MyAPIToken\u0026quot; \\\n  https://pwpush.com/p/fkwjfvhall92.json\u003c/pre\u003e\n\n\u003cspan id=\"label-Example+Response\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-response\"\u003e\u003ca href=\"#example-response\"\u003eExample Response\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre class=\"ruby\"\u003e{\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;expired\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-keyword\"\u003etrue\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;expired_on\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;2023-10-20T15:32:01Z\u0026quot;\u003c/span\u003e\n}\n\u003c/pre\u003e\n\n\u003cspan id=\"label-Language+Specific+Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"language-specific-examples\"\u003e\u003ca href=\"#language-specific-examples\"\u003eLanguage Specific Examples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eFor language-specific examples and detailed API documentation, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n","errors":[],"params":[{"name":"url_token","full_name":"url_token","description":"\n\u003cp\u003eSecret URL token of a previously created push.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/api/1.5/pushes/active","name":"active","apis":[{"api_url":"/p/active.json","http_method":"GET","short_description":"Retrieve your active pushes.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Active+Pushes+Retrieval\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"active-pushes-retrieval\"\u003e\u003ca href=\"#active-pushes-retrieval\"\u003eActive Pushes Retrieval\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eReturns the list of pushes that are still active. Results are paginated with a maximum of 50 pushes per page and 200 pages total.\u003c/p\u003e\n\n\u003cspan id=\"label-Parameters\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"parameters\"\u003e\u003ca href=\"#parameters\"\u003eParameters\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003e\u003ccode\u003epage\u003c/code\u003e - Page number (default: 1)\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cspan id=\"label-Example+Request\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-request\"\u003e\u003ca href=\"#example-request\"\u003eExample Request\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre\u003ecurl -X GET \\\n  -H \u0026quot;X-User-Email: user@example.com\u0026quot; \\\n  -H \u0026quot;X-User-Token: MyAPIToken\u0026quot; \\\n  https://pwpush.com/p/active.json\u003c/pre\u003e\n\n\u003cspan id=\"label-Example+Response\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-response\"\u003e\u003ca href=\"#example-response\"\u003eExample Response\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre\u003e[\n  {\n    \u0026quot;url_token\u0026quot;: \u0026quot;fkwjfvhall92\u0026quot;,\n    \u0026quot;html_url\u0026quot;: \u0026quot;https://pwpush.com/p/fkwjfvhall92\u0026quot;,\n    \u0026quot;json_url\u0026quot;: \u0026quot;https://pwpush.com/p/fkwjfvhall92.json\u0026quot;,\n    \u0026quot;created_at\u0026quot;: \u0026quot;2023-10-20T15:32:01Z\u0026quot;,\n    \u0026quot;expires_at\u0026quot;: \u0026quot;2023-10-20T15:32:01Z\u0026quot;,\n    ...\n  },\n  ...\n]\u003c/pre\u003e\n\n\u003cspan id=\"label-Language+Specific+Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"language-specific-examples\"\u003e\u003ca href=\"#language-specific-examples\"\u003eLanguage Specific Examples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eFor language-specific examples and detailed API documentation, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/api/1.5/pushes/expired","name":"expired","apis":[{"api_url":"/p/expired.json","http_method":"GET","short_description":"Retrieve your expired pushes.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Expired+Pushes+Retrieval\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"expired-pushes-retrieval\"\u003e\u003ca href=\"#expired-pushes-retrieval\"\u003eExpired Pushes Retrieval\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eReturns the list of pushes that have expired. Results are paginated with a maximum of 50 pushes per page and 200 pages total.\u003c/p\u003e\n\n\u003cspan id=\"label-Parameters\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"parameters\"\u003e\u003ca href=\"#parameters\"\u003eParameters\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\u003cli\u003e\n\u003cp\u003e\u003ccode\u003epage\u003c/code\u003e - Page number (default: 1)\u003c/p\u003e\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cspan id=\"label-Example+Request\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-request\"\u003e\u003ca href=\"#example-request\"\u003eExample Request\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre\u003ecurl -X GET \\\n  -H \u0026quot;X-User-Email: user@example.com\u0026quot; \\\n  -H \u0026quot;X-User-Token: MyAPIToken\u0026quot; \\\n  https://pwpush.com/p/expired.json\u003c/pre\u003e\n\n\u003cspan id=\"label-Example+Response\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"example-response\"\u003e\u003ca href=\"#example-response\"\u003eExample Response\u003c/a\u003e\u003c/h2\u003e\n\n\u003cpre\u003e[\n  {\n    \u0026quot;url_token\u0026quot;: \u0026quot;fkwjfvhall92\u0026quot;,\n    \u0026quot;html_url\u0026quot;: \u0026quot;https://pwpush.com/p/fkwjfvhall92\u0026quot;,\n    \u0026quot;json_url\u0026quot;: \u0026quot;https://pwpush.com/p/fkwjfvhall92.json\u0026quot;,\n    \u0026quot;created_at\u0026quot;: \u0026quot;2023-10-20T15:32:01Z\u0026quot;,\n    \u0026quot;expires_at\u0026quot;: \u0026quot;2023-10-20T15:32:01Z\u0026quot;,\n    ...\n  },\n  ...\n]\u003c/pre\u003e\n\n\u003cspan id=\"label-Language+Specific+Examples\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"language-specific-examples\"\u003e\u003ca href=\"#language-specific-examples\"\u003eLanguage Specific Examples\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eFor language-specific examples and detailed API documentation, see: \u003ca href=\"https://docs.pwpush.com/docs/json-api\"\u003edocs.pwpush.com/docs/json-api\u003c/a\u003e/\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"version":{"doc_url":"/api/1.5/version","id":"version","api_url":"","name":"Version","short_description":null,"full_description":"","version":"1.5","formats":null,"metadata":null,"methods":[{"doc_url":"/api/1.5/version/show","name":"show","apis":[{"api_url":"/api/v1/version.json","http_method":"GET","short_description":"Get the version details of the application and the API.","deprecated":null}],"formats":["JSON"],"full_description":"\n\u003cspan id=\"label-Version+Information\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch2 id=\"version-information\"\u003e\u003ca href=\"#version-information\"\u003eVersion Information\u003c/a\u003e\u003c/h2\u003e\n\n\u003cp\u003eRetrieves the current application version, API version, edition and other information.\u003c/p\u003e\n\n\u003cspan id=\"label-Example+Request\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch3 id=\"example-request\"\u003e\u003ca href=\"#example-request\"\u003eExample Request\u003c/a\u003e\u003c/h3\u003e\n\n\u003cpre\u003ecurl -X GET \\\n  -H \u0026quot;Authorization: Bearer MyAPIToken\u0026quot; \\\n  https://pwpush.com/api/v1/version.json\u003c/pre\u003e\n\n\u003cspan id=\"label-Example+Response\" class=\"legacy-anchor\"\u003e\u003c/span\u003e\n\u003ch3 id=\"example-response\"\u003e\u003ca href=\"#example-response\"\u003eExample Response\u003c/a\u003e\u003c/h3\u003e\n\n\u003cpre class=\"ruby\"\u003e{\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;application_version\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;2.1.0\u0026quot;\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;api_version\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;1\u0026quot;\u003c/span\u003e,\n  \u003cspan class=\"ruby-value\"\u003e\u0026quot;edition\u0026quot;:\u003c/span\u003e \u003cspan class=\"ruby-string\"\u003e\u0026quot;oss\u0026quot;\u003c/span\u003e\n}\n\u003c/pre\u003e\n","errors":[],"params":[],"returns":[],"examples":[],"metadata":null,"see":[],"headers":[],"show":true}],"headers":null,"deprecated":null}}}}