# watchful.li API

> watchful.li API on Apizie: 59 endpoints (Get a list of audits, Get the list of fields, Find audit by ID, Delete a specific audit, …) returned as clean JSON through one API key. 59 endpoints are live now. Call it over REST at https://apizie.tech/v1/cloud:watchful-li/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:watchful-li`
- Category: Cloud
- Status: live
- Source: https://watchful.li
- Page: https://apizie.tech/api/cloud/watchful-li
- OpenAPI: https://apizie.tech/api/cloud/watchful-li/openapi.json



## Endpoints

### Get a list of audits
`GET https://apizie.tech/v1/cloud:watchful-li/get-audits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field separete by comas. Add + / - after field for set ASC / DESC: type+,name- |

### Get the list of fields
`GET https://apizie.tech/v1/cloud:watchful-li/get-fields-audits`

### Find audit by ID
`GET https://apizie.tech/v1/cloud:watchful-li/get-audit-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of audit that needs to be fetched |
| fields | string | no | Fields to return separate by comas: name,id |

### Delete a specific audit
`POST https://apizie.tech/v1/cloud:watchful-li/delete-audit-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of audit that needs to be deleted |

### Get a list Extensions
`GET https://apizie.tech/v1/cloud:watchful-li/get-extensions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| ext_name | string | no | Do a 'LIKE' search, you can also use '%' |
| siteids | string | no | List of sites id separated by comma |
| ext_prefix | string | no | Do a 'LIKE' search, you can also use '%'. technical name of the extension com_xxxx |
| version | string | no | Do a 'LIKE' search, you can also use '%' |
| vUpdate | integer | no | update available for this extension |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field separete by comas. Add + / - after field for set ASC / DESC: type+,name- |

### Get the list of fields
`GET https://apizie.tech/v1/cloud:watchful-li/get-fields-extensions`

### Set 'ignore updates' for a given extension / site_id
`POST https://apizie.tech/v1/cloud:watchful-li/ignore-extension-update`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the extension |

### Remove 'ignore updates' for a given extension
`POST https://apizie.tech/v1/cloud:watchful-li/unignore-extension-update`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the extension |

### Update the extension on the remote site
`POST https://apizie.tech/v1/cloud:watchful-li/update-extension`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the extension |

### Get feedbacks
`GET https://apizie.tech/v1/cloud:watchful-li/get-feedbacks`

| Parameter | Type | Required | Description |
|---|---|---|---|
| fields | string | no | Fields to return separate by comas (es. name,id) |

### Create a feedback
`POST https://apizie.tech/v1/cloud:watchful-li/create-feedbacks`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get the list of fields
`GET https://apizie.tech/v1/cloud:watchful-li/get-fields-feedbacks`

### Get a list of logs
`GET https://apizie.tech/v1/cloud:watchful-li/get-logs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| log_type | string | no | Type of the log |
| log_entry | string | no | Do a 'LIKE' search, you can also use '%' |
| from | string | no | Logs after this date, format YYYY-MM-DD HH:MM:SS |
| to | string | no | Logs before this date, format YYYY-MM-DD HH:MM:SS |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field separete by comas. Add + / - after field for set ASC / DESC: type+,name- |

### Get a CSV or PDF file contain the list of logs
`GET https://apizie.tech/v1/cloud:watchful-li/get-export-logs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | yes | Format of exported file (PDF or CSV) |
| site | integer | no | Site id of the log |
| filter_type | string | no | Type of the log |
| search | string | no | Do a 'LIKE' search, you can also use '%' |
| startdate | string | no | Logs after this date, format YYYY-MM-DD HH:MM:SS |
| enddate | string | no | Logs before this date, format YYYY-MM-DD HH:MM:SS |
| limit | integer | no | Number of object to return (max 100, default 25) |
| startid | integer | no | Start of the return (default 0) |

### Get the list of fields
`GET https://apizie.tech/v1/cloud:watchful-li/get-fields-logs`

### Get the list of log types
`GET https://apizie.tech/v1/cloud:watchful-li/get-types-logs`

### Delete a specific log
`POST https://apizie.tech/v1/cloud:watchful-li/delete-log-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of log that needs to be deleted |

### POST /packages
`POST https://apizie.tech/v1/cloud:watchful-li/post-packages`

### Returns a PDF report for a specific site
`GET https://apizie.tech/v1/cloud:watchful-li/get-reports-sites-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID that needs to be fetched |
| from | string | no | Start of the report, format YYYY-MM-DD, default today-30day |
| to | string | no | End of the report, format YYYY-MM-DD, default today |
| reports | string | no | Type of reports separate by comas: Ga,Logs,Uptime |
| log_type | string | no | Type of the log to show in the report |
| compare | integer | no | Define if you want show previous values in Google Analytics graph |

### Find sites by ID
`GET https://apizie.tech/v1/cloud:watchful-li/get-reports-tags-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID that needs to be fetched |
| from | string | no | Start of the report, format YYYY-MM-DD, default today-30day |
| to | string | no | End of the report, format YYYY-MM-DD, default today |
| reports | string | no | Type of reports separate by comas: Ga,Logs,Uptime |
| log_type | string | no | Type of the log to show in the report |
| compare | integer | no | Define if you want show previous values in Google Analytics graph |

### Get a list of Sites
`GET https://apizie.tech/v1/cloud:watchful-li/get-sites`

| Parameter | Type | Required | Description |
|---|---|---|---|
| siteids | string | no | List of sites id separated by comma |
| name | string | no | Site name. Do a 'LIKE' search, you can also use '%' |
| access_url | string | no | Access URL. Do a 'LIKE' search, you can also use '%' |
| j_version | string | no | Joomla version. Do a 'LIKE' search, you can also use '%' |
| ip | string | no | Ip address. Do a 'LIKE' search, you can also use '%' |
| jUpdate | integer | no | Joomla core update status (1: update required, 0: update not required) |
| canUpdate | integer | no | canUpdate |
| published | integer | no | Is published |
| error | string | no | Has errors |
| nbUpdates | string | no |  |
| up | integer | no | Is online |
| fields | string | no | Fields to return separated by commas (e.g. name,id) |
| limit | integer | no | Number of objects to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field separete by comas. Add + / - after field for set ASC / DESC: type+,name- |

### Create a site
`POST https://apizie.tech/v1/cloud:watchful-li/create-site`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get the list of fields
`GET https://apizie.tech/v1/cloud:watchful-li/get-sites-metadata`

### Find sites by ID
`GET https://apizie.tech/v1/cloud:watchful-li/get-site-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID that needs to be fetched |
| fields | string | no | Fields to return separate by comas: name,id |

### Update a site
`POST https://apizie.tech/v1/cloud:watchful-li/put-sites-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website that needs to be update |
| body | object | yes | JSON request body |

### Delete a specific Site
`POST https://apizie.tech/v1/cloud:watchful-li/delete-sites-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of Site that needs to be deleted |

### Return audits for a specific website
`GET https://apizie.tech/v1/cloud:watchful-li/get-site-audits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field |

### Create an audit for the site
`POST https://apizie.tech/v1/cloud:watchful-li/create-audits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Add the site to the backup queue
`POST https://apizie.tech/v1/cloud:watchful-li/add-site-to-backup-queue`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Return backup profile
`GET https://apizie.tech/v1/cloud:watchful-li/get-backup-profiles`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### List of latest backups
`GET https://apizie.tech/v1/cloud:watchful-li/get-list-backups`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Start a remote backup for the site
`POST https://apizie.tech/v1/cloud:watchful-li/start-site-backup`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Step (continue) a remote backup for the site
`POST https://apizie.tech/v1/cloud:watchful-li/step-site-backup`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Get extensions for a site
`GET https://apizie.tech/v1/cloud:watchful-li/get-sites-id-extensions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field |

### Install extension
`POST https://apizie.tech/v1/cloud:watchful-li/install-extension`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |
| url | string | yes | URL to install the extension from |

### Return logs for a specific website
`GET https://apizie.tech/v1/cloud:watchful-li/get-sites-id-logs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |
| log_entry | string | no | Do a 'LIKE' search, you can also use '%' |
| log_type | string | no | Type of the log |
| from | string | no | Logs after this date, format YYYY-MM-DD HH:MM:SS |
| to | string | no | Logs before this date, format YYYY-MM-DD HH:MM:SS |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field separete by comas. Add + / - after field for set ASC / DESC: type+,name- |

### Create a custom log for a specific website
`POST https://apizie.tech/v1/cloud:watchful-li/create-log`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |
| body | object | yes | JSON request body |

### Post uptime monitor
`POST https://apizie.tech/v1/cloud:watchful-li/post-monitor`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Delete uptime monitor
`POST https://apizie.tech/v1/cloud:watchful-li/delete-monitor`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Scan the site for malware
`GET https://apizie.tech/v1/cloud:watchful-li/scanner`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### SEO analyze for a page
`GET https://apizie.tech/v1/cloud:watchful-li/seo-analyze`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Return tags for a specific website
`GET https://apizie.tech/v1/cloud:watchful-li/get-sites-id-tags`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |
| name | string | no | Do a 'LIKE' search, you can also use '%' |
| type | string | no | Bootstrap color of the tag |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field |

### Add tags for a specific website
`POST https://apizie.tech/v1/cloud:watchful-li/post-tags`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |
| body | object | yes | JSON request body |

### Update Joomla core on the remote site
`POST https://apizie.tech/v1/cloud:watchful-li/update-joomla`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Return uptime data
`GET https://apizie.tech/v1/cloud:watchful-li/get-uptime`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### validate the site, return the new logs
`GET https://apizie.tech/v1/cloud:watchful-li/validate-site`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### validate the site, return the debug information
`GET https://apizie.tech/v1/cloud:watchful-li/validate-debug-site`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the website |

### Get a list of SSO Users
`GET https://apizie.tech/v1/cloud:watchful-li/get-sso-users`

### Create a SSO User
`POST https://apizie.tech/v1/cloud:watchful-li/create-sso-users`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Find SSO User by ID
`GET https://apizie.tech/v1/cloud:watchful-li/get-sso-users-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of SSO User that needs to be fetched |
| fields | string | no | Fields to return separate by comas: name,id |

### Update a SSO User
`POST https://apizie.tech/v1/cloud:watchful-li/update-sso-users`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of SSO User that needs to be updated |
| body | object | yes | JSON request body |

### Delete a specific SSO User
`POST https://apizie.tech/v1/cloud:watchful-li/delete-sso-user-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of SSO User that needs to be deleted |

### Get a list of tags
`GET https://apizie.tech/v1/cloud:watchful-li/get-tags`

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | no | Do a 'LIKE' search, you can also use '%' |
| type | string | no | Bootstrap color of the tag |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field separete by comas. Add + / - after field for set ASC / DESC: type+,name- |

### Create a tag
`POST https://apizie.tech/v1/cloud:watchful-li/create-tags`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get the list of fields
`GET https://apizie.tech/v1/cloud:watchful-li/get-tags-metadata`

### Find tag by ID
`GET https://apizie.tech/v1/cloud:watchful-li/get-tag-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of tag that needs to be fetched |
| fields | string | no | Fields to return separate by comas: name,id |

### Update a tag
`POST https://apizie.tech/v1/cloud:watchful-li/update-tag`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of tag |
| body | object | yes | JSON request body |

### Delete a specific tag
`POST https://apizie.tech/v1/cloud:watchful-li/delete-tags-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of tag that needs to be deleted |

### Find sites by tag ID
`GET https://apizie.tech/v1/cloud:watchful-li/get-sites-by-tags`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of tag that needs to be fetched |
| name | string | no | Do a 'LIKE' search, you can also use '%' |
| access_url | string | no | Do a 'LIKE' search, you can also use '%' |
| j_version | string | no | Do a 'LIKE' search, you can also use '%' |
| ip | string | no | Do a 'LIKE' search, you can also use '%' |
| jUpdate | integer | no | Joomla core update |
| published | integer | no | is published |
| error | string | no | have errors |
| nbUpdates | string | no |  |
| up | integer | no | is the website online |
| fields | string | no | Fields to return separate by comas: name,id |
| limit | integer | no | Number of object to return (max 100, default 25) |
| limitstart | integer | no | Start of the return (default 0) |
| order | string | no | ORDER by this field separete by comas. Add + / - after field for set ASC / DESC: type+,name- |

## Example
```
curl "https://apizie.tech/v1/cloud:watchful-li/get-audits" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the watchful.li API?
Create a free Apizie key, then send GET https://apizie.tech/v1/cloud:watchful-li/get-audits with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the watchful.li API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the watchful.li API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:watchful-li.

### What is the status of the watchful.li API?
Live: works with just an Apizie key
