curl --header 'Access-Token: <your_access_token_here>' \ https://api.pushbullet.com/v2/users/me
{ "created": 1.381092887398433e+09, "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujpah72o0", "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45", "max_upload_size": 2.62144e+07, "modified": 1.441054560741007e+09, "name": "Elon Musk" }
curl --header 'Access-Token: <your_access_token_here>' \ https://api.pushbullet.com/v2/users/me
{ "created": 1.381092887398433e+09, "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujpah72o0", "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45", "max_upload_size": 2.62144e+07, "modified": 1.441054560741007e+09, "name": "Elon Musk" }
{ "created": 1.35794175382879e+09, "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.39932599218423e+09 }
{ "error": { "cat": "~(=^‥^)", "message": "The resource could not be found.", "type": "invalid_request" } }
X-Ratelimit-Limit: 32768 X-Ratelimit-Remaining: 32765 X-Ratelimit-Reset: 1432447070
{ "client_id": "YW7uItOzxPFx8vJ4", "client_secret": "MmA98EDg0pjr4fZw", "iden": "ujpah72o0sjAoRtnM0jc", "image_url": "http://www.catpusher.com/logo.png", "name": "Cat Pusher", "redirect_uri": "http://www.catpusher.com/auth_complete", "website_url": "http://www.catpusher.com" }
https://www.pushbullet.com/authorize?client_id=YW7uItOzxPFx8vJ4&redirect_uri=http%3A%2F%2Fwww.catpusher.com%2Fauth_complete&response_type=code
https://www.pushbullet.com/authorize?client_id=YW7uItOzxPFx8vJ4&redirect_uri=https%3A%2F%2Fwww.pushbullet.com%2Flogin-success&response_type=token
https://www.pushbullet.com/login-success#access_token=o.RUe7IZgC6384GrI1
https://www.pushbullet.com/authorize?client_id=YW7uItOzxPFx8vJ4&redirect_uri=http%3A%2F%2Fwww.catpusher.com%2Fauth_complete&response_type=code
http://www.catpusher.com/auth_complete?code=RUe7IZgC6384GrI1
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"client_id":"YW7uItOzxPFx8vJ4","client_secret":"MmA98EDg0pjr4fZw","code":"RUe7IZgC6384GrI1","grant_type":"authorization_code"}' \ --request POST \ https://api.pushbullet.com/oauth2/token
{ "access_token": "a6FJVAA0LVJKrT8k", "token_type": "Bearer" }
curl --header 'Access-Token: <your_access_token_here>' \ https://api.pushbullet.com/v2/users/me
{ "created": 1.381092887398433e+09, "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujpah72o0", "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45", "max_upload_size": 2.62144e+07, "modified": 1.441054560741007e+09, "name": "Elon Musk" }
var pseudorandom_function = forge.md.sha256.create(); var password = "hunter2"; var salt = "up0snaKOsn"; var iterations = 30000; var derived_key_length_bytes = 32; // 256-bit var key = forge.pkcs5.pbkdf2( password, salt, iterations, derived_key_length_bytes, pseudorandom_function ) // encode to base64 so we can easily print the key // (normally it's in binary and can't be printed) var base64_key = btoa(key); console.log("base64_key:", base64_key);
encoded_message = "1" + tag + initialization_vector + encrypted_message
// convert key from base64 to binary var key = atob("1sW28zp7CWv5TtGjlQpDHHG4Cbr9v36fG5o4f74LsKg="); var initialization_vector = forge.random.getBytes(12); // 96-bit var message = "meow!"; var cipher = forge.cipher.createCipher('AES-GCM', key); cipher.start({"iv": initialization_vector}); cipher.update(forge.util.createBuffer(forge.util.encodeUtf8(message))); cipher.finish(); var tag = cipher.mode.tag.getBytes(); var encrypted_message = cipher.output.getBytes(); var encoded_message = "1" + tag + initialization_vector + encrypted_message; var base64_encoded_message = btoa(encoded_message); console.log("base64_encoded_message:", base64_encoded_message);
var key = atob("1sW28zp7CWv5TtGjlQpDHHG4Cbr9v36fG5o4f74LsKg="); var encoded_message = atob("MSfJxxY5YdjttlfUkCaKA57qU9SuCN8+ZhYg/xieI+lDnQ=="); var version = encoded_message.substr(0, 1); var tag = encoded_message.substr(1, 16); // 128 bits var initialization_vector = encoded_message.substr(17, 12); // 96 bits var encrypted_message = encoded_message.substr(29); if (version != "1") { throw "invalid version" } var decipher = forge.cipher.createDecipher('AES-GCM', key); decipher.start({ 'iv': initialization_vector, 'tag': tag }); decipher.update(forge.util.createBuffer(encrypted_message)); decipher.finish(); var message = decipher.output.toString('utf8'); console.log("message:", message);
{ "push": { "data": { "key1": "value1", "key2": "value2" } }, "type": "push" }
{ "push": { "ciphertext": "MXAdvN64uXWtLXCRaqYHEtGhiogR1VHyXX21Lpjp4jv3v+JWygMBA9Wp5npbQdfeZAgOZI+JT3y3pbmq+OrKXrK1rg==", "encrypted": true }, "type": "push" }
{ "key1": "value1", "key2": "value2" }
{ "type": "nop" }
{ "subtype": "push", "type": "tickle" }
{ "push": { "cat": "meow" }, "type": "push" }
{ "push": { "application_name": "Pushbullet", "body": "If you see this on your computer, mirroring is working!\n", "created": 1.39935096416497e+09, "dismissable": true, "icon": "iVBORw0KGgoAAAANSUhEBgUzC42AAAADNElEQVRo\ng==\n", "iden": "1e443556ba3217c", "notification_id": "-8", "notification_tag": null, "package_name": "com.pushbullet.android", "receiver_email": "[email protected]", "receiver_email_normalized": "[email protected]", "receiver_iden": "ujpah72o0", "sender_email": "[email protected]", "sender_email_normalized": "[email protected]", "sender_iden": "ujpah72o0", "source_device_iden": "ujpah72o0sjAoRtnM0jc", "title": "Mirroring test", "type": "mirror" }, "type": "push" }
{ "push": { "created": 1.39935096622458e+09, "iden": "1e443556ba3217c", "notification_id": "-8", "notification_tag": null, "package_name": "com.pushbullet.android", "receiver_email": "[email protected]", "receiver_email_normalized": "[email protected]", "receiver_iden": "ujpah72o0", "sender_email": "[email protected]", "sender_email_normalized": "[email protected]", "sender_iden": "ujpah72o0", "source_device_iden": "ujpah72o0sjAoRtnM0jc", "type": "dismissal" }, "type": "push" }
{ "subtype": "push", "type": "tickle" }
GET https://api.pushbullet.com/v2/pushes?modified_after=1399008037.849
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{}' \ --request POST \ https://api.pushbullet.com/v2/ephemerals
{ "push": { "cat": "meow" }, "type": "push" }
{ "push": { "conversation_iden": "+1 303 555 1212", "message": "Hello!", "package_name": "com.pushbullet.android", "source_user_iden": "ujpah72o0", "target_device_iden": "ujpah72o0sjAoRtnM0jc", "type": "messaging_extension_reply" }, "type": "push" }
{ "push": { "application_name": "Pushbullet", "body": "If you see this on your computer, Android-to-PC notifications are working!\n", "client_version": 125, "dismissable": true, "has_root": false, "icon": "(base64_encoded_jpeg)", "notification_id": "-8", "notification_tag": null, "package_name": "com.pushbullet.android", "source_device_iden": "ujpah72o0sjAoRtnM0jc", "source_user_iden": "ujpah72o0", "title": "Mirroring test", "type": "mirror" }, "type": "push" }
{ "push": { "notification_id": "-8", "notification_tag": null, "package_name": "com.pushbullet.android", "source_user_iden": "ujpah72o0", "type": "dismissal" }, "type": "push" }
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{}' \ --request POST \ https://api.pushbullet.com/v2/ephemerals
{ "push": { "notification_id": "-8", "notification_tag": null, "package_name": "com.pushbullet.android", "source_user_iden": "ujpah72o0", "type": "dismissal" }, "type": "push" }
{ "push": { "body": "http://www.google.com", "source_device_iden": "ujpah72o0sjAoRtnM0jc", "source_user_iden": "ujpah72o0", "type": "clip" }, "type": "push" }
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{}' \ --request POST \ https://api.pushbullet.com/v2/ephemerals
{ "push": { "body": "http://www.google.com", "source_device_iden": "ujpah72o0sjAoRtnM0jc", "source_user_iden": "ujpah72o0", "type": "clip" }, "type": "push" }
Field | Type | Description |
---|---|---|
iden | string | Unique identifier for this object Example: "ujpah72o0sjAoRtnM0jc" |
active | bool | false if the item has been deleted Example: true |
created | float | Creation time in floating point seconds (unix timestamp) Example: 1.381092887398433e+09 |
modified | float | Last modified time in floating point seconds (unix timestamp) Example: 1.441054560741007e+09 |
muted | bool | If true, notifications from this chat will not be shown Example: false |
with | object | The user or email that the chat is with |
string | Email address of the person Example: "[email protected]" | |
↳ email_normalized | string | Canonical email address of the person Example: "[email protected]" |
↳ iden | string | If this is a user, the iden of that user Example: "ujlMns72k" |
↳ image_url | string | Image to display for the person Example: "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg" |
↳ type | string | "email" or "user" Example: "user" |
↳ name | string | Name of the person Example: "John Carmack" |
{ "active": true, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09, "with": { "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujlMns72k", "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg", "name": "John Carmack", "type": "user" } }
GET https://api.pushbullet.com/v2/chats
Field | Type | Description |
---|---|---|
chats | []Chat | Array of Chat objects ordered with most recently modified first |
curl --header 'Access-Token: <your_access_token_here>' \ https://api.pushbullet.com/v2/chats
{ "chats": [ { "active": true, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09, "with": { "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujlMns72k", "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg", "name": "John Carmack", "type": "user" } } ] }
POST https://api.pushbullet.com/v2/chats
Field | Type | Description |
---|---|---|
string | Email of person to create chat with (does not have to be a Pushbullet user) Example: "[email protected]" |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"email":"[email protected]"}' \ --request POST \ https://api.pushbullet.com/v2/chats
{ "active": true, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09, "with": { "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujlMns72k", "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg", "name": "John Carmack", "type": "user" } }
POST https://api.pushbullet.com/v2/chats/{iden}
Field | Type | Description |
---|---|---|
muted | bool | true to mute the grant, false to unmute it Example: true |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"muted":true}' \ --request POST \ https://api.pushbullet.com/v2/chats/ujpah72o0sjAoRtnM0jc
{ "active": true, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412094382919271e+09, "muted": true, "with": { "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujlMns72k", "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg", "name": "John Carmack", "type": "user" } }
DELETE https://api.pushbullet.com/v2/chats/{iden}
curl --header 'Access-Token: <your_access_token_here>' \ --request DELETE \ https://api.pushbullet.com/v2/chats/ujpah72o0sjAoRtnM0jc
{}
Field | Type | Description |
---|---|---|
iden | string | Unique identifier for this object Example: "ujpah72o0sjAoRtnM0jc" |
active | bool | false if the item has been deleted Example: true |
created | float | Creation time in floating point seconds (unix timestamp) Example: 1.381092887398433e+09 |
modified | float | Last modified time in floating point seconds (unix timestamp) Example: 1.441054560741007e+09 |
icon | string | Icon to use for this device, can be an arbitrary string. Commonly used values are: "desktop", "browser", "website", "laptop", "tablet", "phone", "watch", "system" Example: "ios" |
nickname | string | Name to use when displaying the device Example: "Elon Musk's iPhone" |
generated_nickname | bool | true if the nickname was automatically generated from the manufacturer and model fields (only used for some android phones) Example: true |
manufacturer | string | Manufacturer of the device Example: "Apple" |
model | string | Model of the device Example: "iPhone 5s (GSM)" |
app_version | int | Version of the Pushbullet application installed on the device Example: 8623 |
fingerprint | string | String fingerprint for the device, used by apps to avoid duplicate devices. Value is platform-specific. Example: "nLN19IRNzS5xidPF+X8mKGNRpQo2X6XBgyO30FL6OiQ=" |
push_token | string | Platform-specific push token. Normally a prefix followed by an identifier. Prefixes are set per-app, if you want to receive push notifications in your app, contact [email protected] with your push backend credentials to get a prefix. Example: "production:f73be0ee7877c8c7fa69b1468cde764f" |
has_sms | string | true if the devices has SMS capability, currently only true for type="android" devices Example: true |
type | string | DEPRECATED, use icon field instead. Type of device, can be an arbitrary string. Commonly used values are: "android", "chrome", "firefox", "ios", "windows", "stream", "safari", "mac", "opera", "website" |
kind | string | DEPRECATED, old name for type |
pushable | bool | DEPRECATED, used to be for partially-initialized type="android" devices |
{ "active": true, "app_version": 8623, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "manufacturer": "Apple", "model": "iPhone 5s (GSM)", "modified": 1.412047948579031e+09, "nickname": "Elon Musk's iPhone", "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f" }
GET https://api.pushbullet.com/v2/devices
Field | Type | Description |
---|---|---|
devices | []Device | Array of Device objects ordered with most recently modified first |
curl --header 'Access-Token: <your_access_token_here>' \ https://api.pushbullet.com/v2/devices
{ "devices": [ { "active": true, "app_version": 8623, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "manufacturer": "Apple", "model": "iPhone 5s (GSM)", "modified": 1.412047948579031e+09, "nickname": "Elon Musk's iPhone", "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f" } ] }
POST https://api.pushbullet.com/v2/devices
Field | Type | Description |
---|---|---|
nickname | string | Name to use when displaying the device Example: "Elon Musk's iPhone" |
model | string | Model of the device Example: "iPhone 5s (GSM)" |
manufacturer | string | Manufacturer of the device Example: "Apple" |
push_token | string | Platform-specific push token. Normally a prefix followed by an identifier. Prefixes are set per-app, if you want to receive push notifications in your app, contact [email protected] with your push backend credentials to get a prefix. Example: "production:f73be0ee7877c8c7fa69b1468cde764f" |
app_version | int | Version of the Pushbullet application installed on the device Example: 8623 |
icon | string | Icon to use for this device, can be an arbitrary string. Commonly used values are: "desktop", "browser", "website", "laptop", "tablet", "phone", "watch", "system" Example: "ios" |
has_sms | string | true if the devices has SMS capability, currently only true for type="android" devices Example: true |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"app_version":8623,"manufacturer":"Apple","model":"iPhone 5s (GSM)","nickname":"Elon Musk's iPhone","push_token":"production:f73be0ee7877c8c7fa69b1468cde764f"}' \ --request POST \ https://api.pushbullet.com/v2/devices
{ "active": true, "app_version": 8623, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "manufacturer": "Apple", "model": "iPhone 5s (GSM)", "modified": 1.412047948579031e+09, "nickname": "Elon Musk's iPhone", "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f" }
POST https://api.pushbullet.com/v2/devices/{iden}
Field | Type | Description |
---|---|---|
nickname | string | Name to use when displaying the device Example: "Elon Musk's iPhone" |
model | string | Model of the device Example: "iPhone 5s (GSM)" |
manufacturer | string | Manufacturer of the device Example: "Apple" |
push_token | string | Platform-specific push token. Normally a prefix followed by an identifier. Prefixes are set per-app, if you want to receive push notifications in your app, contact [email protected] with your push backend credentials to get a prefix. Example: "production:f73be0ee7877c8c7fa69b1468cde764f" |
app_version | int | Version of the Pushbullet application installed on the device Example: 8623 |
icon | string | Icon to use for this device, can be an arbitrary string. Commonly used values are: "desktop", "browser", "website", "laptop", "tablet", "phone", "watch", "system" Example: "ios" |
has_sms | string | true if the devices has SMS capability, currently only true for type="android" devices Example: true |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"nickname":"Work Phone"}' \ --request POST \ https://api.pushbullet.com/v2/devices/ujpah72o0sjAoRtnM0jc
{ "active": true, "app_version": 8623, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "manufacturer": "Apple", "model": "iPhone 5s (GSM)", "modified": 1.412094382919271e+09, "nickname": "Work Phone", "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f" }
DELETE https://api.pushbullet.com/v2/devices
curl --header 'Access-Token: <your_access_token_here>' \ --request DELETE \ https://api.pushbullet.com/v2/devices/ujpah72o0sjAoRtnM0jc
{}
Field | Type | Description |
---|---|---|
iden | string | Unique identifier for this object Example: "ujpah72o0sjAoRtnM0jc" |
active | bool | false if the item has been deleted Example: true |
created | float | Creation time in floating point seconds (unix timestamp) Example: 1.381092887398433e+09 |
modified | float | Last modified time in floating point seconds (unix timestamp) Example: 1.441054560741007e+09 |
type | string | Type of the push, one of "note", "file", "link". Deprecated values: "list" and "address" Example: "note" |
dismissed | bool | true if the push has been dismissed by any device or if any device was active when the push was received Example: false |
guid | string | Unique identifier set by the client, used to identify a push in case you receive it from /v2/everything before the call to /v2/pushes has completed. This should be a unique value. Pushes with guid set are mostly idempotent, meaning that sending another push with the same guid is unlikely to create another push (it will return the previously created push). Example: "993aaa48567d91068e96c75a74644159" |
direction | string | Direction the push was sent in, can be "self", "outgoing", or "incoming" Example: "self" |
sender_iden | string | User iden of the sender Example: "ujpah72o0" |
sender_email | string | Email address of the sender Example: "[email protected]" |
sender_email_normalized | string | Canonical email address of the sender Example: "[email protected]" |
sender_name | string | Name of the sender Example: "Elon Musk" |
receiver_iden | string | User iden of the receiver Example: "ujpah72o0" |
receiver_email | string | Email address of the receiver Example: "[email protected]" |
receiver_email_normalized | string | Canonical email address of the receiver Example: "[email protected]" |
target_device_iden | string | Device iden of the target device, if sending to a single device Example: "ujpah72o0sjAoRtnM0jc" |
source_device_iden | string | Device iden of the sending device. Optionally set by the sender when creating a push Example: "ujpah72o0sjAoRtnM0jc" |
client_iden | string | If the push was created by a client, set to the iden of that client. Example: "ujpah72o0sjAoRtnM0jc" |
channel_iden | string | If the push was created by a channel, set to the iden of that channel Example: "ujpah72o0sjAoRtnM0jc" |
awake_app_guids | []string | List of guids (client side identifiers, not the guid field on pushes) for awake apps at the time the push was sent. If the length of this list is > 0, dismissed will be set to true and the awake app(s) must decide what to do with the notification Example: ["web-2d8cdf2a2b9b","web-cdb2313c74e"] |
title | string | Title of the push, used for all types of pushes Example: "Space Travel Ideas" |
body | string | Body of the push, used for all types of pushes Example: "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)" |
url | string | URL field, used for type="link" pushes Example: "http://www.teslamotors.com/" |
file_name | string | File name, used for type="file" pushes Example: "john.jpg" |
file_type | string | File mime type, used for type="file" pushes Example: "image/jpeg" |
file_url | string | File download url, used for type="file" pushes Example: "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg" |
image_url | string | URL to an image to use for this push, present on type="file" pushes if file_type matches image/* Example: "https://lh3.googleusercontent.com/mrrz35lLbiYAz8ejkJcpdsYhN3tMEtrXxj93k_gQPin4GfdDjVy2Bj26pOGrpFQmAM7OFBHcDfdMjrScg3EUIJrgJeY" |
image_width | int | Width of image in pixels, only present if image_url is set Example: 322 |
image_height | int | Height of image in pixels, only present if image_url is set Example: 484 |
name | string | DEPRECATED, used to be for type="address" pushes |
items | []object | DEPRECATED, used to be for type="list" pushes |
{ "active": true, "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)", "created": 1.412047948579029e+09, "direction": "self", "dismissed": false, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09, "receiver_email": "[email protected]", "receiver_email_normalized": "[email protected]", "receiver_iden": "ujpah72o0", "sender_email": "[email protected]", "sender_email_normalized": "[email protected]", "sender_iden": "ujpah72o0", "sender_name": "Elon Musk", "title": "Space Travel Ideas", "type": "note" }
GET https://api.pushbullet.com/v2/pushes
Field | Type | Description |
---|---|---|
modified_after | string | Request pushes modified after this timestamp Example: 1.4e+09 |
active | string | Don't return deleted pushes Example: true |
cursor | string | Cursor for getting multiple pages of pushes, see Pagination Example: "3eae6fa796b06b51b7bd6ad824b9b63b" |
limit | integer | Limit on the number of results returned, see Pagination Example: 10 |
Field | Type | Description |
---|---|---|
pushes | []Push | Array of Push objects ordered with most recently modified first |
curl --header 'Access-Token: <your_access_token_here>' \ --data active=true \ --data modified_after=1.4e%2B09 \ --get \ https://api.pushbullet.com/v2/pushes
{ "pushes": [ { "active": true, "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)", "created": 1.412047948579029e+09, "direction": "self", "dismissed": false, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09, "receiver_email": "[email protected]", "receiver_email_normalized": "[email protected]", "receiver_iden": "ujpah72o0", "sender_email": "[email protected]", "sender_email_normalized": "[email protected]", "sender_iden": "ujpah72o0", "sender_name": "Elon Musk", "title": "Space Travel Ideas", "type": "note" } ] }
POST https://api.pushbullet.com/v2/pushes
Field | Type | Description |
---|---|---|
type | string | Type of the push, one of "note", "file", "link". Example: "note" |
title | string | Title of the push, used for all types of pushes Example: "Space Travel Ideas" |
body | string | Body of the push, used for all types of pushes Example: "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)" |
url | string | URL field, used for type="link" pushes Example: "http://www.teslamotors.com/" |
file_name | string | File name, used for type="file" pushes Example: "john.jpg" |
file_type | string | File mime type, used for type="file" pushes Example: "image/jpeg" |
file_url | string | File download url, used for type="file" pushes Example: "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg" |
source_device_iden | string | Device iden of the sending device. Optional. Example: "ujpah72o0sjAoRtnM0jc" |
device_iden | string | Device iden of the target device, if sending to a single device. Appears as target_device_iden on the push. Example: "ujpah72o0sjAoRtnM0jc" |
client_iden | string | Client iden of the target client, sends a push to all users who have granted access to this client. The current user must own this client. Example: "ujpah72o0sjAoRtnM0jc" |
channel_tag | string | Channel tag of the target channel, sends a push to all people who are subscribed to this channel. The current user must own this channel. |
string | Email address to send the push to. If there is a pushbullet user with this address, they get a push, otherwise they get an email. Example: "[email protected]" | |
guid | string | Unique identifier set by the client, used to identify a push in case you receive it from /v2/everything before the call to /v2/pushes has completed. This should be a unique value. Pushes with guid set are mostly idempotent, meaning that sending another push with the same guid is unlikely to create another push (it will return the previously created push). Example: "993aaa48567d91068e96c75a74644159" |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"body":"Space Elevator, Mars Hyperloop, Space Model S (Model Space?)","title":"Space Travel Ideas","type":"note"}' \ --request POST \ https://api.pushbullet.com/v2/pushes
{ "active": true, "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)", "created": 1.412047948579029e+09, "direction": "self", "dismissed": false, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09, "receiver_email": "[email protected]", "receiver_email_normalized": "[email protected]", "receiver_iden": "ujpah72o0", "sender_email": "[email protected]", "sender_email_normalized": "[email protected]", "sender_iden": "ujpah72o0", "sender_name": "Elon Musk", "title": "Space Travel Ideas", "type": "note" }
POST https://api.pushbullet.com/v2/pushes/{iden}
Field | Type | Description |
---|---|---|
dismissed | bool | Marks a push as having been dismissed by the user, will cause any notifications for the push to be hidden if possible. Example: true |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"dismissed":true}' \ --request POST \ https://api.pushbullet.com/v2/pushes/ujpah72o0sjAoRtnM0jc
{ "active": true, "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)", "created": 1.412047948579029e+09, "direction": "self", "dismissed": true, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412094382919271e+09, "receiver_email": "[email protected]", "receiver_email_normalized": "[email protected]", "receiver_iden": "ujpah72o0", "sender_email": "[email protected]", "sender_email_normalized": "[email protected]", "sender_iden": "ujpah72o0", "sender_name": "Elon Musk", "title": "Space Travel Ideas", "type": "note" }
DELETE https://api.pushbullet.com/v2/pushes/{iden}
curl --header 'Access-Token: <your_access_token_here>' \ --request DELETE \ https://api.pushbullet.com/v2/pushes/ujpah72o0sjAoRtnM0jc
{}
DELETE https://api.pushbullet.com/v2/pushes
curl --header 'Access-Token: <your_access_token_here>' \ --request DELETE \ https://api.pushbullet.com/v2/pushes
{}
Field | Type | Description |
---|---|---|
iden | string | Unique identifier for this object Example: "ujpah72o0sjAoRtnM0jc" |
active | bool | false if the item has been deleted Example: true |
created | float | Creation time in floating point seconds (unix timestamp) Example: 1.381092887398433e+09 |
modified | float | Last modified time in floating point seconds (unix timestamp) Example: 1.441054560741007e+09 |
muted | bool | If true, notifications from this subscription will not be shown Example: false |
channel | object | Information about the channel that is being subscribed to |
↳ iden | string | Unique identifier for the channel Example: "ujpah72o0sjAoRtnM0jc" |
↳ tag | string | Unique tag for this channel Example: "elonmusknews" |
↳ name | string | Name of the channel Example: "Elon Musk News" |
↳ description | string | Description of the channel Example: "News about Elon Musk." |
↳ image_url | string | Image for the channel Example: "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg" |
↳ website_url | string | Link to a website for the channel Example: "https://twitter.com/elonmusk" |
{ "active": true, "channel": { "description": "News about Elon Musk.", "iden": "ujxPklLhvyKsjAvkMyTVh6", "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg", "name": "Elon Musk News", "tag": "elonmusknews" }, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09, "muted": false }
GET https://api.pushbullet.com/v2/subscriptions
Field | Type | Description |
---|---|---|
subscriptions | []Subscription | Array of Subscription objects ordered with most recently modified first |
curl --header 'Access-Token: <your_access_token_here>' \ https://api.pushbullet.com/v2/subscriptions
{ "subscriptions": [ { "active": true, "channel": { "description": "News about Elon Musk.", "iden": "ujxPklLhvyKsjAvkMyTVh6", "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg", "name": "Elon Musk News", "tag": "elonmusknews" }, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09 } ] }
POST https://api.pushbullet.com/v2/subscriptions
Field | Type | Description |
---|---|---|
channel_tag | string | Unique tag for the channel to subscribe to Example: "elonmusknews" |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"channel_tag":"elonmusknews"}' \ --request POST \ https://api.pushbullet.com/v2/subscriptions
{ "active": true, "channel": { "description": "News about Elon Musk.", "iden": "ujxPklLhvyKsjAvkMyTVh6", "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg", "name": "Elon Musk News", "tag": "elonmusknews" }, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412047948579031e+09 }
POST https://api.pushbullet.com/v2/subscriptions/{iden}
Field | Type | Description |
---|---|---|
muted | bool | true to mute the subscription, false to unmute it Example: true |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"muted":true}' \ --request POST \ https://api.pushbullet.com/v2/subscriptions/ujpah72o0sjAoRtnM0jc
{ "active": true, "channel": { "description": "News about Elon Musk.", "iden": "ujxPklLhvyKsjAvkMyTVh6", "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg", "name": "Elon Musk News", "tag": "elonmusknews" }, "created": 1.412047948579029e+09, "iden": "ujpah72o0sjAoRtnM0jc", "modified": 1.412094382919271e+09, "muted": true }
DELETE https://api.pushbullet.com/v2/subscriptions/{iden}
curl --header 'Access-Token: <your_access_token_here>' \ --request DELETE \ https://api.pushbullet.com/v2/subscriptions/ujpah72o0sjAoRtnM0jc
{}
GET https://api.pushbullet.com/v2/channel-info
Field | Type | Description |
---|---|---|
tag | string | Tag of the channel to get information for Example: "elonmusknews" |
no_recent_pushes | bool | Don't show recent pushes, defaults to false Example: true |
Field | Type | Description |
---|---|---|
iden | string | Unique identifier for the channel Example: "ujpah72o0sjAoRtnM0jc" |
name | string | Name of the channel Example: "Elon Musk News" |
description | string | Description of the channel Example: "News about Elon Musk" |
image_url | string | Image to display for the channel Example: "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg" |
subscriber_count | int | Number of subscribers to the channel Example: 9382239 |
tag | string | Globally unique identifier for the channel, chosen by the channel creator Example: "elonmusknews" |
recent_pushes | []Push | Array of recent Push objects sent on the channel |
curl --data no_recent_pushes=true \ --data tag=elonmusknews \ --get \ https://api.pushbullet.com/v2/channel-info
{ "active": true, "created": 1.412047948579029e+09, "description": "News about Elon Musk.", "iden": "ujxPklLhvyKsjAvkMyTVh6", "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg", "modified": 1.412047948579031e+09, "name": "Elon Musk News", "subscriber_count": 9.382239e+06, "tag": "elonmusknews" }
Field | Type | Description |
---|---|---|
iden | string | Unique identifier for the current user Example: "ujpah72o0" |
created | float | Creation time in floating point seconds (unix timestamp) Example: 1.381092887398433e+09 |
modified | float | Last modified time in floating point seconds (unix timestamp) Example: 1.441054560741007e+09 |
string | Email address Example: "[email protected]" | |
email_normalized | string | Canonical email address Example: "[email protected]" |
name | string | Full name if available Example: "Elon Musk" |
image_url | string | URL for image of user or placeholder image Example: "https://static.pushbullet.com/missing-image/55a7dc-45" |
max_upload_size | int | Maximum upload size in bytes Example: 26214400 |
referred_count | int | Number of users referred by this user Example: 2 |
referrer_iden | string | User iden for the user that referred the current user, if set Example: "ujlxm0aiz2" |
{ "created": 1.381092887398433e+09, "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujpah72o0", "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45", "max_upload_size": 2.62144e+07, "modified": 1.441054560741007e+09, "name": "Elon Musk" }
GET https://api.pushbullet.com/v2/users/me
curl --header 'Access-Token: <your_access_token_here>' \ https://api.pushbullet.com/v2/users/me
{ "created": 1.381092887398433e+09, "email": "[email protected]", "email_normalized": "[email protected]", "iden": "ujpah72o0", "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45", "max_upload_size": 2.62144e+07, "modified": 1.441054560741007e+09, "name": "Elon Musk" }
curl -i -X POST https://upload.pushbullet.com/upload-legacy/a5e1776d2566a6b16032958697288df4 \ -F [email protected]
HTTP/1.1 204 No Content
POST https://api.pushbullet.com/v2/upload-request
Field | Type | Description |
---|---|---|
file_name | string | The name of the file you want to upload Example: "cat.jpg" |
file_type | string | The MIME type of the file Example: "image/jpeg" |
cursor | string | Cursor for getting multiple pages of pushes, see Pagination Example: "3eae6fa796b06b51b7bd6ad824b9b63b" |
limit | integer | Limit on the number of results returned, see Pagination Example: 10 |
Field | Type | Description |
---|---|---|
file_name | string | The file name that will be used for the file (may be truncated from the original file_name. |
file_type | string | The file type that will be used for the file (may be different from the one provided to upload-request. |
file_url | string | The URL where the file will be available after it is uploaded. |
upload_url | string | The URL to POST the file to. The file must be posted using multipart/form-data encoding. |
data | object | DEPRECATED |
curl --header 'Access-Token: <your_access_token_here>' \ --header 'Content-Type: application/json' \ --data-binary '{"file_name":"cat.jpg","file_type":"image/jpeg"}' \ --request POST \ https://api.pushbullet.com/v2/upload-request
{ "file_name": "cat.jpg", "file_type": "image/jpeg", "file_url": "https://dl.pushbulletusercontent.com/034f197bc6c37cac3cc03542659d458b/cat.jpg", "upload_url": "https://upload.pushbullet.com/upload-legacy/a5e1776d2566a6b16032958697288df4" }
<service android:name=".MyPushbulletExtension" android:permission="com.pushbullet.android.permission.READ_MESSAGING_EXTENSION_DATA"> <intent-filter> <action android:name="com.pushbullet.android.extension.MessagingExtension" /> </intent-filter> <meta-data android:name="protocolVersion" android:value="1" /> </service>
pushbullet://compose?type=note&body=Hello
pushbullet://compose?type=link&url=https%3A%2F%2Fwww.pushbullet.com pushbullet://compose?type=address&address=850%20Bryant%20St