### Security: bearerAuth Source: https://docs.hetrixtools.com/api/v3/api.yaml ## Getting The API Key (Bearer Token) This can be obtained from your HetrixTools account at the following link: [https://hetrixtools.com/dashboard/account/api/](https://hetrixtools.com/dashboard/account/api/) ## Using The API Key (Bearer Token) Include your API Key (Bearer Token) in the `Authorization` header with all of your API requests, as shown in the example below. ``` curl -X GET -H "Authorization: Bearer {BEARER_TOKEN}" "https://api.hetrixtools.com/v3/{ENDPOINT}" ``` ```markdown ## Security: bearerAuth **Description:** ## Getting The API Key (Bearer Token) This can be obtained from your HetrixTools account at the following link: [https://hetrixtools.com/dashboard/account/api/](https://hetrixtools.com/dashboard/account/api/) ## Using The API Key (Bearer Token) Include your API Key (Bearer Token) in the `Authorization` header with all of your API requests, as shown in the example below. ``` curl -X GET -H "Authorization: Bearer {BEARER_TOKEN}" "https://api.hetrixtools.com/v3/{ENDPOINT}" ``` **Type:** http **Scheme:** bearer ``` -------------------------------- ### GET /uptime-monitors Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get uptime monitors and their details. ```markdown ### Parameters - **per_page** (integer, query, optional): Number of monitors returned per page. - **page** (integer, query, optional): Which page of the paginated results to return. - **id** (string, query, optional): Filter results by monitor ID. This will fetch just the monitor with the specified ID and ignore all other filters. - **name** (string, query, optional): Filter results by name (accepts partial or full name). - **target** (string, query, optional): Filter results by monitored target (accepts partial or full target). - **category** (string, query, optional): Filter results by category (accepts partial or full category name). - **type** (string (website|ping|service|smtp|heartbeat), query, optional): Filter results by monitor type. - **uptime_status** (string (up|down), query, optional): Filter results by uptime status. - **monitor_status** (string (active|paused|disabled|maint|maint_dnd), query, optional): Filter results by monitor status. - **order** (string (asc|desc), query, optional): Order results ascending or descending. - **order_by** (string (name|created_at|last_check|last_status_change|uptime_status|monitor_status), query, optional): Order results by a specific field. ### Responses #### 200 - Successful Response. - **monitors** (array (object)) Array items: - **id** (string): The unique uptime monitor ID. - **name** (string): The uptime monitor's name. - **type** (string (website|ping|service|smtp|heartbeat)): The type of uptime monitor. ("website"|"ping"|"service"|"smtp"|"heartbeat") - **target** (string): The monitored target; `null` returned for `heartbeat` uptime monitors. - **resolve_address** (string): The IP address (IPv4 or IPv6) that the monitored target is resolved to by our platform. In the case of the `heartbeat` monitor type, this is the IP address that is sending server agent data towards our platform. - **resolve_address_info** (object): Extra info related to the resolving IP address. - **ASN** (string) - **ISP** (string) - **City** (string) - **Region** (string) - **Country** (string) - **port** (integer): The monitored port; `null` returned for `website`, `ping`, and `heartbeat` uptime monitors. - **keyword** (string): The keyword to look for on the monitored website; returns `null` non `website` monitor types. - **category** (string): The category name assigned to this uptime monitor. - **timeout** (integer): The number of seconds the monitored target has to respond before considered 'down'. - **grace** (integer): Only for Heartbeat Uptime Monitors. Represents the number of seconds above the timeout before considered 'down'. - **check_frequency** (integer): The frequency (in minutes) that the uptime monitor is checked at. ("1"|"3"|"5"|"10") - **contact_lists** (array (string)): The unique contact list IDs assigned to this uptime monitor. Currently supporting a maximum of one contact list ID per uptime monitor. - **created_at** (integer): Timestamp when the uptime monitor was created. - **last_check** (integer): Timestamp when the uptime monitor was last checked. - **last_status_change** (integer): Timestamp when the uptime monitor's `uptime_status` has changed. - **uptime_status** (string (up|down)): The monitor's current overall uptime status. ("up"|"down") - **monitor_status** (unknown): The current status of this uptime monitor. - `active` - the normal status, when the monitor is not under maintenance - `paused` - the monitor is paused and not checked at all (currently unavailable, still under development) - `disabled` - the monitor is not checked at all - `maint` - the monitor is under maintenance mode with notifications enabled - `maint_dnd` - the monitor is under maintenance mode without notifications [Learn more here](https://docs.hetrixtools.com/maintenance-mode/). ("active"|"paused"|"disabled"|"maint"|"maint_dnd") - **uptime** (string): The overall uptime percentage, not including downtimes during maintenance. - **uptime_incl_maint** (string): The overall uptime percentage, including downtimes during maintenance. - **locations** (array (object)): The array of locations that monitor this specific uptime monitor. Possible entries are `new_york`, `san_francisco`, `dallas`, `amsterdam`, `london`, `frankfurt`, `singapore`, `sydney`, `sao_paulo`, `tokyo`, `mumbai`, `moscow`. Array items: - **new_york** (array (object)) Array items: - **uptime_status** (string (up|down)): The last uptime status as observed by this specific location. ("up"|"down") - **response_time** (integer): The last response time from this specific location in `milliseconds`. - **last_check** (integer): The timestamp of the last checkup from this specific location. - **ssl_expiration_date** (string): The SSL expiration date for the monitored hostname; returns `null` if unavailable. - **ssl_expiration_warn** (boolean): Whether or not the SSL expiration warning is enabled. - **ssl_expiration_warn_days** (integer): The number of days before the SSL expiration when the warning is triggered. - **domain_expiration_date** (string): The monitored domain's expiration date; returns `null` if unavailable. - **domain_expiration_warn** (boolean): Whether or not the domain expiration warning is enabled. - **domain_expiration_warn_days** (integer): The number of days before the domain expiration when the warning is triggered. - **nameservers** (array (string)): The monitored domain's nameservers; returns `null` if unavailable. - **nameservers_change_warn** (boolean): Whether or not the nameservers change warning is enabled. - **public_report** (boolean): Is `false` if this monitor's uptime report is private. - **public_target** (boolean): Is `false` if this monitor's monitored target is hidden on the monitor's uptime report. - **max_redirects** (integer): The maximum number of HTTP redirects the system will follow when monitoring a website; returns `null` for non `website` monitor types. - **http_method** (string): The HTTP method used when monitoring a website; returns `null` for non `website` types. - **accepted_http_codes** (array (integer)): The array of HTTP codes that are considered `healthy` if returned by the monitored website; returns `null` for non `website` types. - **verify_ssl_certificate** (boolean): Is `true` if the monitor will also check the SSL certificate validity of the monitored target (if applicable). - **verify_ssl_hostname** (boolean): Is `true` if the monitor will also check if the SSL certificate matches the monitored hostname (if applicable). - **number_of_tries** (integer): The number of tries/retries each monitoring location will perform before changing the monitor's `uptime_status`; returns `null` for the `heartbeat` monitor type. - **triggering_locations** (integer): The number of monitoring locations that will decide the `uptime_status`. This value can never be smaller than `50%+1` of the number of monitoring locations. - **alert_after_minutes** (integer): The number of `minutes` after `up`/`down` alerts are dispatched. Any downtime smaller than this time will not generate alerts. [Learn more here](https://docs.hetrixtools.com/alert-only-after-x-minutes-of-downtime/). - **repeat_alert_times** (integer): The number of times a `down` alert will be repeated if the downtime is still ongoing. [Learn more here](https://docs.hetrixtools.com/repeated-alerts/). - **repeat_alert_frequency** (integer): The frequency (`minutes`) at which the repeated alerts are sent out. [Learn more here](https://docs.hetrixtools.com/repeated-alerts/). - **agent_id** (string): The unique server agent monitor ID that is attached to this uptime monitor; returns `null` if no server agent monitor is attached. [Learn more here](https://docs.hetrixtools.com/attach-a-server-monitor-to-any-of-your-uptime-monitors/). - **meta** (object) - **total** (integer): The total number of uptime monitors available in your account. - **total_filtered** (integer): The number of uptime monitors found after filtering has been applied. - **returned** (integer): The number of uptime monitors returned by this API call. - **pagination** (object) - **current** (integer): The current page number. - **last** (integer): The last available page number. - **previous** (integer): The previous page number; `null` returned if no previous pages available. - **next** (integer): The next page number; `null` returned if no further pages available. #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//uptime-monitors?per_page=20&page=1&id=string&name=string&target=string&category=string&type=website&uptime_status=up&monitor_status=active&order=asc&order_by=name" ``` ``` -------------------------------- ### GET /blacklist-monitors Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get blacklist monitors and their details. ```markdown ### Parameters - **per_page** (integer, query, optional): Number of monitors returned per page. - **page** (integer, query, optional): Which page of the paginated results to return. - **name** (string, query, optional): Filter results by name (accepts partial or full name). - **exact_name** (boolean, query, 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, query, optional): Filter results by monitored target (accepts partial or full target). - **exact_target** (boolean, query, 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, query, 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. - **type** (string (ipv4|domain), query, optional): Filter results by monitor type. - **listed** (boolean, query, optional): Filter results by listed status. - **order** (string (asc|desc), query, optional): Order results ascending or descending. - **order_by** (string (name|target|listed|created_at|last_check), query, optional): Order results by a specific field. ### Responses #### 200 - Successful Response. - **monitors** (array (object)) Array items: - **id** (string): The unique blacklist monitor ID. - **name** (string): The blacklist monitor's name. - **type** (string (ipv4|domain)): The type of blacklist monitor. ("ipv4"|"domain") - **target** (string): The monitored target. - **rdns** (string): The reverse DNS for the monitored target, if it exists; otherwise `null`. - **report_id** (string): The unique blacklist report ID for this blacklist monitor. Can be used to form the non white-label report URL: `https://hetrixtools.com/report/blacklist/{report_id}/` And the white-label report URL: `https://yourdomain.com/report/blacklist/{report_id}/` - **status** (string (active|disabled|processing)): The current status of this blacklist monitor. ("active"|"disabled"|"processing") - **contact_lists** (array (string)): The unique contact list IDs assigned to this blacklist monitor. Currently supporting a maximum of one contact list ID per blacklist monitor. - **listed** (array (object)): The array of blacklists that have listed the monitored target. Array items: - **rbl** (string): The RBL name. - **delist** (string): The delist URL for this RBL. - **created_at** (integer): Timestamp when the blacklist monitor was created. - **last_check** (integer): Timestamp when the blacklist monitor was last checked. - **meta** (object) - **total** (integer): The total number of uptime monitors available in your account. - **total_filtered** (integer): The number of uptime monitors found after filtering has been applied. - **returned** (integer): The number of uptime monitors returned by this API call. - **pagination** (object) - **current** (integer): The current page number. - **last** (integer): The last available page number. - **previous** (integer): The previous page number; `null` returned if no previous pages available. - **next** (integer): The next page number; `null` returned if no further pages available. #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//blacklist-monitors?per_page=20&page=1&name=string&exact_name=true&target=string&exact_target=true&cidr=0&type=ipv4&listed=true&order=asc&order_by=name" ``` ``` -------------------------------- ### GET /status-pages Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get a list of all your status pages. ```markdown ### Parameters - **page** (integer, query, optional): The page number that you want to retrieve. - **per_page** (integer, query, optional): The number of status pages that you want to retrieve per page. - **name** (string, query, optional): The name of the status page that you want to retrieve. ### Responses #### 200 - Successful Response. - **status_pages** (array (object)) Array items: - **id** (string): The unique identifier for this status page. - **name** (string): The name of this status page. - **type** (string (blacklist|uptime)): The type of this status page. - `blacklist` - a status page containing blacklist monitors. - `uptime` - a status page containing uptime monitors. ("blacklist"|"uptime") - **monitors** (array (string)): The array of monitors that are on this status page. - **password_protected** (boolean): Defines whether or not this status page is password protected. - **announcement_type** (string (none|positive|info|warning|critical)): The type of announcement that is displayed on this status page. ("none"|"positive"|"info"|"warning"|"critical") - **announcement_title** (string): The title of the announcement that is displayed on this status page. - **announcement_body** (string): The body of the announcement that is displayed on this status page. - **announcement_affected** (array (string)): The array of monitors that are affected by the announcement that is displayed on this status page. - **twitter_feed** (boolean): Defines whether or not the Twitter feed is displayed on this status page. - **twitter_user** (string): The Twitter username's profile feed that is displayed on this status page. - **twitter_pos** (string (right|left)): The position of the Twitter feed on this status page. ("right"|"left") - **meta** (object) - **total** (integer): The total number of uptime monitors available in your account. - **total_filtered** (integer): The number of uptime monitors found after filtering has been applied. - **returned** (integer): The number of uptime monitors returned by this API call. - **pagination** (object) - **current** (integer): The current page number. - **last** (integer): The last available page number. - **previous** (integer): The previous page number; `null` returned if no previous pages available. - **next** (integer): The next page number; `null` returned if no further pages available. #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//status-pages?page=0&per_page=0&name=string" ``` ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/server-agent/warning-policies Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get an uptime monitor's Server Agent warning policies. ```markdown ### Parameters - **monitor_id** (string, path, required): The unique uptime monitor id, which can be found by running the [GET - Uptime Monitors](https://docs.hetrixtools.com/api/v3/#/paths/~1uptime-monitors/get) API. ### Responses #### 200 - Successful Response. - **agent_data_warn** (object): Issue warnings when the server monitoring agent hasn't sent data. - **enabled** (boolean): Defines whether or not this policy is enabled. - **threshold** (integer): The number of consecutive minutes without agent data received required to trigger a warning. ("3"|"5"|"10"|"15"|"30"|"60") - **warn_frequency** (integer): The minimum number of minutes between each issued warning. ("5"|"10"|"15"|"30"|"60"|"180"|"360"|"720"|"1440") - **cpu_usage_warn** (object): Issue warnings when cpu usage reaches a threshold. - **enabled** (boolean): Defines whether or not this policy is enabled. - **threshold** (integer): The usage (percent) at which and over which a warning is issued. - **time_frame** (integer): The last `X` minutes over which the usage average is calculated. ("1"|"3"|"5"|"10"|"15"|"30"|"60") - **warn_frequency** (integer): The minimum number of minutes between each issued warning. ("5"|"10"|"15"|"30"|"60"|"180"|"360"|"720"|"1440") - **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. - **enabled** (boolean): Defines whether or not this policy is enabled. - **threshold** (integer): The usage (percent) at which and over which a warning is issued. - **time_frame** (integer): The last `X` minutes over which the usage average is calculated. ("1"|"3"|"5"|"10"|"15"|"30"|"60") - **warn_frequency** (integer): The minimum number of minutes between each issued warning. ("5"|"10"|"15"|"30"|"60"|"180"|"360"|"720"|"1440") - **warn_disks** (array (object)): The array of disks that can generate usage warnings. Array items: - **id** (string): The unique identifier for this disk. - **enabled** (boolean): Defines whether or not this disk generates usage warnings. - **mount** (string): This disk's mount point on the system. - **raid_warn** (object): Issue warnings RAID status is not completely healthy. - **enabled** (boolean): Defines whether or not this policy is enabled. - **warn_type** (string (not_ideal|critical)): The severity of the encountered RAID status at which a warning is issued. - `not_ideal` - includes statuses such as: `check`, `recover`, `resync` - `critical` - includes statuses such as: `degraded`, `failed` ("not_ideal"|"critical") - **warn_frequency** (integer): The minimum number of minutes between each issued warning. ("5"|"10"|"15"|"30"|"60"|"180"|"360"|"720"|"1440") - **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. - **enabled** (boolean): Defines whether or not this policy is enabled. - **warn_frequency** (integer): The minimum number of minutes between each issued warning. ("5"|"10"|"15"|"30"|"60"|"180"|"360"|"720"|"1440") - **network_in_warn** (object): Issue warnings when inbound usage reaches a threshold. - **enabled** (boolean): Defines whether or not this policy is enabled. - **threshold** (integer): The threshold at which and over which a warning is issued. - **threshold_type** (string (kbps|mbps|gbps)): The threshold's measuring unit. Example: if `threshold` is set to `10` and `threshold_type` is set to `mbps`, that means the warning threshold is 10Mbps. ("kbps"|"mbps"|"gbps") - **time_frame** (integer): The last `X` minutes over which the usage average is calculated. ("1"|"3"|"5"|"10"|"15"|"30"|"60") - **warn_frequency** (integer): The minimum number of minutes between each issued warning. ("5"|"10"|"15"|"30"|"60"|"180"|"360"|"720"|"1440") - **warn_nics** (array (object)): The array of network interfaces that can generate usage warnings. Array items: - **id** (string): The unique identifier for this network interface. - **enabled** (boolean): Defines whether or not this network interface generates usage warnings. - **name** (string): The network interface name. - **network_out_warn** (object): Issue warnings when outbound usage reaches a threshold. - **services_warn** (object): Issue warnings when a service goes down. - **enabled** (boolean): Defines whether or not this policy is enabled. - **warn_frequency** (integer): The minimum number of minutes between each issued warning. ("5"|"10"|"15"|"30"|"60"|"180"|"360"|"720"|"1440") - **warn_services** (array (object)): The array of services that can generate warnings. Array items: #### 400 - response #### 401 - response #### 403 - response #### 404 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//uptime-monitors/{monitor_id}/server-agent/warning-policies" ``` ``` -------------------------------- ### GET /contact-lists Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get contact lists and their details. ```markdown ### Parameters - **per_page** (integer, query, optional): Number of monitors returned per page. - **page** (integer, query, optional): Which page of the paginated results to return. ### Responses #### 200 - Successful Response. - **contact_lists** (array (object)) Array items: - **id** (string): The unique contact list ID. - **name** (string): The contact list's name. - **default** (boolean): Whether or not this is the default contact list. - **email** (array (string)): Emails in this contact list. - **phone_sms** (array (string)): SMS numbers in this contact list. - **telegram** (array (string)): Telegram usernames in this contact list. - **pushbullet** (array (string)): Pushbullet usernames in this contact list. - **pushover** (object) - **key** (string): The Pushover API key. - **priority** (integer): The Pushover priority. - **twitter** (array (string)): \[DEPRECATED\] Twitter usernames in this contact list. - **slack** (object) - **webhook** (string): The Slack webhook URL. - **target** (string): The Slack target channel. - **hide_target** (boolean): Whether or not to hide the monitored target in the notification. - **discord** (object) - **mattermost_rocketchat** (object) - **microsoft_teams** (object) - **webhook** (string): The Microsoft Teams webhook URL. - **pagerduty** (object) - **key** (string): The PagerDuty API key. - **opsgenie** (object) - **victorops** (object) - **key** (string): The VictorOps API key. - **route** (string): The VictorOps route. - **priority** (string): The VictorOps priority. - **webhook** (object) - **url** (string): The Webhook URL. - **authentication** (string): The Webhook authentication method. - **dnd** (array (object)) Array items: - **day** (string): The day of the week. - **hour** (string): The hour of the day. - **meta** (object) - **total** (integer): The total number of contact lists found. - **returned** (integer): The number of contact lists returned in this response. - **pagination** (object) - **current** (integer): The current page number. - **last** (integer): The last available page number. - **previous** (integer): The previous page number; `null` returned if no previous pages available. - **next** (integer): The next page number; `null` returned if no further pages available. #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//contact-lists?per_page=20&page=1" ``` ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/downtimes Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get an uptime monitor's Downtimes. ```markdown ### Parameters - **monitor_id** (string, path, required): The unique uptime monitor id, which can be found by running the [GET - Uptime Monitors](https://docs.hetrixtools.com/api/v3/#/paths/~1uptime-monitors/get) API. - **per_page** (integer, query, optional): Number of monitors returned per page. - **page** (integer, query, optional): Which page of the paginated results to return. - **start_before** (integer, query, 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, query, 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 #### 200 - Successful Response. - **downtimes** (array (object)) Array items: - **id** (string): The unique downtime id. - **start** (integer): The timestamp when the downtime started. - **end** (integer): The timestamp when the downtime ended. - **maintenance** (boolean): Whether the downtime happened during a maintenance window or not. - **meta** (object) - **total** (integer): The total number of downtimes for the uptime monitor. - **total_filtered** (integer): The number of downtimes filtered by the API call. - **returned** (integer): The number of downtimes returned by the API call. - **pagination** (object) - **current** (integer): The current page number. - **last** (integer): The last available page number. - **previous** (integer): The previous page number; `null` returned if no previous pages available. - **next** (integer): The next page number; `null` returned if no further pages available. #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//uptime-monitors/{monitor_id}/downtimes?per_page=20&page=1&start_before=0&start_after=0" ``` ``` -------------------------------- ### GET /blacklists Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get the list of blacklists (RBLs) checked by our platform. ```markdown ### Responses #### 200 - Successful Response. - **ipv4** (array (object)) Array items: - **id** (string): The unique identifier for the RBL entry. - **rbl** (string): The RBL (Real-time Blackhole List) name. - **optional** (boolean): Whether the RBL is optional (opt-in). - **ignored** (boolean): Whether the RBL is ignored. - **domains** (array (object)) Array items: #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//blacklists" ``` ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/report Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get the uptime report for a specific uptime monitor. ```markdown ### Parameters - **monitor_id** (string, path, required): The unique uptime monitor ID. - **days** (integer, query, optional): Number of recent days to display (1-30). Defaults to 7. - **month** (string, query, optional): The month to display the uptime report for, in YYYY-MM format. If specified, `days` has no effect. - **timezone** (string, query, optional): The timezone used for the report (e.g., +02:00 or -5:30). Defaults to +00:00 (UTC). - **hourly_stats** (boolean, query, optional): Whether to include hourly stats for website uptime monitors. Defaults to false. ### Responses #### 200 - Successful Response. - **timezone** (string): The timezone used in the report. - **data** (object) - **summary** (object) - **uptime** (object) - **percentage** (number (float)): Overall uptime percentage. - **percentage_incl_maint** (number (float)): Overall uptime percentage including maintenance. - **downtimes** (integer): Total number of downtimes recorded. - **downtimes_incl_maint** (integer): Total number of downtimes including maintenance. - **response_time** (object) - **history** (object): Historical uptime data for all available months. #### 400 - response #### 401 - response #### 403 - response #### 404 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//uptime-monitors/{monitor_id}/report?days=7&month=string&timezone=string&hourly_stats=false" ``` ``` -------------------------------- ### GET /blacklist-monitors/{identifier}/report Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get the blacklist report for a specific blacklist monitor. ```markdown ### Parameters - **identifier** (string, path, required): The blacklist monitor identifier; can be the 32 characters long monitor ID, the IP address or the hostname of the blacklist monitor. - **date** (string, query, optional): Report date in `YYYY-MM-DD` format. Defaults to the current date. ### Responses #### 200 - Successful Response. - **id** (string): The unique blacklist monitor ID. - **name** (string): The blacklist monitor's name. - **type** (string (ipv4|domain)): The type of blacklist monitor. ("ipv4"|"domain") - **target** (string): The monitored target. - **report_id** (string): The unique blacklist report ID for this blacklist monitor. Can be used to form the non white-label report URL: `https://hetrixtools.com/report/blacklist/{report_id}/` and the white-label report URL: `https://yourdomain.com/report/blacklist/{report_id}/`. - **listed** (array (object)): The array of blacklists that have listed the monitored target on the requested date. Array items: - **rbl** (string): The RBL name. - **delist** (string): The delist URL for this RBL. #### 400 - response #### 401 - response #### 403 - response #### 404 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//blacklist-monitors/{identifier}/report?date=string" ``` ``` -------------------------------- ### GET /schedule-maintenance Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to list all scheduled maintenance windows. ```markdown ### Parameters - **per_page** (integer, query, optional): Number of maintenance windows returned per page. - **page** (integer, query, optional): Which page of the paginated results to return. - **monitor_id** (string, query, optional): Optional. Filter by uptime monitor ID. ### Responses #### 200 - Successful Response. - **scheduled_maintenances** (array (object)) Array items: - **id** (string): The unique schedule maintenance ID. - **monitor_id** (string): The ID of the monitor under maintenance. - **start** (string (date-time)): Maintenance start time as string (YYYY-MM-DD HH:MM). - **end** (string (date-time)): Maintenance end time as string (YYYY-MM-DD HH:MM). - **timezone** (string): Timezone of the maintenance window. - **with_notifications** (boolean): Whether notifications are enabled for this maintenance. - **recurring** (boolean): Whether this maintenance is recurring. - **recurring_time** (integer): Recurring interval value. - **recurring_time_type** (string): Recurring interval type (hour, day, week, month, year). - **meta** (object) - **total** (integer): Total number of scheduled maintenance windows. - **total_filtered** (integer): Total number of filtered scheduled maintenance windows. - **returned** (integer): Number of scheduled maintenance windows returned in this response. - **pagination** (object) - **current** (integer) - **last** (integer) - **previous** (integer) - **next** (integer) #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//schedule-maintenance?per_page=20&page=1&monitor_id=string" ``` ``` -------------------------------- ### GET /account/limits Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get the current usage and limits for your HetrixTools account. This endpoint is not paginated. ```markdown ### Responses #### 200 - Successful Response. - **uptime** (object) - **monitors** (object) - **usage** (integer): The current number of uptime monitors in use. - **limit** (integer): The maximum number of uptime monitors allowed. - **blacklist** (object) - **monitors** (object) - **api_check_credits** (object) - **usage** (integer): The number of blacklist API checks used this month (plan + extra credits). - **limit** (integer): The total number of blacklist API checks available this month (plan + extra credits). - **details** (object) - **monthly_from_plans** (integer): The number of monthly blacklist API checks included in your plan(s). - **extra_credits** (integer): Extra purchased blacklist API check credits. - **sub_accounts** (object) - **sms_credits** (object) - **account_credit** (object) - **balance** (number (float)): The current prepaid account credit balance. - **api_v1_v2** (object) #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//account/limits" ``` ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/location-fail-log Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get an uptime monitor's Location Fail Log. ```markdown ### Parameters - **monitor_id** (string, path, required): The unique uptime monitor id, which can be found by running the [GET - Uptime Monitors](https://docs.hetrixtools.com/api/v3/#/paths/~1uptime-monitors/get) API. - **timestamp** (integer, query, 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, query, optional): The number of minutes containing log entries to get. 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 #### 200 - Successful Response. - **entries** (array (object)) Array items: - **timestamp** (integer): Timestamp at which this error has been encountered by the monitoring node. - **location** (string): The location and the specific monitoring node from that location that has logged in the error. - **data** (string): The exact error that has been encountered by the monitoring node. - **meta** (object) - **returned** (integer): The number of log entries that have been returned by this API call. - **start_timestamp** (integer): The timestamp from which scanning for log entries began. - **end_timestamp** (integer): The timestamp until which scanning for log entries has run down to. - **next_page_timestamp** (integer): The timestamp you'll need to put in this API's `timestamp` optional query parameter in order to get the next page of entries; returns `null` if there are no next pages of log entries. #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//uptime-monitors/{monitor_id}/location-fail-log?timestamp=0&minutes=10" ``` ``` -------------------------------- ### GET /uptime-monitors/{monitor_id}/server-agent Source: https://docs.hetrixtools.com/api/v3/api.yaml API call used to get an uptime monitor's Server Monitoring Agent ID. This Server ID (SID) is unique for each Server Monitoring Agent. ```markdown ### Parameters - **monitor_id** (string, path, required): The unique uptime monitor id, which can be found by running the [GET - Uptime Monitors](https://docs.hetrixtools.com/api/v3/#/paths/~1uptime-monitors/get) API. ### Responses #### 200 - Successful Response. - **agent_id** (string): The unique server agent monitor ID that is attached to this uptime monitor; returns `null` if no server agent monitor is attached. Learn more here. #### 400 - response #### 401 - response #### 403 - response #### 429 - response ### Example Usage ```bash curl -X GET "https://api.hetrixtools.com/v3//uptime-monitors/{monitor_id}/server-agent" ``` ```