### Response headers example Source: https://www.host-tracker.com/en/apidocs/v2/quickstart Example of HTTP response headers, including the x-request-id for support tracking. ```http HTTP/2 200 content-type: application/json; charset=utf-8 x-request-id: req_85499279fbda4d78919a1ea06766013b ``` -------------------------------- ### Querying Paged Lists via GET and POST Source: https://www.host-tracker.com/en/apidocs/v2/paging Demonstrates the equivalent request structure using a standard GET query string versus a JSON-formatted POST body. ```bash curl 'https://api2.host-tracker.com/monitor?type=http,ping&state=up&sort=name&limit=2' \ -H 'Authorization: Bearer YOUR_TOKEN' curl -X POST 'https://api2.host-tracker.com/monitor/q' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "type": ["http","ping"], "state": ["up"], "sort": "name", "limit": 2 }' ``` -------------------------------- ### Retrieve Account Quota Information Source: https://www.host-tracker.com/en/apidocs/v2/account Example response from the GET /account/quota endpoint showing the structure of pools and available scopes. ```json { "pools": { "check": { "quotas": [] }, // instant checks "account": { "quotas": [] } // everything else }, "scopes": [ { "scope": "monitor:read", "description": "…" }, /* 20 rows */ ], "apiEnabled": false } ``` -------------------------------- ### Create a maintenance window Source: https://www.host-tracker.com/en/apidocs/v2/alerting Example request and response for creating a new maintenance window. ```bash curl -X POST 'https://api2.host-tracker.com/maintenance' \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "name": "db migration", "from": 1786126488, "durationSec": 10800, "monitorIds": ["MONITOR_A"], "timezone": "FLE Standard Time", "suppress": { "alerts": true, "stats": true } }' ``` ```json { "id": "f9ea4559-6cb7-4f55-928e-68cf7be6ea70", "name": "db migration", "from": 1786126488, "to": 1786137288, "durationSec": 10800, "timezone": "FLE Standard Time", "enabled": true, "state": "scheduled", "suppress": { "alerts": true, "stats": true }, "monitorIds": ["MONITOR_A"], "created": 1786122888, "updated": 1786122888 } ``` -------------------------------- ### GET /check/type Source: https://www.host-tracker.com/en/apidocs/v2/checks Retrieves a list of all available instant-check types, including labels, descriptions, example addresses, and timing metadata. ```APIDOC ## GET /check/type ### Description Lists every instant-check type available. It is recommended to read this list dynamically rather than hardcoding it. ### Method GET ### Endpoint /check/type ``` -------------------------------- ### GET /monitor/type Source: https://www.host-tracker.com/en/apidocs/v2/monitors Retrieves the catalogue of all available monitor types. ```APIDOC ## GET /monitor/type ### Description Returns the catalogue of all 14 monitor types, including metadata like type, label, creatable status, and interval constraints. ### Method GET ### Endpoint /monitor/type ### Response #### Success Response (200) - **data** (array) - List of monitor type objects containing type, requiresPool, minInterval, entitlement, and presets. ``` -------------------------------- ### GET /monitor Source: https://www.host-tracker.com/en/apidocs/v2/paging Retrieves a list of monitors with optional sorting parameters. ```APIDOC ## GET /monitor ### Description Retrieves a list of monitors. The results can be sorted using the sort query parameter. ### Method GET ### Endpoint /monitor ### Parameters #### Query Parameters - **sort** (string) - Optional - The column to sort by, optionally suffixed with :asc or :desc. Example: ?sort=name:asc ### Response #### Error Response (422) - **code** (string) - The error code (unknown_enum_value) - **status** (integer) - The HTTP status code (422) - **errors** (array) - List of error details including pointer, value, reason, and allowed values. ### Response Example { "code": "unknown_enum_value", "status": 422, "errors": [ { "pointer": "/sort", "value": "bogus", "reason": "unknown_column", "allowed": ["name", "state", "type", "interval", "lastChange", "url", "created", "name:asc", "name:desc", "state:asc", "state:desc"] } ] } ``` -------------------------------- ### Sort Parameter Syntax Source: https://www.host-tracker.com/en/apidocs/v2/paging Examples of valid sort parameter formats using natural and explicit directions. ```text ?sort=name // natural direction - A→Z for a name ?sort=name:asc // the same thing, said explicitly ?sort=name:desc // reversed ``` -------------------------------- ### GET /agent Source: https://www.host-tracker.com/en/apidocs/v2/checks Retrieves the list of available monitoring locations. ```APIDOC ## GET /agent ### Description Returns the list of available locations where checks can be executed. ### Method GET ### Endpoint /agent ``` -------------------------------- ### GET /monitor/result/summary Source: https://www.host-tracker.com/en/apidocs/v2/migrate Retrieves uptime aggregates and performance metrics for the account, monitors, or buckets. ```APIDOC ## GET /monitor/result/summary ### Description Retrieves uptime aggregates and performance metrics. Supports grouping by account and calculating SLA against a target. ### Method GET ### Endpoint /monitor/result/summary ### Query Parameters - **groupBy** (string) - Optional - Grouping criteria (e.g., 'account') - **sla** (number) - Optional - Target SLA percentage for window scoring - **metrics** (string) - Optional - Comma-separated list of metrics (e.g., 'responseTime,dns,connect,tls,ttfb,transfer') ``` -------------------------------- ### Job response structure Source: https://www.host-tracker.com/en/apidocs/v2/jobs Example JSON response representing a job currently in progress. ```json { "id": "be65c73e-4e1a-49d7-8ef9-ba9b11c8681c", "kind": "monitor.bulkCreate", "scope": "monitor:write", "state": "running", "progress": { "done": 1, "total": 2 }, "summary": { "created": 1, "updated": 0, "skipped": 0, "failed": 0, "deleted": 0 }, "cancelRequested": false, "created": 1785712640, "startedAt": 1785712653, "expiresAt": 1786317440, "results": [ { "index": 0, "itemRef": "https://bulk-a.example.com", "status": "created", "entityId": "22fa345f-6b06-4686-a83b-71543d3fe52c", "result": { /* the full monitor representation */ }, "processedAt": 1785712654 }, { "index": 1, "itemRef": "https://bulk-b.example.com", "status": "pending" } ], "nextCursor": null, "hasMore": false } ``` -------------------------------- ### GET /monitor Source: https://www.host-tracker.com/en/apidocs/v2 List the account's monitors, filtered, sorted and cursor-paginated. ```APIDOC ## GET /monitor ### Description List the account's monitors, filtered, sorted and cursor-paginated. ### Method GET ### Endpoint https://localhost:7777/monitor ### Authentication - **Authorization** (header) - Required - Bearer ``` -------------------------------- ### GET /monitor/{id} Source: https://www.host-tracker.com/en/apidocs/v2/monitors Retrieves the full configuration and details for a specific monitor by its ID. ```APIDOC ## GET /monitor/{id} ### Description Retrieves the details for a single monitor. By default, this includes the 'settings' expansion. ### Method GET ### Endpoint /monitor/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the monitor. ### Query Parameters - **expand** (string) - Optional - Comma-separated list of fields to expand. ### Response #### Success Response (200) - **id** (string) - Monitor ID. - **type** (string) - Monitor type. - **name** (string) - Monitor name. - **url** (string) - Monitor URL. - **state** (string) - Current state. - **settings** (object) - Configuration settings. #### Response Example { "id": "13399a5e-4c6b-4f87-a303-4a526431db26", "type": "http", "name": "gm-doc-test-1786122527", "url": "https://example.com/gm-doc-1786122527", "state": "up", "since": 1786122528, "enabled": true, "tags": [], "updated": 1786122528, "interval": 60, "slaTarget": null, "locations": { "pools": ["allworld"], "excludedAgents": [] }, "settings": { "followRedirect": true }, "attached": { "dnsbl": false, "sslExp": false, "domainExp": false, "webRisk": false }, "created": 1786122528 } ``` -------------------------------- ### List Monitor Incidents Source: https://www.host-tracker.com/en/apidocs/v2/results Example request to list incidents for a specific monitor and the corresponding empty response. ```bash curl 'https://api2.host-tracker.com/monitor/incident?monitor=fd8fab57-c730-400e-bb1c-faf0d54964a4' \ -H 'Authorization: Bearer YOUR_TOKEN' ``` ```json { "data": [], "nextCursor": null, "hasMore": false } ``` -------------------------------- ### Request Account Details Source: https://www.host-tracker.com/en/apidocs/v2/auth Example of a cURL request to retrieve account information using the bearer token. ```bash curl 'https://api2.host-tracker.com/account' \ -H 'Authorization: Bearer YOUR_TOKEN' ``` -------------------------------- ### GET /monitor Source: https://www.host-tracker.com/en/apidocs/v2/monitors Retrieves a list of monitors with support for filtering, sorting, and field projection. ```APIDOC ## GET /monitor ### Description Retrieves a list of monitors. Supports filtering by id, type, tag, state, enabled, url, and free-text search (q). Multiple values for a filter are treated as ANY-OF, while different parameters are ANDed together. ### Method GET ### Endpoint /monitor ### Parameters #### Query Parameters - **id** (string) - Optional - Filter by monitor ID - **type** (string) - Optional - Filter by monitor type (e.g., http, ping) - **tag** (string) - Optional - Filter by tag - **state** (string) - Optional - Filter by state (up, down, paused, maintenance) - **enabled** (boolean) - Optional - Filter by enabled status - **url** (string) - Optional - Filter by URL - **q** (string) - Optional - Free text search over name and address - **sort** (string) - Optional - Sort by name, state, type, interval, lastChange, url, or created (e.g., name:desc) - **fields** (string) - Optional - Comma-separated list of fields to include in the response - **updatedSince** (string) - Optional - Filter by update timestamp ### Response #### Success Response (200) - **data** (array) - List of monitor objects ### Response Example { "data": [{"id": "13399a5e-...", "name": "gm-doc-test-renamed", "tags": ["gm-tag1", "gm-tag2"]}] } ``` -------------------------------- ### Account Response Structure Source: https://www.host-tracker.com/en/apidocs/v2/auth An abridged example of the JSON response returned when successfully querying account details. ```json { "id": "ff96977f-…", "login": "claudeaudit0727", "timezone": "Etc/UTC", "flags": { "enabled": true, "active": true, "overlimited": false }, "package": { "name": "30-Days Free Trial", /* … */ }, "usage": { "monitor": { "used": 14, "allowed": 100 }, /* … */ }, "limits": { "intervals": [60], "maxBulkItems": 500, /* … */ } } ``` -------------------------------- ### GET /monitor Source: https://www.host-tracker.com/en/apidocs/v2/paging Retrieves a list of monitors with support for sorting, state-faithful updatedSince filtering, and count expansion. ```APIDOC ## GET /monitor ### Description Retrieves a list of monitors. ### Method GET ### Endpoint /monitor ### Parameters #### Query Parameters - **sort** (string) - Optional - Supported columns: name, state, type, interval, lastChange, url, created. Default: created. - **updatedSince** (string) - Optional - State-faithful filtering. - **expand** (string) - Optional - Supports 'count'. ``` -------------------------------- ### GET /monitor Source: https://www.host-tracker.com/en/apidocs/v2/monitors Retrieves a list of monitors. By default, this returns a trimmed projection of monitor data. ```APIDOC ## GET /monitor ### Description Retrieves a list of monitors. The response is a lean projection by default. ### Method GET ### Endpoint /monitor ### Query Parameters - **limit** (integer) - Optional - The number of items to return. - **expand** (string) - Optional - Comma-separated list of fields to expand (e.g., settings, subscription). ### Response #### Success Response (200) - **data** (array) - List of monitor objects. - **nextCursor** (string) - Cursor for the next page of results. - **hasMore** (boolean) - Indicates if more results are available. #### Response Example { "data": [ { "id": "13399a5e-4c6b-4f87-a303-4a526431db26", "type": "http", "name": "gm-doc-test-1786122527", "url": "https://example.com/gm-doc-1786122527", "state": "up", "since": 1786122528, "enabled": true, "tags": [], "updated": 1786122528, "slaTarget": null } ], "nextCursor": null, "hasMore": false } ``` -------------------------------- ### PATCH /account Response Body Source: https://www.host-tracker.com/en/apidocs/v2/account Example of the full account object returned after a successful PATCH request. ```json { "id": "3fa85f64-…", "login": "acme", "timezone": "Europe/London", "profile": { "firstName": "QA29437", "lastName": "", "company": "Acme Ltd", "phone": "", "country": "GB", "email": "ops@example.com" }, /* language, defaultAgentPools, flags, package, usage, overlimits, limits, badges - unchanged, same shape as GET /account above */ } ``` -------------------------------- ### Create monitor with inline alert subscriptions Source: https://www.host-tracker.com/en/apidocs/v2/alerting Example of a successful POST response showing that alert subscriptions were applied during monitor creation. ```json { "id": "6fd3eb30-0646-4b8e-a02b-49ebecbbbf60", "type": "http", "name": "checkout", "url": "https://example.com", /* the rest of the monitor representation */ "subscription": [ { "alertType": "down", "contact": { "id": "b428dbe0-…", "type": "email", "name": "On-call" }, "created": 1786122813 } ] } ``` -------------------------------- ### Filter API Response Fields Source: https://www.host-tracker.com/en/apidocs/v2/paging Example of a GET request using the fields parameter to limit the returned data to specific top-level members. ```http GET /monitor?limit=2&fields=id,name,state ``` ```json { "data": [ { "id": "6cc03577-…", "name": "Checkout API", "state": "up" }, { "id": "9ab7a30e-…", "name": "Marketing site", "state": "down" } ], "nextCursor": "…", "hasMore": true } ``` -------------------------------- ### Create monitor with inline contacts Source: https://www.host-tracker.com/en/apidocs/v2/auth Demonstrates a POST request to create a monitor and associated contacts simultaneously. Requires both monitor:write and contact:write scopes. ```bash curl -X POST 'https://api2.host-tracker.com/monitor' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "type": "http", "url": "https://example.com", "contacts": [ { "ref": "c1", "type": "email", "address": "ops@example.com" } ] }' ``` -------------------------------- ### Standard Collection Response Envelope Source: https://www.host-tracker.com/en/apidocs/v2/paging All collection endpoints return a consistent JSON envelope. This example demonstrates the structure returned by a GET request to a collection resource. ```APIDOC ## GET /collection ### Description Returns a paginated list of resources within a consistent envelope structure. ### Response #### Success Response (200) - **data** (array) - The page's rows in the requested sort order. - **nextCursor** (string|null) - An opaque token for the next page, or null when there is no more data. - **hasMore** (boolean) - Indicates if there are additional pages available. - **syncCursor** (string, optional) - A delta high-water mark for synchronization, present only on resources supporting delta reads. - **count** (object, optional) - Contains 'total' and 'matched' counts, present only when requested via `expand=count`. ### Response Example { "data": [ { "id": "6cc03577-5763-4fa6-aca0-b211bd4ae123" }, { "id": "9ab7a30e-08a1-49b5-87a0-3ad985adb815" } ], "nextCursor": "eyJrIjoibS5jcmVhdGVkOjA2Mzky…", "hasMore": true, "syncCursor": "eyJrIjoiMTc4NjEyMjcxOCIsImkiOiJzeW5jIiwiZCI6ImYiLCJ2IjoxfQ.e7dd558ff760889e" } ``` -------------------------------- ### POST /monitor/bulk Source: https://www.host-tracker.com/en/apidocs/v2/monitors Creates multiple monitors at once. This operation runs as an asynchronous job and requires an Idempotency-Key header. ```APIDOC ## POST /monitor/bulk ### Description Create many monitors at once. This operation runs as an asynchronous job. ### Method POST ### Endpoint /monitor/bulk ``` -------------------------------- ### Perform a delta sync using syncCursor Source: https://www.host-tracker.com/en/apidocs/v2/paging Demonstrates the initial request to obtain a syncCursor and the subsequent request using that cursor as the updatedSince parameter. ```bash curl 'https://api2.host-tracker.com/monitor?limit=1' -H 'Authorization: Bearer YOUR_TOKEN' → syncCursor: eyJrIjoiMTc4NjEyMjg5MCIsImkiOiJzeW5jIiwiZCI6ImYiLCJ2IjoxfQ.e4b22a1efae63cf5 curl 'https://api2.host-tracker.com/monitor?updatedSince=eyJrIjoiMTc4NjEyMjg5MCIsImkiOiJzeW5jIiwiZCI6ImYiLCJ2IjoxfQ.e4b22a1efae63cf5' \ -H 'Authorization: Bearer YOUR_TOKEN' → data: [] , hasMore: false - nothing changed since the mark, and a FRESH syncCursor to poll with next ``` -------------------------------- ### POST /monitor Source: https://www.host-tracker.com/en/apidocs/v2/alerting Create a new monitor with inline alert subscriptions. ```APIDOC ## POST /monitor ### Description Creates a new monitor and applies alert subscriptions in the same transaction. ### Method POST ### Endpoint /monitor ### Request Body - **alertSubscriptions** (array) - Optional - List of alert subscriptions to apply, containing contactIds or contactRefs. ### Response #### Success Response (201) - **id** (string) - The ID of the created monitor. - **subscription** (array) - The list of successfully wired alert subscriptions. ``` -------------------------------- ### GET /account Source: https://www.host-tracker.com/en/apidocs/v2/auth Retrieves information about the authenticated account. ```APIDOC ## GET /account ### Description Returns details about the currently authenticated account, including usage, limits, and subscription status. ### Method GET ### Endpoint https://api2.host-tracker.com/account ### Request Example curl 'https://api2.host-tracker.com/account' \ -H 'Authorization: Bearer YOUR_TOKEN' ### Response #### Success Response (200) - **id** (string) - Account unique identifier - **login** (string) - Account login name - **timezone** (string) - Account timezone - **flags** (object) - Account status flags - **package** (object) - Subscription package details - **usage** (object) - Current usage statistics - **limits** (object) - Account limits ``` -------------------------------- ### GET /account/usage Source: https://www.host-tracker.com/en/apidocs/v2/account Retrieves the consumption block for the account. ```APIDOC ## GET /account/usage ### Description Retrieves the consumption block for the account. ### Method GET ### Endpoint /account/usage ``` -------------------------------- ### Create a counter monitor Source: https://www.host-tracker.com/en/apidocs/v2/monitors Example cURL request to create a new counter monitor using the settings defined in the schema. ```bash curl -X POST 'https://api2.host-tracker.com/monitor' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "type": "counter", "name": "gm-doc-counter", "interval": 60, "settings": { "monitorType": "aspnet4", "probeUrl": "gm-counter-host.example.com", "counterType": "cpu", "errorCondition": "gt", "errorLevel1": 90 } }' ``` -------------------------------- ### GET /contact/group Source: https://www.host-tracker.com/en/apidocs/v2/paging Retrieves contact groups with support for sorting. ```APIDOC ## GET /contact/group ### Description Retrieves contact groups. ### Method GET ### Endpoint /contact/group ### Parameters #### Query Parameters - **sort** (string) - Optional - Supported columns: name, created. Default: created. ``` -------------------------------- ### GET /monitor/report/{id} Source: https://www.host-tracker.com/en/apidocs/v2/results Retrieves metadata for a generated report. ```APIDOC ## GET /monitor/report/{id} ### Description Reads a generated report's metadata without fetching the document. ### Method GET ### Endpoint /monitor/report/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the report ### Response #### Success Response (200) - **id** (string) - Report ID - **type** (string) - Report type - **format** (string) - Report format - **range** (object) - Time range (from, to) - **monitorIds** (array) - Included monitor IDs - **sections** (array) - Included sections - **sizeBytes** (integer) - Size of the report in bytes - **expiresAt** (string) - Expiration timestamp - **state** (string) - Current state of the report - **contentUrl** (string) - URL to fetch the report content ``` -------------------------------- ### v1 Authentication Workflow Source: https://www.host-tracker.com/en/apidocs/v2/migrate Demonstrates the legacy v1 process of exchanging credentials for a temporary ticket followed by authenticated requests. ```bash curl -X POST 'https://api1.host-tracker.com/users/token' \ -H 'Content-Type: application/json' \ -d '{"login":"you@example.com","password":"…"}' # then, for the next 48 hours: curl 'https://api1.host-tracker.com/tasks' \ -H 'Authorization: bearer TICKET' ``` -------------------------------- ### Register a Webhook Source: https://www.host-tracker.com/en/apidocs/v2/quickstart Create a new webhook endpoint by sending a POST request with the target URL and event subscriptions. ```bash curl -X POST 'https://api2.host-tracker.com/webhook' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://hooks.example.com/host-tracker", "events": ["monitor.down", "monitor.up", "incident.opened"], "scope": { "all": true }, "name": "Docs quickstart webhook" }' ``` -------------------------------- ### GET / Source: https://www.host-tracker.com/en/apidocs/v2 Retrieves data based on the provided query parameters. ```APIDOC ## GET / ### Description Retrieves data based on the provided query parameters. ### Method GET ### Endpoint / ### Parameters #### Query Parameters - **id** (string) - Optional - **type** (string) - Optional - **includeId** (string) - Optional - **preset** (string) - Optional - **openStat** (string) - Optional - **tag** (string) - Optional - **state** (string) - Optional - **enabled** (string) - Optional - **q** (string) - Optional - **url** (string) - Optional - **like** (string) - Optional - **updatedSince** (string) - Optional - **from** (string) - Optional - **to** (string) - Optional - **sort** (string) - Optional - Default: name - **pausedLast** (string) - Optional - **expand** (string) - Optional - **limit** (integer) - Optional - Default: 50 - **cursor** (string) - Optional - **fields** (string) - Optional ``` -------------------------------- ### Retrieve account details via GET /account Source: https://www.host-tracker.com/en/apidocs/v2/account Returns a comprehensive object containing identity, flags, package information, usage statistics, limits, and dashboard badges. ```json { "id": "3fa85f64-…", "login": "acme", "timezone": "Etc/UTC", "language": "it", "profile": { "firstName": "QA29437", "lastName": "", "company": "", "phone": "", "country": "", "email": "ops@example.com" }, "defaultAgentPools": { "legacy": ["allworld"] }, "flags": { "enabled": true, "active": true, "overlimited": false, "apiEnabled": false }, "package": { "id": "…", "name": "30-Days Free Trial", "features": { /* … */ } }, "usage": { "monitor": { "used": 14, "allowed": 100 }, /* contact, report, maintenance */ }, "overlimits": [], "limits": { "intervals": [60, 120, 180, /* 14 total */], "maxBulkItems": 5000, /* … */ }, "badges": { "unconfirmedContacts": 0, "alerts24h": 0, "openIncidents": 0 } } ``` -------------------------------- ### Combine Filters with ANY-OF and AND Logic Source: https://www.host-tracker.com/en/apidocs/v2/paging Examples of using comma-separated lists for ANY-OF filtering and multiple parameters for AND filtering. ```bash curl 'https://api2.host-tracker.com/monitor?type=http,ping&expand=count' -H 'Authorization: Bearer YOUR_TOKEN' → count: { total: 14, matched: 3 } - every http OR ping monitor ``` ```bash curl 'https://api2.host-tracker.com/monitor?type=http&state=up&expand=count' -H 'Authorization: Bearer YOUR_TOKEN' → count: { total: 14, matched: 1 } - the account has 2 http monitors, only 1 is up → swapping state=up for state=paused matches the OTHER one, not zero ``` -------------------------------- ### GET /monitor/result Source: https://www.host-tracker.com/en/apidocs/v2/results Lists individual checks across one or more monitors. ```APIDOC ## GET /monitor/result ### Description Lists individual checks across one or more monitors. ### Method GET ### Endpoint /monitor/result ### Parameters #### Query Parameters - **monitor** (string) - Required - The ID of the monitor to retrieve results for. - **limit** (integer) - Optional - The number of results to return. ### Request Example curl 'https://api2.host-tracker.com/monitor/result?monitor=fd8fab57-c730-400e-bb1c-faf0d54964a4&limit=3' \ -H 'Authorization: Bearer YOUR_TOKEN' ### Response #### Success Response (200) - **data** (array) - List of check results. - **nextCursor** (string) - Cursor for pagination. - **hasMore** (boolean) - Indicates if more results are available. #### Response Example { "data": [ { "id": "res_MXxmZDhmYWI1N2M3MzA0MDBlYmIxY2ZhZjBkNTQ5NjRhNHw3M3wxNzg2MTE3ODUw", "monitorId": "fd8fab57-c730-400e-bb1c-faf0d54964a4", "monitor": { "id": "fd8fab57-…", "name": "audit-rusbl", "url": "example.com", "type": "http" }, "at": 1786117850, "durationSec": 3616, "state": "up", "checkNumber": 73, "checkCount": 2, "location": { "id": "413d3d3c-…", "country": "Russian Federation", "city": "Moscow", "ip": "194.34.239.36" }, "underMaintenance": false, "hasSnapshot": false } ], "nextCursor": "eyJrIjoiMDYzOTIxNjUxNzIyMDAwMDAwMCIsImkiOiJmZDhmYWI1N2M3MzA0MDBlYmIxY2ZhZjBkNTQ5NjRhNDowMDAwMDAwMDcxIiwiZCI6ImYiLCJ2IjoxfQ.a5f7a61b7b52eb8d", "hasMore": true } ``` -------------------------------- ### Create an HTTP monitor Source: https://www.host-tracker.com/en/apidocs/v2/monitors Sends a POST request to create a new HTTP monitor with specified interval and location pools. ```bash curl -X POST 'https://api2.host-tracker.com/monitor' \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "type": "http", "url": "https://example.com/gm-doc-1786122527", "interval": 60, "locations": { "pools": ["allworld"] } }' ``` -------------------------------- ### GET /monitor/type/schema Source: https://www.host-tracker.com/en/apidocs/v2/monitors Retrieves a combined JSON schema for all monitor types. ```APIDOC ## GET /monitor/type/schema ### Description Returns a combined document containing every monitor type's schema in one oneOf structure, discriminated on type, with all shapes' $defs in one namespace. ``` -------------------------------- ### Monitor creation response Source: https://www.host-tracker.com/en/apidocs/v2/monitors The full resource object returned upon successful creation of a monitor. ```json { "id": "13399a5e-4c6b-4f87-a303-4a526431db26", "type": "http", "name": "gm-doc-test-1786122527", "url": "https://example.com/gm-doc-1786122527", "state": "up", "since": 1786122528, "enabled": true, "tags": [], "updated": 1786122528, "interval": 60, "slaTarget": null, "locations": { "pools": ["allworld"], "excludedAgents": [] }, "settings": { "followRedirect": true }, "attached": { "dnsbl": false, "sslExp": false, "domainExp": false, "webRisk": false }, "created": 1786122528, "subscription": [] } ``` -------------------------------- ### GET /statuspage Source: https://www.host-tracker.com/en/apidocs/v2/statuspages Retrieves a list of all status pages associated with the account. ```APIDOC ## GET /statuspage ### Description Retrieves a list of all status pages. The list is small and closed, sorting by created, title, or slug. ### Method GET ### Endpoint /statuspage ``` -------------------------------- ### Fetch the first page of monitors Source: https://www.host-tracker.com/en/apidocs/v2/paging Initial request to retrieve the first page of monitors with a specified limit. ```bash curl 'https://api2.host-tracker.com/monitor?limit=2' -H 'Authorization: Bearer YOUR_TOKEN' → data: [6cc03577…, 9ab7a30e…], hasMore: true → nextCursor: eyJrIjoibS5jcmVhdGVkOjA2MzkyMDkyMjU4MjAwMDAwMDAiLCJpIjoiOWFiN2EzMGUtMDhhMS00OWI1LTg3YTAtM2FkOTg1YWRiODE1IiwiZCI6ImYiLCJ2IjoxfQ.8738c718314f3cec ``` -------------------------------- ### GET /account/member Source: https://www.host-tracker.com/en/apidocs/v2/account Retrieves the contacts holding shared access to this account. ```APIDOC ## GET /account/member ### Description Retrieves the contacts holding shared access to this account. ### Method GET ### Endpoint /account/member ``` -------------------------------- ### Retrieve paginated monitor results Source: https://www.host-tracker.com/en/apidocs/v2/results Demonstrates the initial request and subsequent page retrieval using the opaque cursor returned in the response. ```bash curl 'https://api2.host-tracker.com/monitor/result?monitor=fd8fab57-c730-400e-bb1c-faf0d54964a4&limit=3' … ``` ```bash curl 'https://api2.host-tracker.com/monitor/result?monitor=fd8fab57-c730-400e-bb1c-faf0d54964a4&limit=3&cursor=eyJrIjoiMDYzOTIxNjUxNzIyMDAwMDAwMCIsIm…' … ``` -------------------------------- ### GET /account/quota Source: https://www.host-tracker.com/en/apidocs/v2/account Retrieves API-call headroom and the mintable scope catalogue. ```APIDOC ## GET /account/quota ### Description Retrieves API-call headroom and the mintable scope catalogue. ### Method GET ### Endpoint /account/quota ``` -------------------------------- ### GET /monitor/result/summary Source: https://www.host-tracker.com/en/apidocs/v2/paging Retrieves a summary of monitor results with support for count expansion. ```APIDOC ## GET /monitor/result/summary ### Description Retrieves a summary of monitor results. ### Method GET ### Endpoint /monitor/result/summary ### Parameters #### Query Parameters - **expand** (string) - Optional - Supports 'count'. ``` -------------------------------- ### GET /monitor/incident Source: https://www.host-tracker.com/en/apidocs/v2/paging Retrieves monitor incidents with support for sorting and count expansion. ```APIDOC ## GET /monitor/incident ### Description Retrieves monitor incidents. ### Method GET ### Endpoint /monitor/incident ### Parameters #### Query Parameters - **sort** (string) - Optional - Supported columns: time, monitor. Default: monitor. - **expand** (string) - Optional - Supports 'count'. ``` -------------------------------- ### SLA target and error budget response Source: https://www.host-tracker.com/en/apidocs/v2/results Example response showing SLA metrics including target, status, and remaining error budget seconds. ```json { "monitorId": "fd8fab57-c730-400e-bb1c-faf0d54964a4", "from": 1783530678, "to": 1786122678, "upSec": 210922, "downSec": 0, "maintenanceSec": 0, "downSpans": 0, "checkCount": 75, "uptimePercent": 100.0000, "slaTarget": 99.99, "slaMet": true, "errorBudgetSecRemaining": 21 } ``` -------------------------------- ### GET /monitor/result Source: https://www.host-tracker.com/en/apidocs/v2/paging Retrieves monitor results with support for sorting and count expansion. ```APIDOC ## GET /monitor/result ### Description Retrieves monitor results. ### Method GET ### Endpoint /monitor/result ### Parameters #### Query Parameters - **sort** (string) - Optional - Supported columns: time, monitor. Default: monitor. - **expand** (string) - Optional - Supports 'count'. ``` -------------------------------- ### GET /monitor Source: https://www.host-tracker.com/en/apidocs/v2/paging Retrieves a paginated list of monitors. Use the 'limit' parameter to define page size and the 'cursor' parameter to fetch subsequent pages. ```APIDOC ## GET /monitor ### Description Retrieves a list of monitors using cursor-based pagination. The API returns a 'nextCursor' token that must be passed back to fetch the next page. ### Method GET ### Endpoint /monitor ### Parameters #### Query Parameters - **limit** (integer) - Optional - The number of items to return per page. Must be between 1 and 500. Defaults to 50. - **cursor** (string) - Optional - The opaque token returned from the previous response to fetch the next set of results. ### Request Example curl 'https://api2.host-tracker.com/monitor?limit=2&cursor=eyJrIjoibS5jcmVhdGVkOjA2MzkyMDkyMjU4MjAwMDAwMDAiLCJpIjoiOWFiN2EzMGUtMDhhMS00OWI1LTg3YTAtM2FkOTg1YWRiODE1IiwiZCI6ImYiLCJ2IjoxfQ.8738c718314f3cec' -H 'Authorization: Bearer YOUR_TOKEN' ### Response #### Success Response (200) - **data** (array) - A list of monitor identifiers. - **hasMore** (boolean) - Indicates if there are more pages available. - **nextCursor** (string) - The token to use for the next request. #### Response Example { "data": ["8e71dd88…", "c664264d…"], "hasMore": true, "nextCursor": "eyJrIjoibS5jcmVhdGVkOjA2MzkyMDc4NjkyOTAwMDAwMDAiLCJpIjoiYzY2NDI2NGQtNzk3Zi00NDNkLWEwNjctYTQ3NDNiMTczYmVmIiwiZCI6ImYiLCJ2IjoxfQ.e7ca67d3b6eb5a90" } ``` -------------------------------- ### GET /contact/{id}/report Source: https://www.host-tracker.com/en/apidocs/v2/results Lists all report subscriptions for a specific contact. ```APIDOC ## GET /contact/{id}/report ### Description Lists all report subscriptions associated with a specific contact. ### Method GET ### Endpoint /contact/{id}/report ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the contact. ``` -------------------------------- ### Quota Echo for Capped Tokens Source: https://www.host-tracker.com/en/apidocs/v2/auth Example response from the quota endpoint confirming the token's self-imposed usage cap. ```json { /* … */ "tokenCap": 1 /* echoes the mint's cap, verbatim */ } ``` -------------------------------- ### GET /monitor/{monitorId}/report Source: https://www.host-tracker.com/en/apidocs/v2/results Lists all report subscriptions for a specific monitor. ```APIDOC ## GET /monitor/{monitorId}/report ### Description Lists all report subscriptions associated with a specific monitor. ### Method GET ### Endpoint /monitor/{monitorId}/report ### Parameters #### Path Parameters - **monitorId** (string) - Required - The ID of the monitor. ``` -------------------------------- ### POST /monitor Source: https://www.host-tracker.com/en/apidocs/v2/quickstart Creates a new monitor for a specific URL. ```APIDOC ## POST /monitor ### Description Creates a new HTTP monitor. Requires the monitor type and URL, with optional configuration for intervals and agent pools. ### Method POST ### Endpoint https://api2.host-tracker.com/monitor ### Request Body - **type** (string) - Required - The type of monitor (e.g., "http") - **url** (string) - Required - The URL to monitor - **name** (string) - Optional - A descriptive name for the monitor - **interval** (integer) - Optional - Monitoring interval in seconds - **locations** (object) - Optional - Configuration for agent pools ### Request Example { "type": "http", "url": "https://example.com", "name": "Docs quickstart monitor", "interval": 60, "locations": { "pools": ["westeurope"] } } ### Response #### Success Response (201) - **id** (string) - The unique identifier of the created monitor - **type** (string) - The monitor type - **url** (string) - The monitored URL - **state** (string) - Current status of the monitor #### Response Example { "id": "79c21af5-0f43-4262-b7b6-841cd3b39b19", "type": "http", "name": "Docs quickstart monitor", "url": "https://example.com", "state": "up" } ``` -------------------------------- ### GET /webhook/{id}/delivery Source: https://www.host-tracker.com/en/apidocs/v2/webhooks Retrieves the delivery log for a specific webhook. ```APIDOC ## GET /webhook/{id}/delivery ### Description Retrieves the delivery log for a webhook, which is used to inspect the status of individual delivery attempts. ### Method GET ### Endpoint /webhook/{id}/delivery ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the webhook. ``` -------------------------------- ### GET /webhook Source: https://www.host-tracker.com/en/apidocs/v2/webhooks Retrieves the authoritative catalogue of event types supported by the system. ```APIDOC ## GET /webhook ### Description Returns the authoritative catalogue of event types in the summary.eventTypes block, providing a description for each supported event. ### Method GET ### Endpoint /webhook ``` -------------------------------- ### Retrieve Status Page Details Source: https://www.host-tracker.com/en/apidocs/v2/statuspages Returns the full configuration and metadata for a specific status page, including settings and component lists. ```json { "id": "…", "slug": "acme", "title": "Acme status", "componentCount": 4, "unresolvedIncidents": 0, "hasPassword": false, "created": 1785712608, "customDomain": null, "settings": { "homepageUrl": "https://acme.example.com", "theme": "…", "themeColor": "…", "density": "wide", // wide | compact "logoAlignment": "left", // left | center "showGroups": true, "robotsIndex": true, "hideBranding": false, "autoAddMonitors": false, "features": [ /* named tokens - never a bitmask */ ], "slaTarget": 99.9 }, "components": [ /* ordered - see below */ ] } ``` -------------------------------- ### GET /contact Source: https://www.host-tracker.com/en/apidocs/v2/migrate Retrieves a list of contacts with support for cursor-based pagination and expansion. ```APIDOC ## GET /contact ### Description Returns a list of contacts. Supports cursor-based pagination and the `expand` parameter for related data like subscriptions, templates, groups, summaries, and counts. ### Method GET ### Endpoint /contact ### Parameters #### Query Parameters - **expand** (string) - Optional - Comma-separated list of resources to expand (subscription, template, group, summary, count). ``` -------------------------------- ### GET /contact/type Source: https://www.host-tracker.com/en/apidocs/v2/migrate Retrieves the list of available contact types and their associated metadata. ```APIDOC ## GET /contact/type ### Description Retrieves a list of supported contact types (e.g., email, sms, telegram) along with their gateways, report capabilities, and accepted alert delays. ### Method GET ### Endpoint /contact/type ``` -------------------------------- ### POST /monitor/report Source: https://www.host-tracker.com/en/apidocs/v2/results Initiates an asynchronous job to generate a monitor uptime report. ```APIDOC ## POST /monitor/report ### Description Creates a new report generation job. The response contains a jobId used to poll for completion. ### Method POST ### Endpoint https://api2.host-tracker.com/monitor/report ### Request Body - **type** (string) - Required - The type of report (e.g., "uptime"). - **format** (string) - Required - The output format (e.g., "pdf"). - **monitorIds** (array) - Required - List of monitor IDs to include. - **from** (integer) - Required - Start timestamp. - **to** (integer) - Required - End timestamp. - **sections** (array) - Optional - Report sections to include. ```