Properties
| Name | Type | Description |
|---|---|---|
| monitor | object | |
| message | string | Human-readable confirmation. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/arcmira/json-schema/arcmira-monitor-mutation-response-schema.json",
"title": "MonitorMutationResponse",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/arcmira-monitors-api-openapi.yml#/components/schemas/MonitorMutationResponse",
"type": "object",
"properties": {
"monitor": {
"allOf": [
{
"$ref": "#/$defs/Monitor"
},
{
"type": "object",
"properties": {
"tracker_count": {
"type": "integer",
"description": "Number of trackers in the monitor. Always 0 in the create response."
},
"webhook_secret": {
"type": "string",
"description": "The webhook signing secret (\"whsec_...\"). Only present when this request NEWLY enabled webhook signing: a create with notify_webhook: true and a webhook_url, or a PATCH that turns the webhook on (or sets a URL) where no secret existed before. Store it securely. The same Idempotency-Key can recover it for up to 24 hours while it remains the current or valid previous secret. A displaced or expired secret returns idempotency_result_expired without rotating again."
}
},
"required": [
"tracker_count"
]
}
]
},
"message": {
"type": "string",
"description": "Human-readable confirmation."
}
},
"required": [
"monitor",
"message"
],
"$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-mutation-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.