Properties
| Name | Type | Description |
|---|---|---|
| monitors | array | The monitors of the account the caller acts in, ordered by dashboard sort position, then name. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/arcmira/json-schema/arcmira-monitor-list-response-schema.json",
"title": "MonitorListResponse",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/arcmira-monitors-api-openapi.yml#/components/schemas/MonitorListResponse",
"type": "object",
"properties": {
"monitors": {
"type": "array",
"items": {
"allOf": [
{
"$ref": "#/$defs/Monitor"
},
{
"type": "object",
"properties": {
"tracker_count": {
"type": "integer",
"description": "Number of trackers in the monitor."
},
"alerts_this_month": {
"type": "integer",
"description": "Alert deliveries written for this monitor since the start of the calendar month."
},
"slack_integration": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string",
"description": "Slack integration id."
},
"team_name": {
"type": [
"string",
"null"
],
"description": "Slack workspace name."
},
"channel_name": {
"type": [
"string",
"null"
],
"description": "Slack channel the integration posts to."
}
},
"required": [
"id",
"team_name",
"channel_name"
],
"description": "Display metadata for the connected Slack integration. Null/absent when Slack is not configured."
}
},
"required": [
"tracker_count",
"alerts_this_month"
]
}
]
},
"description": "The monitors of the account the caller acts in, ordered by dashboard sort position, then name."
}
},
"required": [
"monitors"
],
"$defs": {
"Monitor": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Monitor id."
},
"name": {
"type": "string",
"description": "Monitor name."
},
"paused": {
"type": "boolean",
"description": "True when delivery is paused for all trackers in this monitor. New alerts are not queued, and queued email delivery checks the pause state again before sending. Use PATCH /v1/trackers/{id} with paused: true to pause one tracker."
},
"notify_emails": {
"type": "array",
"items": {
"type": "string"
},
"description": "Configured email recipients. External recipients must confirm before delivery. Free includes one additional recipient per monitor."
},
"email_recipients": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"owner",
"member",
"external"
],
"description": "owner: the address of the account the monitor belongs to. member: a teammate in that account. external: anyone else, who must confirm first."
},
"user_id": {
"type": [
"string",
"null"
],
"description": "The Arcmira user behind an owner or member address. Null for external recipients."
},
"status": {
"type": "string",
"enum": [
"active",
"pending",
"unsubscribed",
"suppressed",
"removed",
"owner_unverified",
"plan_limited"
]
},
"invitation_status": {
"type": "string",
"enum": [
"sent",
"failed",
"limited",
"pending"
]
}
},
"required": [
"email",
"role",
"user_id",
"status"
]
},
"description": "Every address the monitor reaches, with consent and invitation state. An account is not required to accept."
},
"notify_frequency": {
"type": "string",
"default": "realtime",
"description": "Delivery cadence. Values: realtime (deliver immediately), hourly (hourly digest), daily (daily digest)."
},
"digest_day": {
"type": "string",
"default": "monday",
"description": "Day of week for digest delivery."
},
"digest_time": {
"type": "string",
"default": "09:00",
"description": "Time of day (HH:MM) for digest delivery."
},
"notify_webhook": {
"type": "boolean",
"description": "True when webhook delivery is enabled."
},
"webhook_url": {
"type": [
"string",
"null"
],
"description": "Webhook destination URL. Null when no webhook is configured."
},
"webhook_secret_set": {
"type": "boolean",
"description": "True when a webhook signing secret exists for this monitor. The secret itself is never returned on reads; enablement and rotation responses support recovery with the original Idempotency-Key during the valid recovery window."
},
"webhook_secret_hint": {
"type": [
"string",
"null"
],
"description": "Last 4 characters of the current signing secret, for identifying which secret you hold. Null until a secret exists."
},
"webhook_failures": {
"type": "integer",
"default": 0,
"description": "Consecutive webhook delivery failures recorded for this monitor. Reset by a secret rotation or PATCHing notify_webhook: true; 10 consecutive failures auto-disable a webhook."
},
"webhook_disabled_at": {
"type": [
"string",
"null"
],
"description": "When the webhook was auto-disabled after repeated failures. Null while delivery is enabled. Re-enable by PATCHing notify_webhook: true; rotation alone never re-enables."
},
"webhook_disabled_reason": {
"type": [
"string",
"null"
],
"description": "Why the webhook was auto-disabled. Null while delivery is enabled."
},
"notify_slack": {
"type": "boolean",
"description": "True when Slack delivery is enabled."
},
"slack_integration_id": {
"type": [
"string",
"null"
],
"description": "Slack integration used for delivery. Null when Slack is not configured."
},
"slack_channel_id": {
"type": [
"string",
"null"
],
"description": "Slack channel to deliver to. Null when Slack is not configured."
},
"created_at": {
"type": "string",
"description": "When the monitor was created."
},
"updated_at": {
"type": "string",
"description": "When the monitor was last updated."
},
"access": {
"type": "string",
"enum": [
"account",
"member"
],
"description": "account: the caller owns the account the monitor belongs to, or is an admin in it. member: the caller is a member of that team account, who may edit the monitor and its webhook but may not delete it."
}
},
"required": [
"id",
"name",
"paused",
"notify_emails",
"notify_webhook",
"webhook_disabled_at",
"webhook_disabled_reason",
"notify_slack",
"slack_integration_id",
"slack_channel_id",
"created_at",
"updated_at",
"access"
]
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/arcmira-monitor-list-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.