# JustMonitorIt API > JustMonitorIt checks websites, APIs, servers, certificates, domains and mail servers from several locations and alerts by email, SMS, phone call, Pushover, Discord, PagerDuty, Slack, Microsoft Teams and webhooks. Its API comes in three forms over the same operations: REST (JSON), GraphQL and an MCP server for AI assistants. All three authenticate with an organisation-scoped API token: `Authorization: Bearer jmi_…`. - REST base URL: `https://dash.justmonitorit.com/api/v1`; organisation paths are `/orgs/{org}/...`, and `GET /api/v1/token` returns the token's organisation id. - GraphQL: `POST https://dash.justmonitorit.com/api/v1/graphql`. - MCP (Streamable HTTP, stateless): `https://dash.justmonitorit.com/api/v1/mcp`. - Token roles are `viewer` (read), `member` (also change monitors, incidents, contacts) and `admin` (also members, invitations, settings, audit log). - Errors are RFC 7807 problem documents; switch on their `code`. ## Docs - [Overview](https://dash.justmonitorit.com/docs/api/index.md): The three APIs (REST, GraphQL, MCP), the base URL, a three-step quick start and the main concepts - [Authentication](https://dash.justmonitorit.com/docs/api/authentication.md): API tokens: creating them, roles (viewer, member, admin), effective role, expiry, revocation and what tokens cannot do - [REST conventions](https://dash.justmonitorit.com/docs/api/rest.md): JSON, ids, timestamps, error codes, pagination, idempotency keys, If-Match, PATCH semantics, rate limits and plan limits - [Monitor kinds](https://dash.justmonitorit.com/docs/api/monitor-kinds.md): The fields, defaults and limits of a monitor and of the spec of each kind: http, http_adv, tcp, icmp, ssl_expiry, domain_expiry, imap, smtp - [Webhooks](https://dash.justmonitorit.com/docs/api/webhooks.md): Webhook contacts: verifying your domain with a DNS TXT record, the JSON we post (version 1), and how your response is handled - [Examples](https://dash.justmonitorit.com/docs/api/examples.md): Recipes in curl, Python and JavaScript: list down monitors, create monitors, pause during deploys, acknowledge incidents, export uptime, attach contacts - [Terraform and Pulumi](https://dash.justmonitorit.com/docs/api/terraform.md): Managing monitors and contacts with the Terraform, OpenTofu and Pulumi provider: installing it from dash.justmonitorit.com, monitors, contacts, secrets, drift, import and limits - [GraphQL](https://dash.justmonitorit.com/docs/api/graphql.md): The GraphQL API: endpoint, authentication, queries, mutations, errors and limits - [MCP server](https://dash.justmonitorit.com/docs/api/mcp.md): Connecting an AI assistant to the JustMonitorIt MCP server (Streamable HTTP, stateless) with an API token ## Optional - [REST reference](https://dash.justmonitorit.com/docs/api/generated/rest-reference.md): Every REST operation an API token can call, with its minimum role, parameters, request body, responses and errors, and the schemas - [MCP tools](https://dash.justmonitorit.com/docs/api/generated/mcp-tools.md): Every tool of the MCP server with its input schema and the token role it needs - [schema.graphql](https://dash.justmonitorit.com/docs/api/generated/schema.graphql): The GraphQL schema (SDL) - [OpenAPI document](https://dash.justmonitorit.com/api/v1/openapi.json): the machine-readable REST description (OpenAPI 3.1)