{"openapi":"3.1.0","info":{"title":"Instana (BYOK) API","version":"0.1.0","description":"Instana (BYOK) lets an AI assistant read your own Instana data through the Instana API with a key you supply (Instana API token (needs read permissions only)). Read-only: 12 tools (get_version, get_health, get_monitoring_state, list_events, list_applications, list_services, list_releases, list_maintenance_windows, list_synthetic_tests, list_synthetic_locations, list_websites,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-instana.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-instana/docs"},"termsOfService":"https://connectorbay.com/byok-instana/terms"},"servers":[{"url":"https://byok-instana.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-instana/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/get_version":{"post":{"operationId":"get_version","summary":"Show the Instana backend version: branch, commit and image tag. Use for \"Which Instana version does my tenant run\".","description":"Show the Instana backend version: branch, commit and image tag. Use for \"Which Instana version does my tenant run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"}},"required":["tenant_host"],"title":"get_versionArguments","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_health":{"post":{"operationId":"get_health","summary":"Show the health state of the Instana backend with any messages. Use for \"Is my Instana backend healthy\".","description":"Show the health state of the Instana backend with any messages. Use for \"Is my Instana backend healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"}},"required":["tenant_host"],"title":"get_healthArguments","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_monitoring_state":{"post":{"operationId":"get_monitoring_state","summary":"Show how many hosts, serverless entities and OpenTelemetry sources Instana monitors and whether any entities exist. Use ","description":"Show how many hosts, serverless entities and OpenTelemetry sources Instana monitors and whether any entities exist. Use for \"How many hosts is Instana monitoring\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"}},"required":["tenant_host"],"title":"get_monitoring_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/list_events":{"post":{"operationId":"list_events","summary":"List Instana events (incidents, issues and changes) in a time window with state, type, severity, affected entity and tim","description":"List Instana events (incidents, issues and changes) in a time window with state, type, severity, affected entity and timing. Use for \"Which Instana events happened in the last hour\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"},"window_size":{"anyOf":[{"maximum":2592000000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Size of the time window in milliseconds, ending at 'to' (default: the API default window).","title":"Window Size"},"to":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"End of the time window as a Unix timestamp in milliseconds (default: now).","title":"To"},"filter_event_updates":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to return only events whose state changed in the window.","title":"Filter Event Updates"},"exclude_triggered_before":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to leave out events that started before the window.","title":"Exclude Triggered Before"},"include_agent_monitoring_issues":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include agent monitoring issue events.","title":"Include Agent Monitoring Issues"},"include_kubernetes_info_events":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include Kubernetes info events.","title":"Include Kubernetes Info Events"}},"required":["tenant_host"],"title":"list_eventsArguments","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_applications":{"post":{"operationId":"list_applications","summary":"List application perspectives monitored by Instana with id, label, boundary scope and business criticality, with paging.","description":"List application perspectives monitored by Instana with id, label, boundary scope and business criticality, with paging. Use for \"Which applications does Instana monitor\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"},"name_filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only applications whose name contains this text.","title":"Name Filter"},"window_size":{"anyOf":[{"maximum":2592000000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Size of the time window in milliseconds, ending at 'to' (default: the API default window).","title":"Window Size"},"to":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"End of the time window as a Unix timestamp in milliseconds (default: now).","title":"To"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Items per page (1 to 200).","title":"Page Size"},"application_boundary_scope":{"anyOf":[{"enum":["INBOUND","ALL"],"type":"string"},{"type":"null"}],"default":null,"description":"Scope filter: INBOUND or ALL.","title":"Application Boundary Scope"}},"required":["tenant_host"],"title":"list_applicationsArguments","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_services":{"post":{"operationId":"list_services","summary":"List services detected by Instana with id, label, technologies and call types, with paging. Use for \"Which services does","description":"List services detected by Instana with id, label, technologies and call types, with paging. Use for \"Which services does Instana see\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"},"name_filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only services whose name contains this text.","title":"Name Filter"},"window_size":{"anyOf":[{"maximum":2592000000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Size of the time window in milliseconds, ending at 'to' (default: the API default window).","title":"Window Size"},"to":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"End of the time window as a Unix timestamp in milliseconds (default: now).","title":"To"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Items per page (1 to 200).","title":"Page Size"}},"required":["tenant_host"],"title":"list_servicesArguments","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_releases":{"post":{"operationId":"list_releases","summary":"List release markers with name, start time and last update, optionally limited to a time range. Use for \"What releases w","description":"List release markers with name, start time and last update, optionally limited to a time range. Use for \"What releases were marked in Instana recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"},"from_time":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only releases starting after this Unix timestamp in milliseconds.","title":"From Time"},"to":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only releases starting before this Unix timestamp in milliseconds.","title":"To"},"max_results":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of releases to return (1 to 200).","title":"Max Results"}},"required":["tenant_host"],"title":"list_releasesArguments","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_maintenance_windows":{"post":{"operationId":"list_maintenance_windows","summary":"List maintenance windows (v2) with name, state, paused flag, filter query and last update. Use for \"Which Instana mainte","description":"List maintenance windows (v2) with name, state, paused flag, filter query and last update. Use for \"Which Instana maintenance windows are active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"}},"required":["tenant_host"],"title":"list_maintenance_windowsArguments","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_synthetic_tests":{"post":{"operationId":"list_synthetic_tests","summary":"List Synthetic monitoring tests with label, active flag, frequency in minutes, locations and linked application. Use for","description":"List Synthetic monitoring tests with label, active flag, frequency in minutes, locations and linked application. Use for \"Which Instana synthetic tests are active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"},"application_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only tests linked to this application id.","title":"Application Id"},"location_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only tests running at this location id.","title":"Location Id"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Pages to skip before returning tests.","title":"Offset"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page size (1 to 200).","title":"Limit"}},"required":["tenant_host"],"title":"list_synthetic_testsArguments","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_synthetic_locations":{"post":{"operationId":"list_synthetic_locations","summary":"List Synthetic monitoring locations with label, type, status and number of tests. Use for \"Which synthetic locations exi","description":"List Synthetic monitoring locations with label, type, status and number of tests. Use for \"Which synthetic locations exist and how many tests run at each\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Pages to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page size (1 to 200).","title":"Limit"}},"required":["tenant_host"],"title":"list_synthetic_locationsArguments","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_websites":{"post":{"operationId":"list_websites","summary":"List website monitoring configurations with id, name, application name and business criticality. Use for \"Which websites","description":"List website monitoring configurations with id, name, application name and business criticality. Use for \"Which websites are monitored in Instana\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"}},"required":["tenant_host"],"title":"list_websitesArguments","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_infra_alert_configs":{"post":{"operationId":"list_infra_alert_configs","summary":"List infrastructure alert configurations with name, enabled flag, severity, evaluation type and grace period. Channel de","description":"List infrastructure alert configurations with name, enabled flag, severity, evaluation type and grace period. Channel details are not requested. Use for \"Which Instana infrastructure alerts are enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant_host":{"description":"Your Instana host label in unit-tenant form (prod-acme for prod-acme.instana.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant Host","type":"string"}},"required":["tenant_host"],"title":"list_infra_alert_configsArguments","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}}}}