# NetPulse API > Read your agents, hosts, services, alerts, security detections, and usage with an API key, over REST or MCP. REST under `https://api.friski.dev/v1` and MCP at `https://api.friski.dev/mcp`, both authenticated with an API key in `Authorization: Bearer `. ## Guides - [Getting started](https://docs.friski.dev/guides/getting-started.md): Create an API key and make your first call. - [Authentication](https://docs.friski.dev/guides/authentication.md): Every call carries an API key; the key's permissions, allowed IPs, and expiry decide what it may do. - [Conventions](https://docs.friski.dev/guides/conventions.md): Pagination, time windows, field formats, errors, rate limits, and versioning shared by every operation. - [MCP](https://docs.friski.dev/guides/mcp.md): Connect an AI assistant to NetPulse over the Model Context Protocol, with the same API key and data as REST. ## Operations - [List agents](https://docs.friski.dev/reference/list_agents.md): `GET /v1/agents`, MCP tool `list_agents`. Lists your agents by name with their status, version, products, and machine details. Pass site_id for the agents of one site. - [Get an agent](https://docs.friski.dev/reference/get_agent.md): `GET /v1/agents/{agent_id}`, MCP tool `get_agent`. Returns one agent by its id, with the same fields as list_agents. - [List sites](https://docs.friski.dev/reference/list_sites.md): `GET /v1/sites`, MCP tool `list_sites`. Lists your sites by name with their status, agent counts per status, and products. - [List monitored hosts](https://docs.friski.dev/reference/list_hosts.md): `GET /v1/hosts`, MCP tool `list_hosts`. Lists the machines running server monitoring by host name, with their current status and CPU, memory, and disk use over the window. - [List application services](https://docs.friski.dev/reference/list_services.md): `GET /v1/services`, MCP tool `list_services`. Lists the services running on your machines by name, with request count, request rate, error rate, and response times over the window. - [List current alerts](https://docs.friski.dev/reference/list_alerts.md): `GET /v1/alerts`, MCP tool `list_alerts`. Lists your metric alerts that are pending, firing, or recently resolved, and your 200 most recent detection alerts, newest first. Filter by product, severity, or state. - [List alert rules](https://docs.friski.dev/reference/list_alert_rules.md): `GET /v1/alert-rules`, MCP tool `list_alert_rules`. Lists every metric alert rule of your organization by name, with what it watches, when it fires, and whether it is enabled. - [Get alert rule options](https://docs.friski.dev/reference/get_rule_options.md): `GET /v1/alert-rules/options`, MCP tool `get_rule_options`. Returns the metrics an alert rule can watch, with the aggregators and dimensions each allows, and the allowed values and defaults of every other rule field. - [Validate alert rule drafts](https://docs.friski.dev/reference/validate_alert_rules.md): `POST /v1/alert-rules/validate`, MCP tool `validate_alert_rules`. Checks up to 50 metric alert rule drafts the way creating them would and returns, per draft in order, every field at fault with the reason. Nothing is saved. - [List security detections](https://docs.friski.dev/reference/list_detections.md): `GET /v1/security/detections`, MCP tool `list_detections`. Lists the suspicious activity your agents detected in the window, newest first, with the process, destination, or file involved. - [Get usage](https://docs.friski.dev/reference/get_usage.md): `GET /v1/usage`, MCP tool `get_usage`. Returns the monitoring data your organization sent and the host-hours it ran in the window, per product and site, with the window it covers. ## Optional - [OpenAPI](https://docs.friski.dev/openapi.json): the machine-readable reference - [Full docs](https://docs.friski.dev/llms-full.txt): every guide and operation in one file