naftiko: 1.0.0-alpha2 info: label: Sentry Teams API — Teams description: 'Sentry Teams API — Teams. 7 operations. Lead operation: Sentry List an organization''s teams. Self-contained Naftiko capability covering one Sentry System business surface.' tags: - Sentry System - Teams created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SENTRY_SYSTEM_API_KEY: SENTRY_SYSTEM_API_KEY capability: consumes: - type: http namespace: sentry-teams-teams baseUri: https://sentry.io/api/0 description: Sentry Teams API — Teams business capability. Self-contained, no shared references. resources: - name: organizations-organization_id_or_slug-teams path: /organizations/{organization_id_or_slug}/teams/ operations: - name: listorganizationteams method: GET description: Sentry List an organization's teams outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cursor in: query type: string description: Pagination cursor. - name: createteam method: POST description: Sentry Create a new team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: projects-organization_id_or_slug-project_id_or_slug-teams path: /projects/{organization_id_or_slug}/{project_id_or_slug}/teams/ operations: - name: listprojectteams method: GET description: Sentry List a project's teams outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organization_id_or_slug in: path type: string description: The ID or slug of the organization. required: true - name: project_id_or_slug in: path type: string description: The ID or slug of the project. required: true - name: teams-organization_id_or_slug-team_id_or_slug path: /teams/{organization_id_or_slug}/{team_id_or_slug}/ operations: - name: retrieveteam method: GET description: Sentry Retrieve a team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateteam method: PUT description: Sentry Update a team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteteam method: DELETE description: Sentry Delete a team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: teams-organization_id_or_slug-team_id_or_slug-projects path: /teams/{organization_id_or_slug}/{team_id_or_slug}/projects/ operations: - name: listteamprojects method: GET description: Sentry List a team's projects outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cursor in: query type: string description: Pagination cursor. authentication: type: bearer token: '{{env.SENTRY_SYSTEM_API_KEY}}' exposes: - type: rest namespace: sentry-teams-teams-rest port: 8080 description: REST adapter for Sentry Teams API — Teams. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{organization-id-or-slug}/teams name: organizations-organization-id-or-slug-teams description: REST surface for organizations-organization_id_or_slug-teams. operations: - method: GET name: listorganizationteams description: Sentry List an organization's teams call: sentry-teams-teams.listorganizationteams with: cursor: rest.cursor outputParameters: - type: object mapping: $. - method: POST name: createteam description: Sentry Create a new team call: sentry-teams-teams.createteam with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{organization-id-or-slug}/{project-id-or-slug}/teams name: projects-organization-id-or-slug-project-id-or-slug-teams description: REST surface for projects-organization_id_or_slug-project_id_or_slug-teams. operations: - method: GET name: listprojectteams description: Sentry List a project's teams call: sentry-teams-teams.listprojectteams with: organization_id_or_slug: rest.organization_id_or_slug project_id_or_slug: rest.project_id_or_slug outputParameters: - type: object mapping: $. - path: /v1/teams/{organization-id-or-slug}/{team-id-or-slug} name: teams-organization-id-or-slug-team-id-or-slug description: REST surface for teams-organization_id_or_slug-team_id_or_slug. operations: - method: GET name: retrieveteam description: Sentry Retrieve a team call: sentry-teams-teams.retrieveteam outputParameters: - type: object mapping: $. - method: PUT name: updateteam description: Sentry Update a team call: sentry-teams-teams.updateteam with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteteam description: Sentry Delete a team call: sentry-teams-teams.deleteteam outputParameters: - type: object mapping: $. - path: /v1/teams/{organization-id-or-slug}/{team-id-or-slug}/projects name: teams-organization-id-or-slug-team-id-or-slug-projects description: REST surface for teams-organization_id_or_slug-team_id_or_slug-projects. operations: - method: GET name: listteamprojects description: Sentry List a team's projects call: sentry-teams-teams.listteamprojects with: cursor: rest.cursor outputParameters: - type: object mapping: $. - type: mcp namespace: sentry-teams-teams-mcp port: 9090 transport: http description: MCP adapter for Sentry Teams API — Teams. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: sentry-list-organization-s-teams description: Sentry List an organization's teams hints: readOnly: true destructive: false idempotent: true call: sentry-teams-teams.listorganizationteams with: cursor: tools.cursor outputParameters: - type: object mapping: $. - name: sentry-create-new-team description: Sentry Create a new team hints: readOnly: false destructive: false idempotent: false call: sentry-teams-teams.createteam with: body: tools.body outputParameters: - type: object mapping: $. - name: sentry-list-project-s-teams description: Sentry List a project's teams hints: readOnly: true destructive: false idempotent: true call: sentry-teams-teams.listprojectteams with: organization_id_or_slug: tools.organization_id_or_slug project_id_or_slug: tools.project_id_or_slug outputParameters: - type: object mapping: $. - name: sentry-retrieve-team description: Sentry Retrieve a team hints: readOnly: true destructive: false idempotent: true call: sentry-teams-teams.retrieveteam outputParameters: - type: object mapping: $. - name: sentry-update-team description: Sentry Update a team hints: readOnly: false destructive: false idempotent: true call: sentry-teams-teams.updateteam with: body: tools.body outputParameters: - type: object mapping: $. - name: sentry-delete-team description: Sentry Delete a team hints: readOnly: false destructive: true idempotent: true call: sentry-teams-teams.deleteteam outputParameters: - type: object mapping: $. - name: sentry-list-team-s-projects description: Sentry List a team's projects hints: readOnly: true destructive: false idempotent: true call: sentry-teams-teams.listteamprojects with: cursor: tools.cursor outputParameters: - type: object mapping: $.