{"openapi":"3.1.0","info":{"title":"Coralogix (BYOK) API","version":"0.1.0","description":"Coralogix (BYOK) lets an AI assistant read your own Coralogix data through the Coralogix API with a key you supply (Coralogix API key with read permissions for the objects these tools read). Read-only: 7 tools (list_slos, get_slo, get_slo_status, get_slo_zero_state, count_alert_definitions, list_alert_scheduler_rules, get_alert_scheduler_rule). The BYOK key travels with each request, is used for...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-coralogix-slo-alerts.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-coralogix-slo-alerts/docs"},"termsOfService":"https://connectorbay.com/byok-coralogix-slo-alerts/terms"},"servers":[{"url":"https://byok-coralogix-slo-alerts.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-coralogix-slo-alerts/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_slos":{"post":{"operationId":"list_slos","summary":"List the service level objectives with name, target percentage, time frame, owner and labels (the full indicator definit","description":"List the service level objectives with name, target percentage, time frame, owner and labels (the full indicator definition is not returned). Use for \"Which SLOs are defined in Coralogix\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Coralogix region of your account: eu1, eu2, us1, us2, us3, ap1, ap2 or ap3 (the host is api.<region>.coralogix.com). A call to another region fails.","enum":["eu1","eu2","us1","us2","us3","ap1","ap2","ap3"],"title":"Region","type":"string"}},"required":["region"],"title":"list_slosArguments","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_slo":{"post":{"operationId":"get_slo","summary":"Get one SLO by id with its name, target percentage, time frame, creator and labels. Use for \"Show the details of one Cor","description":"Get one SLO by id with its name, target percentage, time frame, creator and labels. Use for \"Show the details of one Coralogix SLO\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Coralogix region of your account: eu1, eu2, us1, us2, us3, ap1, ap2 or ap3 (the host is api.<region>.coralogix.com). A call to another region fails.","enum":["eu1","eu2","us1","us2","us3","ap1","ap2","ap3"],"title":"Region","type":"string"},"id":{"description":"Id of the SLO, as returned by list_slos.","maxLength":200,"title":"Id","type":"string"}},"required":["region","id"],"title":"get_sloArguments","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_slo_status":{"post":{"operationId":"get_slo_status","summary":"Show the current compliance and remaining error budget of an SLO over its window, or over a chosen window of at most 28 ","description":"Show the current compliance and remaining error budget of an SLO over its window, or over a chosen window of at most 28 days. Use for \"How much error budget does this Coralogix SLO have left\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Coralogix region of your account: eu1, eu2, us1, us2, us3, ap1, ap2 or ap3 (the host is api.<region>.coralogix.com). A call to another region fails.","enum":["eu1","eu2","us1","us2","us3","ap1","ap2","ap3"],"title":"Region","type":"string"},"id":{"description":"Id of the SLO, as returned by list_slos.","maxLength":200,"title":"Id","type":"string"},"window_start":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the window, RFC 3339 UTC on a whole minute such as 2026-10-01T00:00:00Z. Default: start of the SLO time frame.","title":"Window Start"},"window_end":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"End of the window, RFC 3339 UTC on a whole minute such as 2026-10-08T00:00:00Z. Default: now. The window may not exceed 28 days.","title":"Window End"}},"required":["region","id"],"title":"get_slo_statusArguments","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_slo_zero_state":{"post":{"operationId":"get_slo_zero_state","summary":"Tell whether the team has no SLOs yet (true means none are defined). Use for \"Have I created any Coralogix SLOs yet\".","description":"Tell whether the team has no SLOs yet (true means none are defined). Use for \"Have I created any Coralogix SLOs yet\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Coralogix region of your account: eu1, eu2, us1, us2, us3, ap1, ap2 or ap3 (the host is api.<region>.coralogix.com). A call to another region fails.","enum":["eu1","eu2","us1","us2","us3","ap1","ap2","ap3"],"title":"Region","type":"string"}},"required":["region"],"title":"get_slo_zero_stateArguments","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/count_alert_definitions":{"post":{"operationId":"count_alert_definitions","summary":"Count alert definitions grouped by enabled state, priority, status and type, plus counts per entity label. Use for \"How ","description":"Count alert definitions grouped by enabled state, priority, status and type, plus counts per entity label. Use for \"How many Coralogix alerts do I have by priority and type\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Coralogix region of your account: eu1, eu2, us1, us2, us3, ap1, ap2 or ap3 (the host is api.<region>.coralogix.com). A call to another region fails.","enum":["eu1","eu2","us1","us2","us3","ap1","ap2","ap3"],"title":"Region","type":"string"}},"required":["region"],"title":"count_alert_definitionsArguments","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_scheduler_rules":{"post":{"operationId":"list_alert_scheduler_rules","summary":"List alert scheduler (suppression) rules that mute or activate alerts on a schedule, with name, enabled flag, filter and","description":"List alert scheduler (suppression) rules that mute or activate alerts on a schedule, with name, enabled flag, filter and timestamps. Use for \"Which alert suppression schedules does Coralogix have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Coralogix region of your account: eu1, eu2, us1, us2, us3, ap1, ap2 or ap3 (the host is api.<region>.coralogix.com). A call to another region fails.","enum":["eu1","eu2","us1","us2","us3","ap1","ap2","ap3"],"title":"Region","type":"string"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only enabled rules, false only disabled ones; leave out for all.","title":"Enabled"},"next_page_token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Token from a previous answer's nextPageToken to fetch the next page.","title":"Next Page Token"}},"required":["region"],"title":"list_alert_scheduler_rulesArguments","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_scheduler_rule":{"post":{"operationId":"get_alert_scheduler_rule","summary":"Get one alert scheduler (suppression) rule by id with its filter, schedule operation (mute or activate) and timestamps. ","description":"Get one alert scheduler (suppression) rule by id with its filter, schedule operation (mute or activate) and timestamps. Use for \"Show one Coralogix alert suppression rule\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Coralogix region of your account: eu1, eu2, us1, us2, us3, ap1, ap2 or ap3 (the host is api.<region>.coralogix.com). A call to another region fails.","enum":["eu1","eu2","us1","us2","us3","ap1","ap2","ap3"],"title":"Region","type":"string"},"alert_scheduler_rule_id":{"description":"Id of the alert scheduler rule, as returned by list_alert_scheduler_rules.","maxLength":200,"title":"Alert Scheduler Rule Id","type":"string"}},"required":["region","alert_scheduler_rule_id"],"title":"get_alert_scheduler_ruleArguments","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}}}}