REST API Documentation

All functionality which is available via webpage and UI can be also used via REST API
Complete documentation in swagger can be found here

Authentication

To execute any call you have to firstly retrieve a token. That you get by authenticating. Your account has to be using simple email/password authentication.

POST https://api.wachete.com/thirdparty/v1/user/login Content-type: application/json { "email": "registered@email.com", "password": "MySuperSecretP4ssword#$%" } response: { "token": "QSQ26DJM2HPAD4NP4MSAVZGH5FUJGNYZY498XDP9AFLDT95PZJQFKVVFZ35FU3BVU..." }

Create new wachet

Simple wachet

PUT https://api.wachete.com/thirdparty/v1/task Content-type: application/json Authorization:bearer QWQQQQUW3... { "id": "do_not_specify_if_creating_but_only_when_changing_existing_wachet" "name": "My First Wachet", "url": "http://www.mypage.com", "xPath": "/", "jobType": "SinglePage", # OPTIONAL - Default SinglePage "alerts": [{ "type": "Error" }, { type: "NotEq" }], "recurrenceInSeconds": 86400, "notificationEndpoints": [{ # OPTIONAL - Default all endpoints "type": "Webhook", "value": "https://..." }, { "type": "Email", "value": "email@gmail.com" } ] }

Portal wachet

PUT https://api.wachete.com/thirdparty/v1/task Content-type: application/json Authorization:bearer QWQQQQUW3... { "id": "do_not_specify_if_creating_but_only_when_changing_existing_wachet" "name": "My First Wachet", "url": "http://www.mypage.com", "xPath": "/", "jobType": "Portal", "crawlingDepth": 2, # OPTIONAL - Default is 2 "urlFilter": { # OPTIONAL - Default no filters "include": [{ "filter" : "http://products/catalog/", "type" : "Contains" }], "exclude": [{ "filter" : "cars[0-9]+", "type" : "Regex" }] } "alerts": [{ "type": "Error" }, { type: "NotEq" }], "recurrenceInSeconds": 86400, "notificationEndpoints": [{ # OPTIONAL - Default all endpoints "type": "Webhook", "value": "https://..." }, { "type": "Email", "value": "email@gmail.com" } ] }

jobType - use 'SinglePage' or 'Portal' for crawling
notificationEndpoints - Leave empty to receive notification to all emails by default
proxies - For monitoring location or proxy use - [{"location": "location"}] - location can be us,gb
dynamicContent - in case your page content which you monitor is rendered with javascript specify - true
crawlingDepth - If you chose jobType 'Portal', automatic crawling, you can specify how deep to crawl. Possible values - 1,2,3
urlFilter - Used for Portal wachet to filter URLs either by simple contains string or by regular expression

Get notifications

GET https://api.wachete.com/thirdparty/v1/notification/list Content-type: application/json Authorization:bearer QWQQQQUW3...

taskId Specify to list notifications only from one wachet with ID. If not specified all are listed. (query param)
from - optionaly specify in ISO format FROM time for notifications (query param)
to - optionaly specify in ISO format TO time for notifications (query param)

Get content values of wachet

GET https://api.wachete.com/thirdparty/v1/data/list/{ID_OF_YOUR_WACHET} Content-type: application/json Authorization:bearer QWQQQQUW3...

returnDiff - specify this to true if you want instead of just values to get google diff (query param)
continuationToken - to get next batch of data (query param)
from - optionaly specify in ISO format FROM time for notifications (query param)
to - optionaly specify in ISO format TO time for notifications (query param)

Delete wachet

DELETE https://api.wachete.com/thirdparty/v1/task/{ID_OF_YOUR_WACHET} Content-type: application/json Authorization:bearer QWQQQQUW3...

Get content of folder

GET https://api.wachete.com/thirdparty/v1/folder/list Content-type: application/json Authorization:bearer QWQQQQUW3...

parentId Specify to list content of folder with specific ID. If not specified root is listed. (query param)