Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/host-tracker-com:host-tracker-com-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: HostTracker API
version: '2026-11-11'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-11: 33 operation(s) read from 11 public documentation page(s) (each
operation names its page in x-source). This is not the provider''s published contract; HostTracker has published no machine-readable contract
that the pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 18
documentation: 15
pages-with-code: 5
pages-read: 11
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-11-11'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://www.host-tracker.com/apidocs/v1
- https://www.host-tracker.com/apidocs/v2/guide
- https://docs.host-tracker.com/reference/locations.md
- https://docs.host-tracker.com/reference/plan-limits.md
- https://docs.host-tracker.com/reference/webhook-events.md
- https://docs.host-tracker.com/reference/monitor-settings.md
- https://www.host-tracker.com/en/monitoring-api
- https://api2.host-tracker.com/openapi/v2.json
- https://github.com/HostTracker/openapi
- https://www.host-tracker.com/integrations/sdk
- https://www.host-tracker.com/en/monitoring-cli
servers:
- url: https://api1.host-tracker.com
paths:
/:
get:
operationId: get
tags:
- Api
summary: GET /
x-source: https://github.com/HostTracker/openapi
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -s -H \" Authorization: Bearer $HT_TOKEN \" -H \" Content-Type: application/json \" -H \" Idempotency-Key: 7f1c3e2a-5b0e-4d2f-9c1a-2e8c1b9d4f00\
\ \" -d ' {\"type\":\"http\",\"url\":\"https://example.com\",\"name\":\"Example\",\"interval\":5,\"locations\":{\"pools\":[\"allworld\"\
]}} ' \" $HT /monitor \" \n Run an instant check and follow resultUrl until state is done : "
/HostTracker/cli/main/install.sh:
get:
operationId: get_HostTracker_cli_main_install_sh
tags:
- Hosttracker
summary: GET /HostTracker/cli/main/install.sh
x-source: https://www.host-tracker.com/en/monitoring-cli
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -fsSL https://raw.githubusercontent.com/HostTracker/cli/main/install.sh | sh \n apt repository \n Debian, Ubuntu - signed,\
\ amd64 and arm64 "
/account:
get:
operationId: get_account
tags:
- Account
summary: GET /account
x-source: https://docs.host-tracker.com/reference/plan-limits.md
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/account/quota:
get:
operationId: get_account_quota
tags:
- Account
summary: Read account plan, usage and quota.
x-source: https://www.host-tracker.com/en/monitoring-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/account/usage:
get:
operationId: get_account_usage
tags:
- Account
summary: '`GET /account/usage` returns just the usage block.'
x-source: https://docs.host-tracker.com/reference/plan-limits.md
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/agent:
get:
operationId: get_agent
tags:
- Agent
summary: Every location with its country, region and city.
x-source: https://docs.host-tracker.com/reference/locations.md
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetAgentResponse'
x-evidence:
kind: documentation
/agent/ip:
get:
operationId: get_agent_ip
tags:
- Agent
summary: The IP addresses checks originate from - for firewall and WAF allow‑lists.
x-source: https://docs.host-tracker.com/reference/locations.md
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetAgentIpResponse'
x-evidence:
kind: documentation
/agent/pool:
get:
operationId: get_agent_pool
tags:
- Agent
summary: GET /agent/pool
x-source: https://docs.host-tracker.com/reference/locations.md
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl https://api2.host-tracker.com/agent/pool
```'
/apt/key.gpg:
get:
operationId: get_apt_key_gpg
tags:
- Apt
summary: GET /apt/key.gpg
x-source: https://www.host-tracker.com/en/monitoring-cli
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -fsSL https://hosttracker.github.io/apt/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/hosttracker.gpg && echo \"\
deb [signed-by=/usr/share/keyrings/hosttracker.gpg] https://hosttracker.github.io/apt stable main\" | sudo tee /etc/apt/sources.list.d/hosttracker.list\
\ && sudo apt update && sudo apt install ht-cli \n dnf repository \n Fedora, RHEL - amd64 and arm64 \n sudo curl -fsSL -o /etc/yum.r"
/apt/rpm/hosttracker.repo:
get:
operationId: get_apt_rpm_hosttracker_repo
tags:
- Apt
summary: DNF repository file for HostTracker
x-source: https://www.host-tracker.com/en/monitoring-cli
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/check:
post:
operationId: post_check
tags:
- Check
summary: POST /check
x-source: https://www.host-tracker.com/en/monitoring-api
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostCheckRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -X POST https://api2.host-tracker.com/check -H "Authorization: Bearer $HT_TOKEN" -H "Content-Type: application/json" -d
''{"url": "https://example.com", "type": "http", "pools": ["westeurope", "asia"]}'''
/check/{dbid}/{checkid}:
get:
operationId: get_check_dbid_checkid
tags:
- Check
summary: GET /check/{dbId}/{checkId}
x-source: https://www.host-tracker.com/en/monitoring-api
parameters:
- name: dbid
in: path
required: true
schema:
type: string
- name: checkid
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -s https://api2.host-tracker.com/check/DB_ID/CHECK_ID -H "Authorization: Bearer $HT_TOKEN" '
/contact:
get:
operationId: get_contact
tags:
- Contact
summary: GET /contact returns contacts (used for contact.updated events)
x-source: https://docs.host-tracker.com/reference/webhook-events.md
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/contact/{id}:
get:
operationId: get_contact_id
tags:
- Contact
summary: GET /contact/{id} returns the full contact
x-source: https://docs.host-tracker.com/reference/webhook-events.md
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/maintenance/{id}:
get:
operationId: get_maintenance_id
tags:
- Maintenance
summary: Use the maintenance id with GET /maintenance/{id}
x-source: https://docs.host-tracker.com/reference/webhook-events.md
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/monitor:
get:
operationId: get_monitor
tags:
- Monitor
summary: Creating, reading and editing monitors, per-type settings, locations, tags and the bulk doors.
x-source: https://www.host-tracker.com/apidocs/v2/guide
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
post:
operationId: post_monitor
tags:
- Monitor
summary: POST /monitor
x-source: https://www.host-tracker.com/en/monitoring-api
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostMonitorRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST https://api2.host-tracker.com/monitor -H \"Authorization: Bearer $HT_TOKEN\" -H \"Content-Type: application/json\"\
\ -H \"Idempotency-Key: checkout-monitor-1\" -d '{\n \"type\": \"http\",\n \"url\": \"https://example.com/checkout\",\n \"name\":\
\ \"Checkout flow\",\n \"interval\": 60,\n \"locations\": { \"pools\": [\"westeurope\"] },\n \"settings\": { \"assertMode\": true, \"\
assertsSource\": \"status isOk\\nbody contains \\\""
/monitor/bulk:
post:
operationId: post_monitor_bulk
tags:
- Monitor
summary: POST /monitor/bulk
x-source: https://www.host-tracker.com/en/monitoring-api
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostMonitorBulkRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -X POST https://api2.host-tracker.com/monitor/bulk -H "Authorization: Bearer $HT_TOKEN" -H "Content-Type: application/json" -H
"Idempotency-Key: csv-import-2026-08-23" -d ''{"items": [{"type": "http", "url": "https://a.example.com"}, {"type": "http", "url":
"https://b.example.com"}]}'''
/monitor/incident/{id}:
get:
operationId: get_monitor_incident_id
tags:
- Monitor
summary: Use the incident id with GET /monitor/incident/{id}
x-source: https://docs.host-tracker.com/reference/webhook-events.md
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/monitor/type/{type}:
get:
operationId: get_monitor_type_type
tags:
- Monitor
summary: GET /monitor/type/{type} returns the full settings schema of one type.
x-source: https://docs.host-tracker.com/reference/monitor-settings.md
parameters:
- name: type
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/monitor/validate-cron:
post:
operationId: post_monitor_validate_cron
tags:
- Monitor
summary: Check one with POST /monitor/validate-cron.
x-source: https://docs.host-tracker.com/reference/monitor-settings.md
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/monitor/{id}:
get:
operationId: get_monitor_id
tags:
- Monitor
summary: GET /monitor/{id} returns the full monitor
x-source: https://docs.host-tracker.com/reference/webhook-events.md
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/monitor/{monitorid}:
patch:
operationId: patch_monitor_monitorid
tags:
- Monitor
summary: PATCH /monitor/{monitorId}
x-source: https://www.host-tracker.com/en/monitoring-api
parameters:
- name: monitorid
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchMonitorMonitoridRequest'
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -X PATCH https://api2.host-tracker.com/monitor/MONITOR_ID -H "Authorization: Bearer $HT_TOKEN" -H "Content-Type: application/json" -d
''{"enabled": false}'' '
/monitor/{monitorid}/alert/{contactid}:
put:
operationId: put_monitor_monitorid_alert_contactid
tags:
- Monitor
summary: PUT /monitor/{monitorId}/alert/{contactId}
x-source: https://www.host-tracker.com/en/monitoring-api
parameters:
- name: monitorid
in: path
required: true
schema:
type: string
- name: contactid
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PutMonitorMonitoridAlertContactidRequest'
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -X PUT https://api2.host-tracker.com/monitor/MONITOR_ID/alert/CONTACT_ID -H \"Authorization: Bearer $HT_TOKEN\" -H \"\
Content-Type: application/json\" -d '{\"alertTypes\": [\"down\", \"up\"]}' \n signed = timestamp + \".\" + raw_body_bytes\nexpected\
\ = hmac_sha256_hex(secret, signed)\nif not any(hmac_equal(expected, s) for s in signatures_from(header)):\n reject() # never trust\
\ a re-serialized body "
/openapi/v2.json:
get:
operationId: get_openapi_v2_json
tags:
- Openapi
summary: 'live document: GET https://api2.host-tracker.com/openapi/v2.json'
x-source: https://github.com/HostTracker/openapi
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/problems/not-found:
get:
operationId: get_problems_not_found
tags:
- Problems
summary: GET /problems/not-found
x-source: https://github.com/HostTracker/openapi
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -s -H \" Authorization: Bearer $HT_TOKEN \" \" $HT /check/7/... \" \n A failure is an RFC 9457 problem document; branch\
\ on code : \n {\n \"type\" : \" https://api2.host-tracker.com/problems/not-found \" ,\n \"title\" : \" No such monitor. \" ,\n \"status\"\
\ : 404 ,\n \"code\" : \" not_found \" ,\n \"instance\" : \" /monitor/00000000-0000-0000-0000-000000000000 \" ,\n \"errors\" : [{ \"\
pointer\" : \" /id \" }]\n} \n Rate limits rid"
/statuspage/{pageid}/incident:
post:
operationId: post_statuspage_pageid_incident
tags:
- Statuspage
summary: POST /statuspage/{pageId}/incident
x-source: https://www.host-tracker.com/en/monitoring-api
parameters:
- name: pageid
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostStatuspagePageidIncidentRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -X POST https://api2.host-tracker.com/statuspage/PAGE_ID/incident -H "Authorization: Bearer $HT_TOKEN" -H "Content-Type:
application/json" -H "Idempotency-Key: incident-2026-08-23-1" -d ''{"title": "Elevated error rates", "state": "investigating", "message":
"We are looking into a spike in errors on checkout.", "impact": "major"}'' '
/subscriptions:
post:
operationId: post_subscriptions
tags:
- Subscriptions
summary: POST /subscriptions
x-source: https://www.host-tracker.com/apidocs/v1
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
alertTypes:
type: array
items:
type: string
taskIds:
type: array
items:
type: string
contactIds:
type: array
items:
type: string
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostSubscriptionsResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl -s -X POST https://api1.host-tracker.com/subscriptions -H \"Authorization: bearer $TOKEN\" -H \"Content-Type: application/json\"\
\ -d '[{\"alertTypes\":[\"Up\",\"Down\"],\"taskIds\":[\"<task>\"],\"contactIds\":[\"<contact>\"]}]' \n Statistics & results \n GET\
\ stats \n Uptime/downtime aggregates per task over a time window. Accepts the task filter to\n select tasks, plus: \n Parameter Type\
\ Description \n statsStartU"
/tasks:
get:
operationId: get_tasks
tags:
- Tasks
summary: GET /tasks
x-source: https://www.host-tracker.com/apidocs/v1
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -s https://api1.host-tracker.com/tasks -H \"Authorization: bearer $TOKEN\" \n Errors & machine codes \n Errors return\
\ a standard HTTP status code plus a short machine-readable code your integration can\n branch on. The body is a plain-text English\
\ description (not JSON), intended for humans/logs. \n The machine code is delivered two ways: \n X-HT-Reason response header — carries\
\ the code on every\n "
/tasks/http:
post:
operationId: post_tasks_http
tags:
- Tasks
summary: POST /tasks/http
x-source: https://www.host-tracker.com/apidocs/v1
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostTasksHttpRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostTasksHttpResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl -s -X POST https://api1.host-tracker.com/tasks/http -H \"Authorization: bearer $TOKEN\" -H \"Content-Type: application/json\"\
\ -d '{\"url\":\"https://www.example.com\",\"interval\":5,\"name\":\"My website\"}' \n PUT tasks & typed variants \n Update tasks.\
\ Two forms: \n By id — PUT tasks/{id} (common fields only), or the typed\n PUT tasks/http/{id} , tasks/ping/{id} ,\n tasks/port/{id}\
\ , tasks/rusbl/{id} (type"
/users/token:
post:
operationId: post_users_token
tags:
- Users
summary: POST /users/token
x-source: https://www.host-tracker.com/apidocs/v1
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostUsersTokenRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -s -X POST https://api1.host-tracker.com/users/token -H "Content-Type: application/json" -d ''{"login":"your-login","password":"your-password"}'' |
grep -o ''"ticket":"[^"]*"'' | cut -d ''"'' -f4)'
/webhook:
get:
operationId: get_webhook
tags:
- Webhook
summary: GET /webhook returns the live catalogue in summary.eventTypes
x-source: https://docs.host-tracker.com/reference/webhook-events.md
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetWebhookResponse'
x-evidence:
kind: documentation
post:
operationId: post_webhook
tags:
- Webhook
summary: POST /webhook
x-source: https://www.host-tracker.com/en/monitoring-api
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostWebhookRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST https://api2.host-tracker.com/webhook -H \"Authorization: Bearer $HT_TOKEN\" -H \"Content-Type: application/json\"\
\ -d '{\"url\": \"https://hooks.example.com/host-tracker\", \"events\": [\"monitor.down\", \"monitor.up\"], \"scope\": {\"all\": true}}'\
\ \n The surface \n One uptime API: 14 resource groups, one token \n Every domain the dashboard touches has a matching set of endpoints\
\ - read what you need,"
components:
schemas:
GetAgentResponse:
type: object
properties:
id:
type: string
description: Location identifier
country:
type: string
description: Country of the location
region:
type: string
description: Region of the location
city:
type: string
description: City of the location
GetAgentIpResponse:
type: object
properties:
ip:
type: string
description: IP address used for checks
PostCheckRequest:
type: object
properties:
url:
type: string
type:
type: string
pools:
type: array
items:
type: string
PostMonitorRequest:
type: object
properties:
type:
type: string
url:
type: string
name:
type: string
interval:
type: integer
locations:
type: object
properties:
pools:
type: array
items:
type: string
settings:
type: object
properties:
assertMode:
type: boolean
assertsSource:
type: string
PostMonitorBulkRequest:
type: object
properties:
items:
type: array
items:
type: object
properties:
type:
type: string
url:
type: string
PatchMonitorMonitoridRequest:
type: object
properties:
enabled:
type: boolean
PutMonitorMonitoridAlertContactidRequest:
type: object
properties:
alertTypes:
type: array
items:
type: string
PostStatuspagePageidIncidentRequest:
type: object
properties:
title:
type: string
state:
type: string
message:
type: string
impact:
type: string
PostSubscriptionsResponse:
type: object
properties:
id:
type: string
rawUrl:
type: string
name:
type: string
results:
type: array
items:
type: array
items:
type: integer
PostTasksHttpRequest:
type: object
properties:
url:
type: string
interval:
type: integer
name:
type: string
PostTasksHttpResponse:
type: object
properties:
code:
type: integer
status:
type: string
headers:
type: object
properties:
Location:
type: string
body:
type: string
PostUsersTokenRequest:
type: object
properties:
login:
type: string
password:
type: string
GetWebhookResponse:
type: object
properties:
summary.eventTypes:
type: array
description: List of event types supported by the webhook catalogue
PostWebhookRequest:
type: object
properties:
url:
type: string
events:
type: array
items:
type: string
scope:
type: object
properties:
all:
type: boolean
securitySchemes:
bearer:
type: http
scheme: bearer
security:
- bearer: []
tags:
- name: Account
- name: Agent
- name: Api
- name: Apt
- name: Check
- name: Contact
- name: Hosttracker
- name: Maintenance
- name: Monitor
- name: Openapi
- name: Problems
- name: Statuspage
- name: Subscriptions
- name: Tasks
- name: Users
- name: Webhook