{"openapi":"3.1.0","info":{"title":"Checkly Alerting (BYOK) API","version":"0.1.0","description":"Checkly Alerting (BYOK) lets an AI assistant read your own Checkly Alerting data through the Checkly Alerting API with a key you supply (Checkly user API key). Read-only: 5 tools (list_alert_channels, get_alert_channel, list_alert_notifications, list_dashboards, get_dashboard). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-checkly-alerting.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-checkly-alerting/docs"},"termsOfService":"https://connectorbay.com/byok-checkly-alerting/terms"},"servers":[{"url":"https://byok-checkly-alerting.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-checkly-alerting/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_alert_channels":{"post":{"operationId":"list_alert_channels","summary":"List alert channels with type (email, Slack, webhook, SMS, PagerDuty, Opsgenie, call) and which events they send. Destin","description":"List alert channels with type (email, Slack, webhook, SMS, PagerDuty, Opsgenie, call) and which events they send. Destination settings such as addresses and URLs are not returned. Use for \"Which alert channels are set up in Checkly\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_alert_channelsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_alert_channel":{"post":{"operationId":"get_alert_channel","summary":"Get one alert channel by id: type, which events it sends and which checks and groups are subscribed to it. Destination s","description":"Get one alert channel by id: type, which events it sends and which checks and groups are subscribed to it. Destination settings are not returned. Use for \"Which checks use this Checkly alert channel\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Numeric alert channel id from list_alert_channels.","title":"Id","type":"integer"}},"required":["id"],"title":"get_alert_channelArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_alert_notifications":{"post":{"operationId":"list_alert_notifications","summary":"List alert notifications that were sent (default: the last 6 hours) with channel, check, status and time; optionally onl","description":"List alert notifications that were sent (default: the last 6 hours) with channel, check, status and time; optionally only failed sends or one channel. Use for \"Did any Checkly alert notifications fail to send recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only notifications at or after this UNIX timestamp in seconds (default: 6 hours ago).","title":"From Time"},"to_time":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only notifications before this UNIX timestamp in seconds.","title":"To Time"},"alert_channel_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only notifications sent through this alert channel id.","title":"Alert Channel Id"},"has_failures":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only notifications whose sending failed.","title":"Has Failures"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_alert_notificationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_dashboards":{"post":{"operationId":"list_dashboards","summary":"List the public status dashboards with header, description, custom URL or domain, privacy flag, refresh rate and tags. A","description":"List the public status dashboards with header, description, custom URL or domain, privacy flag, refresh rate and tags. Access keys are not returned. Use for \"Which Checkly dashboards exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_dashboardsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_dashboard":{"post":{"operationId":"get_dashboard","summary":"Get one dashboard by its dashboard id: header, description, custom URL or domain, privacy flag, refresh rate and tags. U","description":"Get one dashboard by its dashboard id: header, description, custom URL or domain, privacy flag, refresh rate and tags. Use for \"Show one Checkly dashboard\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dashboard_id":{"description":"Dashboard id (the dashboardId field) from list_dashboards.","maxLength":200,"title":"Dashboard Id","type":"string"}},"required":["dashboard_id"],"title":"get_dashboardArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}