{"openapi":"3.1.0","info":{"title":"Datadog Service Catalog (BYOK) API","version":"0.1.0","description":"Datadog Service Catalog (BYOK) lets an AI assistant read your own Datadog Service Catalog data through the Datadog Service Catalog API with a key you supply (Datadog API key (US1 site, datadoghq.com)). Read-only: 6 tools (list_service_definitions, get_service_definition, list_apm_services, list_span_metrics, get_span_metric, list_apm_retention_filters). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-datadog-service-catalog.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-datadog-service-catalog/docs"},"termsOfService":"https://connectorbay.com/byok-datadog-service-catalog/terms"},"servers":[{"url":"https://byok-datadog-service-catalog.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-datadog-service-catalog/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_service_definitions":{"post":{"operationId":"list_service_definitions","summary":"List Service Catalog definitions with service name, owning team, application, tier, lifecycle, description, tags, langua","description":"List Service Catalog definitions with service name, owning team, application, tier, lifecycle, description, tags, languages and links. Contact details are left out. Use for \"Which services in my Datadog Service Catalog are owned by the payments team\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Definitions per page (1 to 100, default 10).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Page number, starting at 0.","title":"Page Number"},"schema_version":{"anyOf":[{"enum":["v1","v2","v2.1","v2.2"],"type":"string"},{"type":"null"}],"default":"v2.2","description":"Service definition schema version to return.","title":"Schema Version"}},"title":"list_service_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/get_service_definition":{"post":{"operationId":"get_service_definition","summary":"Get one Service Catalog definition by service name: owning team, tier, lifecycle, description, tags, links and ingestion","description":"Get one Service Catalog definition by service name: owning team, tier, lifecycle, description, tags, links and ingestion metadata. Use for \"Show the Datadog service definition of checkout\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_name":{"description":"Service name (the dd-service value), for example 'checkout'.","maxLength":200,"title":"Service Name","type":"string"},"schema_version":{"anyOf":[{"enum":["v1","v2","v2.1","v2.2"],"type":"string"},{"type":"null"}],"default":"v2.2","description":"Service definition schema version to return.","title":"Schema Version"}},"required":["service_name"],"title":"get_service_definitionArguments","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_apm_services":{"post":{"operationId":"list_apm_services","summary":"List the names of services reporting APM data in an environment (use * for all environments). Use for \"Which services re","description":"List the names of services reporting APM data in an environment (use * for all environments). Use for \"Which services report APM traces in the prod environment of Datadog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"env":{"description":"Environment name, for example 'prod', or * for all environments.","maxLength":100,"title":"Env","type":"string"}},"required":["env"],"title":"list_apm_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_span_metrics":{"post":{"operationId":"list_span_metrics","summary":"List span-based metrics: id (metric name), aggregation type, measure path, filter query and group-by tags. Use for \"Whic","description":"List span-based metrics: id (metric name), aggregation type, measure path, filter query and group-by tags. Use for \"Which metrics does Datadog generate from APM spans\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_span_metricsArguments","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_span_metric":{"post":{"operationId":"get_span_metric","summary":"Get one span-based metric by name. Use for \"Show the Datadog span-based metric checkout.latency\".","description":"Get one span-based metric by name. Use for \"Show the Datadog span-based metric checkout.latency\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"metric_id":{"description":"Name of the span-based metric from list_span_metrics.","maxLength":200,"title":"Metric Id","type":"string"}},"required":["metric_id"],"title":"get_span_metricArguments","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_apm_retention_filters":{"post":{"operationId":"list_apm_retention_filters","summary":"List APM trace retention filters in execution order: name, filter type, query, sample rates and enabled flag. Use for \"W","description":"List APM trace retention filters in execution order: name, filter type, query, sample rates and enabled flag. Use for \"Which APM retention filters are enabled in Datadog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_apm_retention_filtersArguments","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}}}}