Add changes from source repo
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# BlinkMonitorProtocol
|
# BlinkMonitorProtocol
|
||||||
Unofficial documentation for the Client API of the Blink Wire-Free HD Home Monitoring and Alert System.
|
Unofficial documentation for the Client API of the Blink Wire-Free HD Home Monitoring & Alert System.
|
||||||
|
|
||||||
Copied from https://github.com/MattTW/BlinkMonitorProtocol
|
Copied from https://github.com/MattTW/BlinkMonitorProtocol
|
||||||
|
|
||||||
@@ -7,9 +7,6 @@ I am not affiliated with the company in any way - this documentation is strictly
|
|||||||
|
|
||||||
The Client API is a straightforward REST API using JSON and HTTPS.
|
The Client API is a straightforward REST API using JSON and HTTPS.
|
||||||
|
|
||||||
## This Document
|
|
||||||
The purpose here is to describe what is going on behind the scenes, and what commands we know are available to communicate with Blink servers. This is NOT a description of the blinkpy module, but a description of the commands blinkpy relies on to effectively communicate.
|
|
||||||
|
|
||||||
## Login
|
## Login
|
||||||
|
|
||||||
Client login to the Blink Servers.
|
Client login to the Blink Servers.
|
||||||
@@ -19,20 +16,25 @@ Client login to the Blink Servers.
|
|||||||
> "password" : "*your blink password*",
|
> "password" : "*your blink password*",
|
||||||
> "client_specifier" : "iPhone 9.2 | 2.2 | 222",
|
> "client_specifier" : "iPhone 9.2 | 2.2 | 222",
|
||||||
> "email" : "*your blink login/email*"
|
> "email" : "*your blink login/email*"
|
||||||
>}' --compressed https://prod.immedia-semi.com/login
|
>}' --compressed https://rest.prod.immedia-semi.com/login
|
||||||
|
|
||||||
**Response:**
|
**Response:**
|
||||||
>{"authtoken":{"authtoken":"*an auth token*","message":"auth"}}
|
>{"authtoken":{"authtoken":"*an auth token*","message":"auth"},"networks":{"*network id*":{"name":"*name*","onboarded":true}},"region":{"*regioncode for endpoint*":"*region name"}}
|
||||||
|
|
||||||
**Notes:**
|
**Notes:**
|
||||||
The authtoken value is passed in a header in future calls.
|
The authtoken value is passed in a header in future calls.
|
||||||
|
The region code for endpoint is required to form the URL of the REST endpoint for future calls.
|
||||||
|
Depending on the region you are registered you will need to change the REST endpoints below:
|
||||||
|
- from `https://rest.prod.immedia-semi.com`
|
||||||
|
- to `https://rest.prde.immedia-semi.com` if e.g. your device is registered in Germany
|
||||||
|
Please note that at this moment it seems that all regions are not implemented equally: not all endpoints are available in all regions
|
||||||
|
|
||||||
##Networks
|
## Networks
|
||||||
|
|
||||||
Obtain information about the Blink networks defined for the logged in user.
|
Obtain information about the Blink networks defined for the logged in user.
|
||||||
|
|
||||||
**Request:**
|
**Request:**
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/networks
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/networks
|
||||||
|
|
||||||
**Response:**
|
**Response:**
|
||||||
JSON response containing information including Network ID and Account ID.
|
JSON response containing information including Network ID and Account ID.
|
||||||
@@ -46,7 +48,7 @@ Network ID is needed to issue arm/disarm calls
|
|||||||
Obtain information about the Blink Sync Modules on the given network.
|
Obtain information about the Blink Sync Modules on the given network.
|
||||||
|
|
||||||
**Request:**
|
**Request:**
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/network/*network_id_from_networks_call*/syncmodules
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/network/*network_id_from_networks_call*/syncmodules
|
||||||
|
|
||||||
**Response:**
|
**Response:**
|
||||||
JSON response containing information about the known state of the Sync module, most notably if it is online
|
JSON response containing information about the known state of the Sync module, most notably if it is online
|
||||||
@@ -56,11 +58,11 @@ Probably not strictly needed but checking result can verify that the sync module
|
|||||||
|
|
||||||
|
|
||||||
## Arm
|
## Arm
|
||||||
|
|
||||||
Arm the given network (start recording/reporting motion events)
|
Arm the given network (start recording/reporting motion events)
|
||||||
|
|
||||||
**Request:**
|
**Request:**
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://prod.immedia-semi.com/network/*network_id_from_networks_call*/arm
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://rest.prod.immedia-semi.com/network/*network_id_from_networks_call*/arm
|
||||||
|
|
||||||
**Response:**
|
**Response:**
|
||||||
JSON response containing information about the arm command request, including the command/request ID
|
JSON response containing information about the arm command request, including the command/request ID
|
||||||
@@ -73,7 +75,7 @@ When this call returns, it does not mean the arm request is complete, the clien
|
|||||||
Disarm the given network (stop recording/reporting motion events)
|
Disarm the given network (stop recording/reporting motion events)
|
||||||
|
|
||||||
**Request:**
|
**Request:**
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://prod.immedia-semi.com/network/*network_id_from_networks_call*/disarm
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://rest.prod.immedia-semi.com/network/*network_id_from_networks_call*/disarm
|
||||||
|
|
||||||
**Response:**
|
**Response:**
|
||||||
JSON response containing information about the disarm command request, including the command/request ID
|
JSON response containing information about the disarm command request, including the command/request ID
|
||||||
@@ -87,7 +89,7 @@ When this call returns, it does not mean the disarm request is complete, the cl
|
|||||||
Get status info on the given command
|
Get status info on the given command
|
||||||
|
|
||||||
**Request:**
|
**Request:**
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/network/*network_id*/command/*command_id*
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/network/*network_id*/command/*command_id*
|
||||||
|
|
||||||
**Response:**
|
**Response:**
|
||||||
JSON response containing state information of the given command, most notably whether it has completed and was successful.
|
JSON response containing state information of the given command, most notably whether it has completed and was successful.
|
||||||
@@ -103,7 +105,7 @@ lv_relay, arm, disarm, thumbnail, clip
|
|||||||
Return information displayed on the home screen of the mobile client
|
Return information displayed on the home screen of the mobile client
|
||||||
|
|
||||||
**Request:**
|
**Request:**
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/homescreen
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/homescreen
|
||||||
|
|
||||||
**Response:**
|
**Response:**
|
||||||
JSON response containing information that the mobile client displays on the home page, including: status, armed state, links to thumbnails for each camera, etc.
|
JSON response containing information that the mobile client displays on the home page, including: status, armed state, links to thumbnails for each camera, etc.
|
||||||
@@ -111,12 +113,12 @@ JSON response containing information that the mobile client displays on the home
|
|||||||
**Notes:**
|
**Notes:**
|
||||||
Not necessary to as part of issuing arm/disarm commands, but contains good summary info.
|
Not necessary to as part of issuing arm/disarm commands, but contains good summary info.
|
||||||
|
|
||||||
##Events, thumbnails & video captures
|
## Events, thumbnails & video captures
|
||||||
|
|
||||||
**Request**
|
**Request**
|
||||||
Get events for a given network (sync module) -- Need network ID from home
|
Get events for a given network (sync module) -- Need network ID from home
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/events/network/*network__id*
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/events/network/*network__id*
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
A json list of evets incluing URL's. Replace the "mp4" with "jpg" extension to get the thumbnail of each clip
|
A json list of evets incluing URL's. Replace the "mp4" with "jpg" extension to get the thumbnail of each clip
|
||||||
@@ -144,7 +146,7 @@ Note that you replace the 'mp4' with a 'jpg' to get the thumbnail
|
|||||||
**Request**
|
**Request**
|
||||||
Captures a new thumbnail for a camera
|
Captures a new thumbnail for a camera
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/thumbnail
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://rest.prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/thumbnail
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
Command information.
|
Command information.
|
||||||
@@ -152,17 +154,17 @@ Command information.
|
|||||||
**Request**
|
**Request**
|
||||||
Captures a new video for a camera
|
Captures a new video for a camera
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/clip
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://rest.prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/clip
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
Command information.
|
Command information.
|
||||||
|
|
||||||
##Video Information
|
## Video Information
|
||||||
|
|
||||||
**Request**
|
**Request**
|
||||||
Get the total number of videos in the system
|
Get the total number of videos in the system
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/api/v2/videos/count
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/api/v2/videos/count
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing the total video count.
|
JSON response containing the total video count.
|
||||||
@@ -170,7 +172,7 @@ JSON response containing the total video count.
|
|||||||
**Request**
|
**Request**
|
||||||
Gets a paginated set of video information
|
Gets a paginated set of video information
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/api/v2/videos/page/0
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/api/v2/videos/page/0
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing a set of video information, including: camera name, creation time, thumbnail URI, size, length
|
JSON response containing a set of video information, including: camera name, creation time, thumbnail URI, size, length
|
||||||
@@ -178,7 +180,7 @@ JSON response containing a set of video information, including: camera name, cre
|
|||||||
**Request**
|
**Request**
|
||||||
Gets information for a specific video by ID
|
Gets information for a specific video by ID
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/api/v2/video/*video_id*
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/api/v2/video/*video_id*
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing video information
|
JSON response containing video information
|
||||||
@@ -186,7 +188,7 @@ JSON response containing video information
|
|||||||
**Request**
|
**Request**
|
||||||
Gets a list of unwatched videos
|
Gets a list of unwatched videos
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/api/v2/videos/unwatched
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/api/v2/videos/unwatched
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing unwatched video information
|
JSON response containing unwatched video information
|
||||||
@@ -194,7 +196,7 @@ JSON response containing unwatched video information
|
|||||||
**Request**
|
**Request**
|
||||||
Deletes a video
|
Deletes a video
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://prod.immedia-semi.com/api/v2/video/*video_id*/delete
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://rest.prod.immedia-semi.com/api/v2/video/*video_id*/delete
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
Unknown - not tested
|
Unknown - not tested
|
||||||
@@ -202,7 +204,7 @@ Unknown - not tested
|
|||||||
**Request**
|
**Request**
|
||||||
Deletes all videos
|
Deletes all videos
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://prod.immedia-semi.com/api/v2/videos/deleteall
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --data-binary --compressed https://rest.prod.immedia-semi.com/api/v2/videos/deleteall
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
Unknown - not tested
|
Unknown - not tested
|
||||||
@@ -212,7 +214,7 @@ Unknown - not tested
|
|||||||
**Request**
|
**Request**
|
||||||
Gets a list of cameras
|
Gets a list of cameras
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/network/*network_id*/cameras
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/network/*network_id*/cameras
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing camera information
|
JSON response containing camera information
|
||||||
@@ -220,7 +222,7 @@ JSON response containing camera information
|
|||||||
**Request**
|
**Request**
|
||||||
Gets information for one camera
|
Gets information for one camera
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/network/*network_id*/camera/*camera_id*
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/network/*network_id*/camera/*camera_id*
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing camera information
|
JSON response containing camera information
|
||||||
@@ -228,7 +230,7 @@ JSON response containing camera information
|
|||||||
**Request**
|
**Request**
|
||||||
Gets camera sensor information
|
Gets camera sensor information
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/signals
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/signals
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing camera sensor information, such as wifi strength, temperature, and battery level
|
JSON response containing camera sensor information, such as wifi strength, temperature, and battery level
|
||||||
@@ -236,7 +238,7 @@ JSON response containing camera sensor information, such as wifi strength, tempe
|
|||||||
**Request**
|
**Request**
|
||||||
Enables motion detection for one camera
|
Enables motion detection for one camera
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: $auth_token" --data-binary --compressed https://prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/enable
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: $auth_token" --data-binary --compressed https://rest.prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/enable
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing camera information
|
JSON response containing camera information
|
||||||
@@ -244,7 +246,7 @@ JSON response containing camera information
|
|||||||
**Request**
|
**Request**
|
||||||
Disables motion detection for one camera
|
Disables motion detection for one camera
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: $auth_token" --data-binary --compressed https://prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/disable
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: $auth_token" --data-binary --compressed https://rest.prod.immedia-semi.com/network/*network_id*/camera/*camera_id*/disable
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing camera information
|
JSON response containing camera information
|
||||||
@@ -257,7 +259,7 @@ JSON response containing camera information
|
|||||||
**Request**
|
**Request**
|
||||||
Gets information about devices that have connected to the blink service
|
Gets information about devices that have connected to the blink service
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/account/clients
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/account/clients
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing client information, including: type, name, connection time, user ID
|
JSON response containing client information, including: type, name, connection time, user ID
|
||||||
@@ -265,7 +267,7 @@ JSON response containing client information, including: type, name, connection t
|
|||||||
**Request**
|
**Request**
|
||||||
Gets information about supported regions
|
Gets information about supported regions
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/regions
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/regions
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
JSON response containing region information
|
JSON response containing region information
|
||||||
@@ -273,7 +275,7 @@ JSON response containing region information
|
|||||||
**Request**
|
**Request**
|
||||||
Gets information about system health
|
Gets information about system health
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/health
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/health
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
"all ports tested are open"
|
"all ports tested are open"
|
||||||
@@ -281,7 +283,7 @@ Gets information about system health
|
|||||||
**Request**
|
**Request**
|
||||||
Gets information about programs
|
Gets information about programs
|
||||||
|
|
||||||
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://prod.immedia-semi.com/api/v1/networks/*network_id*/programs
|
>curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: *authtoken from login*" --compressed https://rest.prod.immedia-semi.com/api/v1/networks/*network_id*/programs
|
||||||
|
|
||||||
**Response**
|
**Response**
|
||||||
Unknown.
|
Unknown.
|
||||||
|
|||||||
Reference in New Issue
Block a user