{"openapi":"3.1.0","info":{"title":"Datadog Teams (BYOK) API","version":"0.1.0","description":"Datadog Teams (BYOK) lets an AI assistant read your own Datadog Teams data through the Datadog Teams API with a key you supply (Datadog API key (US1 site, datadoghq.com)). Read-only: 7 tools (list_teams, get_team, get_team_links, list_team_hierarchy_links, get_team_permission_settings, list_team_notification_rules, list_team_connections). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-datadog-teams.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-datadog-teams/docs"},"termsOfService":"https://connectorbay.com/byok-datadog-teams/terms"},"servers":[{"url":"https://byok-datadog-teams.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-datadog-teams/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_teams":{"post":{"operationId":"list_teams","summary":"List teams with name, handle, summary, member count and link count (no member names). Search by team name or handle; sor","description":"List teams with name, handle, summary, member count and link count (no member names). Search by team name or handle; sort by name or member count. Use for \"Which Datadog teams exist and how large are they\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"keyword":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Search text matched against team name and handle.","title":"Keyword"},"sort":{"anyOf":[{"enum":["name","-name","user_count","-user_count"],"type":"string"},{"type":"null"}],"default":null,"description":"Order of teams.","title":"Sort"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items 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"}},"title":"list_teamsArguments","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_team":{"post":{"operationId":"get_team","summary":"Get one team by id: name, handle, summary, description, member and link counts. Use for \"Show the Datadog team with id t","description":"Get one team by id: name, handle, summary, description, member and link counts. Use for \"Show the Datadog team with id t1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (UUID) from list_teams.","maxLength":60,"title":"Team Id","type":"string"}},"required":["team_id"],"title":"get_teamArguments","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_team_links":{"post":{"operationId":"get_team_links","summary":"List a team's links (runbooks, dashboards, chat rooms): label, URL and position. Use for \"What links does Datadog team t","description":"List a team's links (runbooks, dashboards, chat rooms): label, URL and position. Use for \"What links does Datadog team t1 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (UUID) from list_teams.","maxLength":60,"title":"Team Id","type":"string"}},"required":["team_id"],"title":"get_team_linksArguments","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_team_hierarchy_links":{"post":{"operationId":"list_team_hierarchy_links","summary":"List parent and sub-team relationships between teams (ids of the parent and sub team). Filter by parent or sub team id. ","description":"List parent and sub-team relationships between teams (ids of the parent and sub team). Filter by parent or sub team id. Use for \"Which Datadog teams sit under team t1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"parent_team":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only links whose parent team has this id.","title":"Parent Team"},"sub_team":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only links whose sub team has this id.","title":"Sub Team"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items 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"}},"title":"list_team_hierarchy_linksArguments","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_team_permission_settings":{"post":{"operationId":"get_team_permission_settings","summary":"Show who may perform each team action (for example manage membership or edit the team): action, current value, editable ","description":"Show who may perform each team action (for example manage membership or edit the team): action, current value, editable flag and allowed options. Use for \"Who can edit Datadog team t1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (UUID) from list_teams.","maxLength":60,"title":"Team Id","type":"string"}},"required":["team_id"],"title":"get_team_permission_settingsArguments","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_team_notification_rules":{"post":{"operationId":"list_team_notification_rules","summary":"List where a team's alerts are routed: Slack channel and workspace, PagerDuty service name, Microsoft Teams connector. E","description":"List where a team's alerts are routed: Slack channel and workspace, PagerDuty service name, Microsoft Teams connector. Email recipients are left out. Use for \"Where does Datadog team t1 send its notifications\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (UUID) from list_teams.","maxLength":60,"title":"Team Id","type":"string"}},"required":["team_id"],"title":"list_team_notification_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/list_team_connections":{"post":{"operationId":"list_team_connections","summary":"List links between Datadog teams and teams in external systems (GitHub, Okta and similar): source, managed-by and the tw","description":"List links between Datadog teams and teams in external systems (GitHub, Okta and similar): source, managed-by and the two team ids. Use for \"Which Datadog teams are connected to external teams\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items 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"}},"title":"list_team_connectionsArguments","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}}}}