### GET /schedule-maintenance Source: https://docs.hetrixtools.com/api/v3 Retrieves a list of all scheduled maintenance windows. ```APIDOC ## GET /schedule-maintenance ### Description API call used to list all scheduled maintenance windows. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/schedule-maintenance ### Parameters #### Query Parameters - **per_page** (integer) - Optional - Number of maintenance windows returned per page (1-200). - **page** (integer) - Optional - Which page of the paginated results to return (1-10000). - **monitor_id** (string) - Optional - Filter by uptime monitor ID. ### Response #### Success Response (200) - **scheduled_maintenances** (Array) - List of maintenance objects - **meta** (object) - Pagination metadata ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/server-agent/warning-policies Source: https://docs.hetrixtools.com/api/v3 Retrieves the Server Agent warning policies for a specific uptime monitor. ```APIDOC ## GET /uptime-monitors/{monitor_id}/server-agent/warning-policies ### Description API call used to get an uptime monitor's Server Agent warning policies. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/server-agent/warning-policies ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor id, which can be found by running the GET - Uptime Monitors API. ### Responses #### Success Response (200) - **agent_data_warn** (object) - Issue warnings when the server monitoring agent hasn't sent data. - **cpu_usage_warn** (object) - Issue warnings when cpu usage reaches a threshold. - **iowait_usage_warn** (object) - Issue warnings when iowait usage reaches a threshold. - **ram_usage_warn** (object) - Issue warnings when ram usage reaches a threshold. - **swap_usage_warn** (object) - Issue warnings when swap usage reaches a threshold. - **disk_usage_warn** (object) - Issue warnings when disk usage reaches a threshold. - **raid_warn** (object) - Issue warnings RAID status is not completely healthy. - **drive_errors_warn** (object) - Issue warnings when drive errors reach a threshold. - **drive_wearout_warn** (object) - Issue warnings when drive wearout reaches a threshold. - **drive_smart_warn** (object) - Issue warnings when S.M.A.R.T. test fails. - **network_in_warn** (object) - Issue warnings when inbound usage reaches a threshold. - **network_out_warn** (object) - Issue warnings when outbound usage reaches a threshold. - **services_warn** (object) - Issue warnings when a service goes down. #### Response Example (200) ```json { "agent_data_warn": { "enabled": true, "threshold": 3, "warn_frequency": 5 }, "cpu_usage_warn": { "enabled": true, "threshold": 1, "time_frame": 1, "warn_frequency": 5 }, "iowait_usage_warn": { "enabled": true, "threshold": 1, "time_frame": 1, "warn_frequency": 5 }, "ram_usage_warn": { "enabled": true, "threshold": 1, "time_frame": 1, "warn_frequency": 5 }, "swap_usage_warn": { "enabled": true, "threshold": 1, "time_frame": 1, "warn_frequency": 5 }, "disk_usage_warn": { "enabled": true, "threshold": 1, "time_frame": 1, "warn_frequency": 5, "warn_disks": [ { "id": "stringstringstringstringstringst", "enabled": true, "mount": "string" } ] }, "raid_warn": { "enabled": true, "warn_type": "not_ideal", "warn_frequency": 5 }, "drive_errors_warn": { "enabled": true, "threshold": 1, "warn_frequency": 5 }, "drive_wearout_warn": { "enabled": true, "threshold": 1, "warn_frequency": 5 }, "drive_smart_warn": { "enabled": true, "warn_frequency": 5 }, "network_in_warn": { "enabled": true, "threshold": 1, "threshold_type": "kbps", "time_frame": 1, "warn_frequency": 5, "warn_nics": [ { "id": "stringstringstringstringstringst", "enabled": true, "name": "string" } ] }, "network_out_warn": { "enabled": true, "threshold": 1, "threshold_type": "kbps", "time_frame": 1, "warn_frequency": 5, "warn_nics": [ { "id": "stringstringstringstringstringst", "enabled": true, "name": "string" } ] }, "services_warn": { "enabled": true, "warn_frequency": 5, "warn_services": [ { "id": "stringstringstringstringstringst", "enabled": true, "name": "string" } ] } } ``` ``` -------------------------------- ### Uptime Monitor JSON Response Source: https://docs.hetrixtools.com/api/v3 Example of a successful 200 response containing monitor details, status, and location-specific metrics. ```json { "monitors": [ { "id": "e34334dt5t755b034606y54ccabe62e8", "name": "Uptime Monitor Name", "type": "website", "target": "http://demo-website.com", "resolve_address": "1.2.3.4", "resolve_address_info": { "ASN": "AS394303", "ISP": "Steadfast", "City": "Tampa", "Region": "Florida", "Country": "US" }, "port": null, "keyword": "", "category": "My Websites", "timeout": 10, "check_frequency": 1, "contact_lists": [ "f1da3895ty67b5de605y6grcd3c23f0e" ], "created_at": 1499315164, "last_check": 1641832650, "last_status_change": 1641367229, "uptime_status": "up", "monitor_status": "active", "uptime": 99.9588, "uptime_incl_maint": 99.9588, "locations": { "new_york": { "uptime_status": "up", "response_time": 74, "last_check": 1641832627 }, "san_francisco": { "uptime_status": "up", "response_time": 123, "last_check": 1641832638 }, "amsterdam": { "uptime_status": "up", "response_time": 227, "last_check": 1641832635 } }, "ssl_expiration_date": "2022-03-06", "ssl_expiration_warn": true, "ssl_expiration_warn_days": 7, "domain_expiration_date": "2022-05-10", "domain_expiration_warn": true, "domain_expiration_warn_days": 15, "nameservers": [ "adi.ns.cloudflare.com", "dave.ns.cloudflare.com" ], "nameservers_change_warn": true, "public_report": true, "public_target": true, "max_redirects": 5, "http_method": "GET", "accepted_http_codes": [ 200 ], "verify_ssl_certificate": false, "verify_ssl_hostname": false, "number_of_tries": 3, "triggering_locations": 2, "alert_after_minutes": 0, "repeat_alert_times": 0, "repeat_alert_frequency": 0, "agent_id": "9b7e53ddrfc12342r45ed234cfbf07c" } ], "meta": { "total": 202, "total_filtered": 1, "returned": 1, "pagination": { "current": 1, "last": 1, "previous": null, "next": null } } } ``` -------------------------------- ### GET /uptime-monitors Source: https://docs.hetrixtools.com/api/v3 Retrieves a list of uptime monitors with support for filtering, sorting, and pagination. ```APIDOC ## GET /uptime-monitors ### Description Fetches a list of uptime monitors based on provided filter criteria such as status, type, or name. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors ### Parameters #### Query Parameters - **per_page** (integer) - Optional - Number of monitors returned per page (1-200). - **page** (integer) - Optional - Which page of the paginated results to return (1-10000). - **id** (string) - Optional - Filter results by monitor ID. - **name** (string) - Optional - Filter results by name. - **target** (string) - Optional - Filter results by monitored target. - **category** (string) - Optional - Filter results by category. - **type** (string) - Optional - Filter results by monitor type (website, ping, service, smtp, heartbeat). - **uptime_status** (string) - Optional - Filter results by uptime status (up, down). - **monitor_status** (string) - Optional - Filter results by monitor status (active, paused, disabled, maint, maint_dnd). - **order** (string) - Optional - Order results ascending or descending. - **order_by** (string) - Optional - Order results by a specific field. ### Response #### Success Response (200) - **monitors** (Array) - List of uptime monitors. - **meta** (object) - Pagination metadata. ``` -------------------------------- ### GET /v3/blacklist-monitors Source: https://docs.hetrixtools.com/api/v3 Retrieves a list of blacklist monitors with filtering, sorting, and pagination options. ```APIDOC ## GET /v3/blacklist-monitors ### Description API call used to get blacklist monitors and their details. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/blacklist-monitors ### Query Parameters - **per_page** (integer) - Optional - Default: 20 - Number of monitors returned per page. (1 to 1024) - **page** (integer) - Optional - Default: 1 - Which page of the paginated results to return. (1 to 10000) - **name** (string) - Optional - Filter results by name (accepts partial or full name). Accepts: `^[a-zA-Z0-9 .-]+$` - **exact_name** (boolean) - Optional - If set to `true`, the `name` filter will perform an exact match on the monitored name; all other filters will be ignored. - **target** (string) - Optional - Filter results by monitored target (accepts partial or full target). Accepts: `^[a-zA-Z0-9.-]+$` - **exact_target** (boolean) - Optional - If set to `true`, the `target` filter will perform an exact match on the monitored target; all other filters will be ignored. - **cidr** (integer) - Optional - If specified, the `target` filter will be treated as a CIDR range with the specified prefix length and will match all IPs within that range. (21 to 32) - **type** (string) - Optional - Filter results by monitor type. Enum: "ipv4", "domain" - **listed** (boolean) - Optional - Filter results by listed status. - **order** (string) - Optional - Order results ascending or descending. Enum: "asc", "desc" - **order_by** (string) - Optional - Order results by a specific field. Enum: "name", "target", "listed", "created_at", "last_check" ### Responses #### Success Response (200) - **monitors** (Array of objects) - List of blacklist monitors. - **meta** (object) - Pagination and filtering metadata. #### Error Responses - **400** - Bad Request: API request is invalid or not properly formatted. - **401** - Unauthorized: Missing or invalid authentication API key (bearer token). - **403** - Forbidden: Your API key does not have access to perform this request. - **429** - Rate Limited: You are performing API requests too frequently. ### Response Example (200) ```json { "monitors": [ { "id": "stringstringstringstringstringst", "name": "string", "type": "ipv4", "target": "string", "rdns": "string", "report_id": "stringstringstringstringstringst", "status": "active", "contact_lists": [ "stringstringstringstringstringst" ], "listed": [ { "rbl": "string", "delist": "string" } ], "created_at": 0, "last_check": 0 } ], "meta": { "total": 0, "total_filtered": 0, "returned": 0, "pagination": { "current": 0, "last": 0, "previous": 0, "next": 0 } } } ``` ``` -------------------------------- ### GET /v3/blacklist-monitors/{identifier} Source: https://docs.hetrixtools.com/api/v3 Retrieves the blacklist report for a specific blacklist monitor. ```APIDOC ## GET /v3/blacklist-monitors/{identifier} ### Description API call used to get the blacklist report for a specific blacklist monitor. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/blacklist-monitors/{identifier} ### Path Parameters - **identifier** (string) - Required - The blacklist monitor identifier; can be the 32 characters long monitor ID, the IP address or the hostname of the blacklist monitor. ### Query Parameters - **date** (string) - Optional - Report date in `YYYY-MM-DD` format. Defaults to the current date. ### Responses #### Success Response (200) Successful Response. #### Error Responses - **400** - Bad Request: API request is invalid or not properly formatted. - **401** - Unauthorized: Missing or invalid authentication API key (bearer token). - **403** - Forbidden: Your API key does not have access to perform this request. - **429** - Rate Limited: You are performing API requests too frequently. ### Response Example (200) ```json { "ipv4": [ { "id": "hostkarma.junkemailfilter.com", "rbl": "hostkarma.junkemailfilter.com", "optional": false, "ignored": false }, { "id": "invaluement_sip", "rbl": "invaluement SIP", "optional": false, "ignored": false }, { "id": "invaluement_sip_24", "rbl": "invaluement SIP/24", "optional": false, "ignored": false }, { "id": "nordspam", "rbl": "NordSpam", "optional": false, "ignored": false }, { "id": "ips.backscatterer.org", "rbl": "ips.backscatterer.org", "optional": false, "ignored": false } ], "domains": [ { "id": "dnsbl.spfbl.net", "rbl": "dnsbl.spfbl.net", "optional": false, "ignored": false }, { "id": "phishtank", "rbl": "PhishTank", "optional": false, "ignored": false }, { "id": "nordspam", "rbl": "NordSpam", "optional": false, "ignored": false }, { "id": "hostkarma.junkemailfilter.com", "rbl": "hostkarma.junkemailfilter.com", "optional": false, "ignored": false }, { "id": "invaluement_uri", "rbl": "invaluement URI", "optional": false, "ignored": false } ] } ``` ``` -------------------------------- ### API Request Authentication Example Source: https://docs.hetrixtools.com/api/v3 This cURL command demonstrates how to authenticate API requests using a Bearer Token. Replace {BEARER_TOKEN} with your actual API key and {ENDPOINT} with the desired API endpoint. ```bash curl -X GET -H "Authorization: Bearer {BEARER_TOKEN}" "https://api.hetrixtools.com/v3/{ENDPOINT}" ``` -------------------------------- ### GET /status-pages Source: https://docs.hetrixtools.com/api/v3 Retrieves a list of all status pages associated with the account. ```APIDOC ## GET /status-pages ### Description API call used to get a list of all your status pages. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/status-pages ### Parameters #### Query Parameters - **page** (integer) - Optional - The page number that you want to retrieve (>= 1). - **per_page** (integer) - Optional - The number of status pages that you want to retrieve per page (1-100). - **name** (string) - Optional - The name of the status page that you want to retrieve. ### Response #### Success Response (200) - **status_pages** (array) - List of status page objects. - **meta** (object) - Metadata for the response. #### Response Example { "status_pages": [], "meta": {} } ``` -------------------------------- ### Blacklist Monitor Report Response Source: https://docs.hetrixtools.com/api/v3 Example JSON response for a successful blacklist monitor report request. ```json { "id": "3f1b14944123c3878d9a372d54c3e003", "name": "my-monitor", "type": "ipv4", "target": "203.0.113.1", "report_id": "abcdef1234567890abcdef1234567890", "listed": [ { "rbl": "all.spamrats.com", "delist": "http://www.spamrats.com/lookup.php?ip=203.0.113.1" }, { "rbl": "b.barracudacentral.org", "delist": "http://www.barracudacentral.org/rbl/removal-request/203.0.113.1" }, { "rbl": "zen.spamhaus.org", "delist": "https://check.spamhaus.org/results/?query=203.0.113.1" } ] } ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/report Source: https://docs.hetrixtools.com/api/v3 API call used to get the uptime report for a specific uptime monitor. ```APIDOC ## GET /uptime-monitors/{monitor_id}/report ### Description API call used to get the uptime report for a specific uptime monitor. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/report ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor ID. #### Query Parameters - **days** (integer) - Optional - Number of recent days to display (1-30). Defaults to 7. - **month** (string) - Optional - The month to display the uptime report for, in YYYY-MM format. If specified, `days` has no effect. - **timezone** (string) - Optional - The timezone used for the report (e.g., +02:00 or -5:30). Defaults to +00:00 (UTC). - **hourly_stats** (boolean) - Optional - Whether to include hourly stats for website uptime monitors. Defaults to false. ### Responses #### Success Response (200) - **timezone** (string) - The timezone used in the report. - **data** (object) - **summary** (object) - **history** (object) - Historical uptime data for all available months. #### Error Responses - **400** - Bad Request - API request is invalid or not properly formatted. - **401** - Unauthorized - Missing or invalid authentication API key (bearer token). - **403** - Forbidden - Your API key does not have access to perform this request. - **404** - Not Found - The resource you have requested was not found. - **429** - Rate Limited - You are performing API requests too frequently. ``` -------------------------------- ### GET /account/limits Source: https://docs.hetrixtools.com/api/v3 Retrieves the current usage and limits for your HetrixTools account. This endpoint is not paginated. ```APIDOC ## GET /account/limits ### Description API call used to get the current usage and limits for your HetrixTools account. This endpoint is not paginated. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/account/limits ### Parameters #### Query Parameters None ### Request Body None ### Response #### Success Response (200) - **uptime** (object) - Account uptime limits and usage. - **blacklist** (object) - Account blacklist limits and usage. - **sub_accounts** (object) - Account sub-account limits and usage. - **sms_credits** (object) - Account SMS credits. - **account_credit** (object) - Account credit balance. - **api_v1_v2** (object) - Account API v1/v2 limits and usage. #### Error Response (400) Bad Request - API request is invalid or not properly formatted. #### Error Response (401) Unauthorized - Missing or invalid authentication API key (bearer token). #### Error Response (403) Forbidden - Your API key does not have access to perform this request. #### Error Response (429) Rate Limited - You are performing API requests too frequently. ``` -------------------------------- ### GET /v3/blacklists Source: https://docs.hetrixtools.com/api/v3 Retrieves a list of blacklists (RBLs) checked by the platform. ```APIDOC ## GET /v3/blacklists ### Description API call used to get the list of blacklists (RBLs) checked by our platform. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/blacklists ### Response #### Success Response (200) - **ipv4** (Array of objects) - List of IPv4 blacklist information. - **domains** (Array of objects) - List of domain blacklist information. ### Error Handling - **400**: Bad Request - API request is invalid or not properly formatted. - **401**: Unauthorized - Missing or invalid authentication API key (bearer token). - **403**: Forbidden - Your API key does not have access to perform this request. - **429**: Rate Limited - You are performing API requests too frequently. ``` -------------------------------- ### GET /v3/contact-lists Source: https://docs.hetrixtools.com/api/v3 Retrieves a list of contact lists and their associated details. Supports pagination. ```APIDOC ## GET /v3/contact-lists ### Description API call used to get contact lists and their details. Supports pagination. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/contact-lists ### Parameters #### Query Parameters - **per_page** (integer) - Optional - Number of monitors returned per page. Default: 20. Max: 200. - **page** (integer) - Optional - Which page of the paginated results to return. Default: 1. Max: 10000. ### Response #### Success Response (200) - **contact_lists** (Array of objects) - List of contact list objects. - **meta** (object) - Pagination metadata. #### Response Example ```json { "contact_lists": [ { "id": "stringstringstringstringstringst", "name": "string", "default": true, "email": [ "string" ], "phone_sms": [ "string" ], "telegram": [ "string" ], "pushbullet": [ "string" ], "pushover": { "key": "string", "priority": 0 }, "twitter": [ "string" ], "slack": { "webhook": "string", "target": "string", "hide_target": true }, "discord": { "webhook": "string", "target": "string", "hide_target": true }, "mattermost_rocketchat": { "webhook": "string", "target": "string", "hide_target": true }, "microsoft_teams": { "webhook": "string" }, "pagerduty": { "key": "string" }, "opsgenie": { "key": "string", "priority": "string" }, "victorops": { "key": "string", "route": "string", "priority": "string" }, "webhook": { "url": "string", "authentication": "string" }, "dnd": [ { "day": "string", "hour": "string" } ] } ], "meta": { "total": 0, "returned": 0, "pagination": { "current": 0, "last": 0, "previous": 0, "next": 0 } } } ``` ### Error Handling - **400**: Bad Request - API request is invalid or not properly formatted. - **401**: Unauthorized - Missing or invalid authentication API key (bearer token). - **403**: Forbidden - Your API key does not have access to perform this request. - **429**: Rate Limited - You are performing API requests too frequently. ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/downtimes Source: https://docs.hetrixtools.com/api/v3 Retrieves a list of downtime entries for a specific uptime monitor. Supports filtering by time and pagination. ```APIDOC ## GET /uptime-monitors/{monitor_id}/downtimes ### Description API call used to get an uptime monitor's Downtimes. This endpoint allows you to retrieve historical downtime data for a specific monitor, with options to filter by start time and paginate results. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/downtimes ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor id, which can be found by running the GET - Uptime Monitors API. #### Query Parameters - **per_page** (integer) - Optional - Default: 20 - Number of monitors returned per page. Range: [1 .. 200] - **page** (integer) - Optional - Default: 1 - Which page of the paginated results to return. Range: [1 .. 10000] - **start_before** (integer) - Optional - Filter the downtime entries to only those that have started before the specified timestamp. _Example:_ A value of `1641832650` will fetch downtimes that started at and before the timestamp `1641832650`. - **start_after** (integer) - Optional - The timestamp after which to start scanning for downtime entries. _Example:_ A value of `1641832650` will fetch downtimes that started at and after the timestamp `1641832650`. ### Responses #### Success Response (200) - **downtimes** (Array of objects) - List of downtime entries. - **meta** (object) - Metadata about the results, including pagination information. #### Response Example ```json { "downtimes": [ { "id": "stringstringstringstringstringst", "start": 0, "end": 0, "maintenance": true } ], "meta": { "total": 0, "total_filtered": 0, "returned": 0, "pagination": { "current": 0, "last": 0, "previous": 0, "next": 0 } } } ``` #### Error Responses - **400** - Bad Request - API request is invalid or not properly formatted. - **401** - Unauthorized - Missing or invalid authentication API key (bearer token). - **403** - Forbidden - Your API key does not have access to perform this request. - **429** - Rate Limited - You are performing API requests too frequently. ``` -------------------------------- ### Get Account Limits Endpoint Source: https://docs.hetrixtools.com/api/v3 This is the HetrixTools API v3 endpoint for retrieving account limits and current usage. It requires Bearer token authentication. ```bash https://api.hetrixtools.com/v3/account/limits ``` -------------------------------- ### GET /blacklist-monitors/{identifier}/report Source: https://docs.hetrixtools.com/api/v3 Retrieves the blacklist report for a specific blacklist monitor identified by its unique ID. ```APIDOC ## GET /blacklist-monitors/{identifier}/report ### Description Retrieves the blacklist report for a specific blacklist monitor, including the list of RBLs where the target is currently listed. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/blacklist-monitors/{identifier}/report ### Parameters #### Path Parameters - **identifier** (string) - Required - The unique blacklist monitor ID. ### Response #### Success Response (200) - **id** (string) - The unique blacklist monitor ID. - **name** (string) - The blacklist monitor's name. - **type** (string) - The type of blacklist monitor (ipv4, domain). - **target** (string) - The monitored target. - **report_id** (string) - The unique blacklist report ID. - **listed** (Array) - The array of blacklists that have listed the monitored target. #### Response Example { "id": "3f1b14944123c3878d9a372d54c3e003", "name": "my-monitor", "type": "ipv4", "target": "203.0.113.1", "report_id": "abcdef1234567890abcdef1234567890", "listed": [ { "rbl": "all.spamrats.com", "delist": "http://www.spamrats.com/lookup.php?ip=203.0.113.1" } ] } ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/location-fail-log Source: https://docs.hetrixtools.com/api/v3 Retrieves location-specific failure log entries for an uptime monitor within a specified time frame. ```APIDOC ## GET /uptime-monitors/{monitor_id}/location-fail-log ### Description API call used to get an uptime monitor's Location Fail Log. This endpoint helps in diagnosing issues by providing detailed logs of failures from different geographical locations. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/location-fail-log ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor id, which can be found by running the GET - Uptime Monitors API. #### Query Parameters - **timestamp** (integer) - Optional - The timestamp when to start scanning for log entries. If no timestamp is provided, the scanning will start at the current timestamp. - **minutes** (integer) - Optional - Default: 10 - The number of minutes containing log entries to get. Range: [1 .. 100]. Minutes without log entries are not counted/considered, and each minute may contain multiple log entries. _Example:_ A value of `10` will scan through the logs, in a descending order starting from the `timestamp`, until it finds 10 different minutes containing log entries. ### Responses #### Success Response (200) Successful Response. The schema for the response body is not detailed in the provided text, but it is expected to contain location-specific failure log data. ``` -------------------------------- ### Rate Limiting Sample Response Source: https://docs.hetrixtools.com/api/v3 This is an example of an API response when rate limits are exceeded. It returns a 429 status code and a JSON body indicating the issue. ```json 429 Too Many Requests { "status": "too_many_requests", "message": "user api rate limit exceeded" } ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/location-fail-log Source: https://docs.hetrixtools.com/api/v3 Retrieves the location fail log for a specific uptime monitor. This endpoint returns an array of log entries, each containing a timestamp, location, and error data. ```APIDOC ## GET /uptime-monitors/{monitor_id}/location-fail-log ### Description Retrieves the location fail log for a specific uptime monitor. This endpoint returns an array of log entries, each containing a timestamp, location, and error data. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/location-fail-log ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor id. ### Response #### Success Response (200) - **entries** (Array of objects) - An array of log entries. - **timestamp** (integer) - The timestamp of the log entry. - **location** (string) - The location where the failure occurred. - **data** (string) - The error data associated with the failure. - **meta** (object) - Metadata about the response. - **returned** (integer) - The number of entries returned. - **start_timestamp** (integer) - The start timestamp for the query. - **end_timestamp** (integer) - The end timestamp for the query. - **next_page_timestamp** (integer) - The timestamp for the next page of results. #### Response Example ```json { "entries": [ { "timestamp": 1641909671, "location": "London 6", "data": "Error 28: Connection timed out after 10001 milliseconds (10001ms)" }, { "timestamp": 1641588609, "location": "Amsterdam 1", "data": "Error 28: Connection timed out after 10001 milliseconds (10001ms)" } ], "meta": { "returned": 2, "start_timestamp": 1641926870, "end_timestamp": 1641588600, "next_page_timestamp": 1641588599 } } ``` ``` -------------------------------- ### Get Server Agent ID Source: https://docs.hetrixtools.com/api/v3 Retrieves the unique server agent ID associated with an uptime monitor. Returns null if no agent is attached. ```json { "agent_id": "e34334f5gt755b034606y54ccabe62e8" } ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/server-agent Source: https://docs.hetrixtools.com/api/v3 Retrieves the Server Monitoring Agent ID attached to a specific uptime monitor. Returns the agent ID if attached, or null if not. ```APIDOC ## GET /uptime-monitors/{monitor_id}/server-agent ### Description Retrieves the Server Monitoring Agent ID attached to a specific uptime monitor. Returns the agent ID if attached, or null if not. ### Method GET ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/server-agent ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor id. ### Response #### Success Response (200) - **agent_id** (string or null) - The unique server agent monitor ID attached to this uptime monitor, or `null` if none is attached. #### Response Example ```json { "agent_id": "e34334f5gt755b034606y54ccabe62e8" } ``` ``` -------------------------------- ### Add Monitors to Status Page Response Source: https://docs.hetrixtools.com/api/v3 Successful response format after adding monitors. ```json { "status": "success", "message": "x monitor(s) added to status page" } ``` -------------------------------- ### Account Usage Information Source: https://docs.hetrixtools.com/api/v3 Provides an overview of the current usage and limits for various account resources. ```APIDOC ## Account Usage Information ### Description This section details the usage and limits for different account resources such as monitors, blacklist checks, SMS credits, and API access. ### Response Example (Usage Data) ```json { "uptime": { "monitors": { "usage": 12, "limit": 50 } }, "blacklist": { "monitors": { "usage": 3, "limit": 20 }, "api_check_credits": { "usage": 40, "limit": 100, "details": { "monthly_from_plans": 100, "extra_credits": 0 } } }, "sub_accounts": { "usage": 1, "limit": 5 }, "sms_credits": { "usage": 2, "limit": 50, "details": { "monthly_from_plans": 50, "extra_credits": 0 } }, "account_credit": { "balance": 12.5 }, "api_v1_v2": { "usage": 300, "limit": 1000 } } ``` ### Response Codes - **200**: OK - Successfully retrieved account usage information. - **400**: Bad Request - API request is invalid or not properly formatted. - **401**: Unauthorized - Missing or invalid authentication API key (bearer token). - **403**: Forbidden - Your API key does not have access to perform this request. - **429**: Rate Limited - You are performing API requests too frequently. ``` -------------------------------- ### PUT /uptime-monitors/{monitor_id}/server-agent/warning-policies Source: https://docs.hetrixtools.com/api/v3 Updates the Server Agent warning policies for a specific uptime monitor. ```APIDOC ## PUT /uptime-monitors/{monitor_id}/server-agent/warning-policies ### Description API call used to update an uptime monitor's Server Agent warning policies. ### Method PUT ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/server-agent/warning-policies ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor id, which can be found by running the GET - Uptime Monitors API. ### Request Body (Note: The request body structure is the same as the success response of the GET endpoint. All fields are optional and will be updated if provided.) ### Request Example ```json { "agent_data_warn": { "enabled": true, "threshold": 3, "warn_frequency": 5 }, "cpu_usage_warn": { "enabled": true, "threshold": 1, "time_frame": 1, "warn_frequency": 5 } } ``` ### Responses #### Success Response (200) - **message** (string) - Indicates the success of the operation, e.g., "server agent warning policies updated". #### Response Example (200) ```json { "message": "server agent warning policies updated" } ``` ``` -------------------------------- ### PUT /uptime-monitors/{monitor_id}/server-agent/warning-policies Source: https://docs.hetrixtools.com/api/v3 Updates the warning policies for a specific server agent monitor. ```APIDOC ## PUT /uptime-monitors/{monitor_id}/server-agent/warning-policies ### Description Updates the warning policies for a specific server agent monitor, including thresholds for CPU, RAM, disk, network, and service status. ### Method PUT ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/server-agent/warning-policies ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The ID of the uptime monitor. #### Request Body - **agent_data_warn** (object) - Optional - **cpu_usage_warn** (object) - Optional - **iowait_usage_warn** (object) - Optional - **ram_usage_warn** (object) - Optional - **swap_usage_warn** (object) - Optional - **disk_usage_warn** (object) - Optional - **raid_warn** (object) - Optional - Issue warnings RAID status is not completely healthy. - **drive_errors_warn** (object) - Optional - Issue warnings when drive errors reach a threshold. - **drive_wearout_warn** (object) - Optional - Issue warnings when drive wearout reaches a threshold. - **drive_smart_warn** (object) - Optional - Issue warnings when S.M.A.R.T. test fails. - **network_in_warn** (object) - Optional - Issue warnings when inbound usage reaches a threshold. - **network_out_warn** (object) - Optional - Issue warnings when outbound usage reaches a threshold. - **services_warn** (object) - Optional - Issue warnings when a service goes down. ### Request Example { "agent_data_warn": { "enabled": true, "threshold": 3, "warn_frequency": 5 } } ### Response #### Success Response (200) - **status** (string) - Status of the operation. - **message** (string) - Confirmation message. #### Response Example { "status": "created", "message": "warning policies updated" } ``` -------------------------------- ### POST /uptime-monitors/{monitor_id}/server-agent Source: https://docs.hetrixtools.com/api/v3 Attaches a new Server Monitoring Agent ID to an uptime monitor. If no agent is attached, a new one is generated and returned. ```APIDOC ## POST /uptime-monitors/{monitor_id}/server-agent ### Description Attaches a new Server Monitoring Agent ID to an uptime monitor. If no agent is attached, a new one is generated and returned. ### Method POST ### Endpoint https://api.hetrixtools.com/v3/uptime-monitors/{monitor_id}/server-agent ### Parameters #### Path Parameters - **monitor_id** (string) - Required - The unique uptime monitor id. ### Response #### Success Response (200) - **agent_id** (string) - The newly created unique server agent monitor ID. #### Response Example ```json { "agent_id": "9b7e53ddrfc12342r45ed234cfbf07c" } ``` ``` -------------------------------- ### Display User Rate Limit Headers Source: https://docs.hetrixtools.com/api/v3 These headers indicate the user-specific rate limits for API calls. They show the maximum allowed calls, remaining calls, and the reset time. ```text ratelimit-limit-user: 200 ratelimit-remaining-user: 199 ratelimit-reset-user: 1640005680 ``` -------------------------------- ### Display Endpoint Rate Limit Headers Source: https://docs.hetrixtools.com/api/v3 These headers show the rate limits specific to an endpoint. They include the maximum calls, remaining calls, and the time until the limits reset. ```text ratelimit-limit-endpoint: 100 ratelimit-remaining-endpoint: 99 ratelimit-reset-endpoint: 1640005680 ``` -------------------------------- ### Retrieve Uptime Monitor Location Fail Log Source: https://docs.hetrixtools.com/api/v3 Returns a JSON object containing a list of failure entries and metadata for a specific monitor. ```json { "entries": [ { "timestamp": 1641909671, "location": "London 6", "data": "Error 28: Connection timed out after 10001 milliseconds (10001ms)" }, { "timestamp": 1641588609, "location": "Amsterdam 1", "data": "Error 28: Connection timed out after 10001 milliseconds (10001ms)" } ], "meta": { "returned": 2, "start_timestamp": 1641926870, "end_timestamp": 1641588600, "next_page_timestamp": 1641588599 } } ```