> For the complete documentation index, see [llms.txt](https://docs.visualsentinel.com/llms.txt)

# System API

Health checks, metrics, and system status. This page lists all 3 endpoints in the System area of the Visual Sentinel REST API.

Base URL: `https://visualsentinel.com`. Unless an endpoint says otherwise it accepts an API key or a session cookie, see [Authentication](https://docs.visualsentinel.com/guides/authentication.md). Most error responses use the [ErrorResponse](https://docs.visualsentinel.com/reference/models/error-response.md) shape, see [Errors](https://docs.visualsentinel.com/guides/errors.md) and [Rate limits](https://docs.visualsentinel.com/guides/rate-limits.md).

## Endpoints

- [Prometheus metrics](#get-metrics): `GET /api/metrics`
- [Get current plan details](#get-plan): `GET /api/plan`
- [DNS lookup](#dns-lookup): `GET /api/dns`

## Prometheus metrics

`GET /api/metrics`

Get metrics in Prometheus format for external monitoring systems. Each API key can call this 12 times per minute, so use a scrape interval of 15 seconds or longer. Values can be up to 15 seconds old.

Authentication: API key only.

**Responses**

- `200`: Prometheus metrics. Body: string (`text/plain`).
- `401`: Invalid or missing API key.
- `403`: The key lacks the monitors:read scope, or the plan does not include API access.
- `429`: More than 12 requests in a minute for this API key. See the Retry-After header.

## Get current plan details

`GET /api/plan`

Returns the current organization's plan, limits, and usage.

**Responses**

- `200`: Plan details. Body: object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `plan` | string | No |   |
| `limits` | object | No |   |
| `usage` | object | No |   |

## DNS lookup

`GET /api/dns`

Perform a DNS lookup for a given domain.

**Parameters**

- `domain` (query, string, required)

**Responses**

- `200`: DNS records.

Generated from the OpenAPI 3.1 specification at [https://docs.visualsentinel.com/openapi.json](https://docs.visualsentinel.com/openapi.json), the same file the interactive reference reads.
