naftiko: 1.0.0-alpha2 info: label: GitHub Org API — Teams description: 'GitHub Org API — Teams. 30 operations. Lead operation: GitHub List Security Manager Teams. Self-contained Naftiko capability covering one Github business surface.' tags: - Github - Teams created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITHUB_API_KEY: GITHUB_API_KEY capability: consumes: - type: http namespace: organizations-teams baseUri: '' description: GitHub Org API — Teams business capability. Self-contained, no shared references. resources: - name: orgs-org-security-managers path: /orgs/{org}/security-managers operations: - name: listsecuritymanagerteams method: GET description: GitHub List Security Manager Teams outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-security-managers-teams-team_slug path: /orgs/{org}/security-managers/teams/{team_slug} operations: - name: addsecuritymanagerteam method: PUT description: GitHub Add Security Manager Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: removesecuritymanagerteam method: DELETE description: GitHub Remove Security Manager Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams path: /orgs/{org}/teams operations: - name: listteams method: GET description: GitHub List Teams outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createteam method: POST description: GitHub Create Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams-team_slug path: /orgs/{org}/teams/{team_slug} operations: - name: getteambyname method: GET description: GitHub Get Team by Name outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateteam method: PATCH description: GitHub Update Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deleteteam method: DELETE description: GitHub Delete Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions operations: - name: listreactionsforteamdiscussioncomment method: GET description: GitHub List Reactions for Team Discussion Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: content in: query type: string description: Returns a single [reaction type](https://docs.github.com/enterprise-server@3.9/rest/reactions/reactions#about-reactions). Omit this parameter to list all reacti - name: createreactionforteamdiscussioncomment method: POST description: GitHub Create Reaction for Team Discussion Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id} operations: - name: deleteteamdiscussioncommentreaction method: DELETE description: GitHub Delete Team Discussion Comment Reaction outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-discussions-discussion_number-reactions path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions operations: - name: listreactionsforteamdiscussion method: GET description: GitHub List Reactions for Team Discussion outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: content in: query type: string description: Returns a single [reaction type](https://docs.github.com/enterprise-server@3.9/rest/reactions/reactions#about-reactions). Omit this parameter to list all reacti - name: createreactionforteamdiscussion method: POST description: GitHub Create Reaction for Team Discussion outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams-team_slug-discussions-discussion_number-reactions-reaction_id path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id} operations: - name: deleteteamdiscussionreaction method: DELETE description: GitHub Delete Team Discussion Reaction outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-external-groups path: /orgs/{org}/teams/{team_slug}/external-groups operations: - name: listconnectionbetweenanexternalgroupandteam method: GET description: GitHub List Connection Between an External Group and Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatetheconnectionbetweenanexternalgroupandteam method: PATCH description: GitHub Update the Connection Between an External Group and Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: removetheconnectionbetweenanexternalgroupandteam method: DELETE description: GitHub Remove the Connection Between an External Group and Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-members path: /orgs/{org}/teams/{team_slug}/members operations: - name: listteammembers method: GET description: GitHub List Team Members outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: role in: query type: string description: Filters members returned by their role in the team. - name: orgs-org-teams-team_slug-memberships-username path: /orgs/{org}/teams/{team_slug}/memberships/{username} operations: - name: getteammembershipforuser method: GET description: GitHub Get Team Membership for User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addorupdateteammembershipforuser method: PUT description: GitHub Add or Update Team Membership for User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: removeteammembershipforuser method: DELETE description: GitHub Remove Team Membership for User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-projects path: /orgs/{org}/teams/{team_slug}/projects operations: - name: listteamprojects method: GET description: GitHub List Team Projects outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-projects-project_id path: /orgs/{org}/teams/{team_slug}/projects/{project_id} operations: - name: checkteampermissionsforproject method: GET description: GitHub Check Team Permissions for Project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addorupdateteamprojectpermissions method: PUT description: GitHub Add or Update Team Project Permissions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: removeprojectfromteam method: DELETE description: GitHub Remove Project from Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-repos path: /orgs/{org}/teams/{team_slug}/repos operations: - name: listteamrepositories method: GET description: GitHub List Team Repositories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-repos-owner-repo path: /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo} operations: - name: checkteampermissionsforrepository method: GET description: GitHub Check Team Permissions for Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addorupdateteamrepositorypermissions method: PUT description: GitHub Add or Update Team Repository Permissions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: removerepositoryfromteam method: DELETE description: GitHub Remove Repository from Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-teams-team_slug-teams path: /orgs/{org}/teams/{team_slug}/teams operations: - name: listchildteams method: GET description: GitHub List Child Teams outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.GITHUB_API_KEY}}' exposes: - type: rest namespace: organizations-teams-rest port: 8080 description: REST adapter for GitHub Org API — Teams. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/orgs/{org}/security-managers name: orgs-org-security-managers description: REST surface for orgs-org-security-managers. operations: - method: GET name: listsecuritymanagerteams description: GitHub List Security Manager Teams call: organizations-teams.listsecuritymanagerteams outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/security-managers/teams/{team-slug} name: orgs-org-security-managers-teams-team-slug description: REST surface for orgs-org-security-managers-teams-team_slug. operations: - method: PUT name: addsecuritymanagerteam description: GitHub Add Security Manager Team call: organizations-teams.addsecuritymanagerteam outputParameters: - type: object mapping: $. - method: DELETE name: removesecuritymanagerteam description: GitHub Remove Security Manager Team call: organizations-teams.removesecuritymanagerteam outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams name: orgs-org-teams description: REST surface for orgs-org-teams. operations: - method: GET name: listteams description: GitHub List Teams call: organizations-teams.listteams outputParameters: - type: object mapping: $. - method: POST name: createteam description: GitHub Create Team call: organizations-teams.createteam with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug} name: orgs-org-teams-team-slug description: REST surface for orgs-org-teams-team_slug. operations: - method: GET name: getteambyname description: GitHub Get Team by Name call: organizations-teams.getteambyname outputParameters: - type: object mapping: $. - method: PATCH name: updateteam description: GitHub Update Team call: organizations-teams.updateteam with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteteam description: GitHub Delete Team call: organizations-teams.deleteteam outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions name: orgs-org-teams-team-slug-discussions-discussion-number-comments-comment-number-r description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r. operations: - method: GET name: listreactionsforteamdiscussioncomment description: GitHub List Reactions for Team Discussion Comment call: organizations-teams.listreactionsforteamdiscussioncomment with: content: rest.content outputParameters: - type: object mapping: $. - method: POST name: createreactionforteamdiscussioncomment description: GitHub Create Reaction for Team Discussion Comment call: organizations-teams.createreactionforteamdiscussioncomment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions/{reaction-id} name: orgs-org-teams-team-slug-discussions-discussion-number-comments-comment-number-r description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r. operations: - method: DELETE name: deleteteamdiscussioncommentreaction description: GitHub Delete Team Discussion Comment Reaction call: organizations-teams.deleteteamdiscussioncommentreaction outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions name: orgs-org-teams-team-slug-discussions-discussion-number-reactions description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-reactions. operations: - method: GET name: listreactionsforteamdiscussion description: GitHub List Reactions for Team Discussion call: organizations-teams.listreactionsforteamdiscussion with: content: rest.content outputParameters: - type: object mapping: $. - method: POST name: createreactionforteamdiscussion description: GitHub Create Reaction for Team Discussion call: organizations-teams.createreactionforteamdiscussion with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions/{reaction-id} name: orgs-org-teams-team-slug-discussions-discussion-number-reactions-reaction-id description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-reactions-reaction_id. operations: - method: DELETE name: deleteteamdiscussionreaction description: GitHub Delete Team Discussion Reaction call: organizations-teams.deleteteamdiscussionreaction outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/external-groups name: orgs-org-teams-team-slug-external-groups description: REST surface for orgs-org-teams-team_slug-external-groups. operations: - method: GET name: listconnectionbetweenanexternalgroupandteam description: GitHub List Connection Between an External Group and Team call: organizations-teams.listconnectionbetweenanexternalgroupandteam outputParameters: - type: object mapping: $. - method: PATCH name: updatetheconnectionbetweenanexternalgroupandteam description: GitHub Update the Connection Between an External Group and Team call: organizations-teams.updatetheconnectionbetweenanexternalgroupandteam with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removetheconnectionbetweenanexternalgroupandteam description: GitHub Remove the Connection Between an External Group and Team call: organizations-teams.removetheconnectionbetweenanexternalgroupandteam outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/members name: orgs-org-teams-team-slug-members description: REST surface for orgs-org-teams-team_slug-members. operations: - method: GET name: listteammembers description: GitHub List Team Members call: organizations-teams.listteammembers with: role: rest.role outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/memberships/{username} name: orgs-org-teams-team-slug-memberships-username description: REST surface for orgs-org-teams-team_slug-memberships-username. operations: - method: GET name: getteammembershipforuser description: GitHub Get Team Membership for User call: organizations-teams.getteammembershipforuser outputParameters: - type: object mapping: $. - method: PUT name: addorupdateteammembershipforuser description: GitHub Add or Update Team Membership for User call: organizations-teams.addorupdateteammembershipforuser with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removeteammembershipforuser description: GitHub Remove Team Membership for User call: organizations-teams.removeteammembershipforuser outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/projects name: orgs-org-teams-team-slug-projects description: REST surface for orgs-org-teams-team_slug-projects. operations: - method: GET name: listteamprojects description: GitHub List Team Projects call: organizations-teams.listteamprojects outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/projects/{project-id} name: orgs-org-teams-team-slug-projects-project-id description: REST surface for orgs-org-teams-team_slug-projects-project_id. operations: - method: GET name: checkteampermissionsforproject description: GitHub Check Team Permissions for Project call: organizations-teams.checkteampermissionsforproject outputParameters: - type: object mapping: $. - method: PUT name: addorupdateteamprojectpermissions description: GitHub Add or Update Team Project Permissions call: organizations-teams.addorupdateteamprojectpermissions with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removeprojectfromteam description: GitHub Remove Project from Team call: organizations-teams.removeprojectfromteam outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/repos name: orgs-org-teams-team-slug-repos description: REST surface for orgs-org-teams-team_slug-repos. operations: - method: GET name: listteamrepositories description: GitHub List Team Repositories call: organizations-teams.listteamrepositories outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/repos/{owner}/{repo} name: orgs-org-teams-team-slug-repos-owner-repo description: REST surface for orgs-org-teams-team_slug-repos-owner-repo. operations: - method: GET name: checkteampermissionsforrepository description: GitHub Check Team Permissions for Repository call: organizations-teams.checkteampermissionsforrepository outputParameters: - type: object mapping: $. - method: PUT name: addorupdateteamrepositorypermissions description: GitHub Add or Update Team Repository Permissions call: organizations-teams.addorupdateteamrepositorypermissions with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removerepositoryfromteam description: GitHub Remove Repository from Team call: organizations-teams.removerepositoryfromteam outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/teams name: orgs-org-teams-team-slug-teams description: REST surface for orgs-org-teams-team_slug-teams. operations: - method: GET name: listchildteams description: GitHub List Child Teams call: organizations-teams.listchildteams outputParameters: - type: object mapping: $. - type: mcp namespace: organizations-teams-mcp port: 9090 transport: http description: MCP adapter for GitHub Org API — Teams. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: github-list-security-manager-teams description: GitHub List Security Manager Teams hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listsecuritymanagerteams outputParameters: - type: object mapping: $. - name: github-add-security-manager-team description: GitHub Add Security Manager Team hints: readOnly: false destructive: false idempotent: true call: organizations-teams.addsecuritymanagerteam outputParameters: - type: object mapping: $. - name: github-remove-security-manager-team description: GitHub Remove Security Manager Team hints: readOnly: false destructive: true idempotent: true call: organizations-teams.removesecuritymanagerteam outputParameters: - type: object mapping: $. - name: github-list-teams description: GitHub List Teams hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listteams outputParameters: - type: object mapping: $. - name: github-create-team description: GitHub Create Team hints: readOnly: false destructive: false idempotent: false call: organizations-teams.createteam with: body: tools.body outputParameters: - type: object mapping: $. - name: github-get-team-name description: GitHub Get Team by Name hints: readOnly: true destructive: false idempotent: true call: organizations-teams.getteambyname outputParameters: - type: object mapping: $. - name: github-update-team description: GitHub Update Team hints: readOnly: false destructive: false idempotent: true call: organizations-teams.updateteam with: body: tools.body outputParameters: - type: object mapping: $. - name: github-delete-team description: GitHub Delete Team hints: readOnly: false destructive: true idempotent: true call: organizations-teams.deleteteam outputParameters: - type: object mapping: $. - name: github-list-reactions-team-discussion description: GitHub List Reactions for Team Discussion Comment hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listreactionsforteamdiscussioncomment with: content: tools.content outputParameters: - type: object mapping: $. - name: github-create-reaction-team-discussion description: GitHub Create Reaction for Team Discussion Comment hints: readOnly: false destructive: false idempotent: false call: organizations-teams.createreactionforteamdiscussioncomment with: body: tools.body outputParameters: - type: object mapping: $. - name: github-delete-team-discussion-comment description: GitHub Delete Team Discussion Comment Reaction hints: readOnly: false destructive: true idempotent: true call: organizations-teams.deleteteamdiscussioncommentreaction outputParameters: - type: object mapping: $. - name: github-list-reactions-team-discussion-2 description: GitHub List Reactions for Team Discussion hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listreactionsforteamdiscussion with: content: tools.content outputParameters: - type: object mapping: $. - name: github-create-reaction-team-discussion-2 description: GitHub Create Reaction for Team Discussion hints: readOnly: false destructive: false idempotent: false call: organizations-teams.createreactionforteamdiscussion with: body: tools.body outputParameters: - type: object mapping: $. - name: github-delete-team-discussion-reaction description: GitHub Delete Team Discussion Reaction hints: readOnly: false destructive: true idempotent: true call: organizations-teams.deleteteamdiscussionreaction outputParameters: - type: object mapping: $. - name: github-list-connection-between-external description: GitHub List Connection Between an External Group and Team hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listconnectionbetweenanexternalgroupandteam outputParameters: - type: object mapping: $. - name: github-update-connection-between-external description: GitHub Update the Connection Between an External Group and Team hints: readOnly: false destructive: false idempotent: true call: organizations-teams.updatetheconnectionbetweenanexternalgroupandteam with: body: tools.body outputParameters: - type: object mapping: $. - name: github-remove-connection-between-external description: GitHub Remove the Connection Between an External Group and Team hints: readOnly: false destructive: true idempotent: true call: organizations-teams.removetheconnectionbetweenanexternalgroupandteam outputParameters: - type: object mapping: $. - name: github-list-team-members description: GitHub List Team Members hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listteammembers with: role: tools.role outputParameters: - type: object mapping: $. - name: github-get-team-membership-user description: GitHub Get Team Membership for User hints: readOnly: true destructive: false idempotent: true call: organizations-teams.getteammembershipforuser outputParameters: - type: object mapping: $. - name: github-add-update-team-membership description: GitHub Add or Update Team Membership for User hints: readOnly: false destructive: false idempotent: true call: organizations-teams.addorupdateteammembershipforuser with: body: tools.body outputParameters: - type: object mapping: $. - name: github-remove-team-membership-user description: GitHub Remove Team Membership for User hints: readOnly: false destructive: true idempotent: true call: organizations-teams.removeteammembershipforuser outputParameters: - type: object mapping: $. - name: github-list-team-projects description: GitHub List Team Projects hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listteamprojects outputParameters: - type: object mapping: $. - name: github-check-team-permissions-project description: GitHub Check Team Permissions for Project hints: readOnly: true destructive: false idempotent: true call: organizations-teams.checkteampermissionsforproject outputParameters: - type: object mapping: $. - name: github-add-update-team-project description: GitHub Add or Update Team Project Permissions hints: readOnly: false destructive: false idempotent: true call: organizations-teams.addorupdateteamprojectpermissions with: body: tools.body outputParameters: - type: object mapping: $. - name: github-remove-project-team description: GitHub Remove Project from Team hints: readOnly: false destructive: true idempotent: true call: organizations-teams.removeprojectfromteam outputParameters: - type: object mapping: $. - name: github-list-team-repositories description: GitHub List Team Repositories hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listteamrepositories outputParameters: - type: object mapping: $. - name: github-check-team-permissions-repository description: GitHub Check Team Permissions for Repository hints: readOnly: true destructive: false idempotent: true call: organizations-teams.checkteampermissionsforrepository outputParameters: - type: object mapping: $. - name: github-add-update-team-repository description: GitHub Add or Update Team Repository Permissions hints: readOnly: false destructive: false idempotent: true call: organizations-teams.addorupdateteamrepositorypermissions with: body: tools.body outputParameters: - type: object mapping: $. - name: github-remove-repository-team description: GitHub Remove Repository from Team hints: readOnly: false destructive: true idempotent: true call: organizations-teams.removerepositoryfromteam outputParameters: - type: object mapping: $. - name: github-list-child-teams description: GitHub List Child Teams hints: readOnly: true destructive: false idempotent: true call: organizations-teams.listchildteams outputParameters: - type: object mapping: $.