Project groups
const url = 'https://testomato.com/api/project/5e9602e7a39e5a46428b457f/areas';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://testomato.com/api/project/5e9602e7a39e5a46428b457f/areas \ --header 'Authorization: Bearer <token>'Return a list of project groups (areas)
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”A unique project ID
Example
5e9602e7a39e5a46428b457fResponses
Section titled “Responses”List of project groups/areas
A group of checks
object
A unique group/area ID
A unique parent Project ID
Name of the group
Are the check target URLs in the group accessible without password protection or HTTP authentication?
truemeans they are publicly accessiblefalsemeans they are protected
Group rules that are applied to all checks in the Group
An HTML form Testomato found on a page and can submit as part of a check.
Field types follow document\test\FormDocument in the application.
object
Stable identifier of the form within the page
Whether Testomato submits this form during a check
HTTP method the form submits with
Resolved URL the form submits to — the action itself for POST, or the
action with the parameters appended to the query string for GET.
The action attribute exactly as written in the HTML
The action resolved against baseUrl, still relative
URL of the page the form was found on
URL-encoded form fields Testomato submits
Raw HTML of the form element
Hash of the form markup. Testomato compares it between runs to notice that the form changed.
Password-protected areas may have saved HTTP authentication
object
HTTP
HTTP Auth URL address
Check period interval as a string (usually set to true - same as parent Project)
Response object (optional) show only when some some Rules are evaluated as an error
object
object
Extra HTTP headers
Next run in seconds. Can be negative if we don’t have new results yet.
Period of automatic startup in seconds
Example
[ { "id": "54c0fe237c3391ac488b4567", "projectId": "50a9f72f14db3be812000233", "name": "Public", "public": true, "rules": [ { "type": "title", "op": "sub", "val": "Wikipedia" } ], "form": { "identifier": "login-form", "enabled": false, "method": "GET", "action": "https://www.example.com/login", "originalAction": "/login", "relativeAction": "/login", "baseUrl": "https://www.example.com/", "params": "username=demo&password=secret", "html": "<form method=\"post\" action=\"/login\">…</form>", "checksum": "9f2c1ab4e7d3" }, "httpAuth": { "user": "nice", "password": "test", "url": "https://testomato.com/httpauth" }, "period": "5 minutes", "result": null, "options": { "w": "" }, "nextRun": 150, "periodInt": 300 }]The API token is missing, malformed or expired. Request a new one from
POST /api/authenticate.
object
Error message text
Error code number
Example
{ "message": "Access denied! Please log in to access this resource.", "code": 401, "ok": false, "error": true}The token is valid but the operation is not allowed. Two distinct causes:
- the subscription plan does not include API access — every endpoint returns this, regardless of the resource
- the account lacks the required role on the project — reading needs
read, changing checks needseditTests, and so on. See Project permissions.
object
Error message text
Error code number
Example
{ "message": "Sorry! Your current plan does not support access to Testomato API.", "code": 403, "ok": false, "error": true}