naftiko: 1.0.0-alpha2 info: label: GitHub Org API — Runners description: 'GitHub Org API — Runners. 22 operations. Lead operation: GitHub List Self-hosted Runner Groups for an Organization. Self-contained Naftiko capability covering one Github business surface.' tags: - Github - Runners created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITHUB_API_KEY: GITHUB_API_KEY capability: consumes: - type: http namespace: organizations-runners baseUri: '' description: GitHub Org API — Runners business capability. Self-contained, no shared references. resources: - name: orgs-org-actions-runner-groups path: /orgs/{org}/actions/runner-groups operations: - name: listselfhostedrunnergroupsforanorganization method: GET description: GitHub List Self-hosted Runner Groups for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createselfhostedrunnergroupforanorganization method: POST description: GitHub Create Self-hosted Runner Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-actions-runner-groups-runner_group_id path: /orgs/{org}/actions/runner-groups/{runner_group_id} operations: - name: getselfhostedrunnergroupforanorganization method: GET description: GitHub Get Self-hosted Runner Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateselfhostedrunnergroupforanorganization method: PATCH description: GitHub Update Self-hosted Runner Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteselfhostedrunnergroupfromanorganization method: DELETE description: GitHub Delete Self-hosted Runner Group from an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runner-groups-runner_group_id-repositories path: /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories operations: - name: listrepositoryaccesstoselfhostedrunnergroupinanorganization method: GET description: GitHub List Repository Access to Self-hosted Runner Group in an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setrepositoryaccessforselfhostedrunnergroupinanorganization method: PUT description: GitHub Set Repository Access for Self-hosted Runner Group in an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-actions-runner-groups-runner_group_id-repositories-repository_id path: /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id} operations: - name: addrepositoryaccesstoselfhostedrunnergroupinanorganization method: PUT description: GitHub Add Repository Access to Self-hosted Runner Group in an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: removerepositoryaccesstoselfhostedrunnergroupinanorganization method: DELETE description: GitHub Remove Repository Access to Self-hosted Runner Group in an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runner-groups-runner_group_id-runners path: /orgs/{org}/actions/runner-groups/{runner_group_id}/runners operations: - name: listselfhostedrunnersingroupforanorganization method: GET description: GitHub List Self-hosted Runners in Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setselfhostedrunnersingroupforanorganization method: PUT description: GitHub Set Self-hosted Runners in Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-actions-runner-groups-runner_group_id-runners-runner_id path: /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id} operations: - name: addselfhostedrunnertogroupforanorganization method: PUT description: GitHub Add Self-hosted Runner to Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: removeselfhostedrunnerfromgroupforanorganization method: DELETE description: GitHub Remove Self-hosted Runner from Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runners path: /orgs/{org}/actions/runners operations: - name: listselfhostedrunnersforanorganization method: GET description: GitHub List Self-hosted Runners for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runners-downloads path: /orgs/{org}/actions/runners/downloads operations: - name: listrunnerapplicationsforanorganization method: GET description: GitHub List Runner Applications for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runners-runner_id path: /orgs/{org}/actions/runners/{runner_id} operations: - name: getselfhostedrunnerforanorganization method: GET description: GitHub Get Self-hosted Runner for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteselfhostedrunnerfromanorganization method: DELETE description: GitHub Delete Self-hosted Runner from an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runners-runner_id-labels path: /orgs/{org}/actions/runners/{runner_id}/labels operations: - name: listlabelsforselfhostedrunnerforanorganization method: GET description: GitHub List Labels for Self-hosted Runner for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addcustomlabelstoselfhostedrunnerforanorganization method: POST description: GitHub Add Custom Labels to Self-hosted Runner for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: setcustomlabelsforselfhostedrunnerforanorganization method: PUT description: GitHub Set Custom Labels for Self-hosted Runner for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: removeallcustomlabelsfromselfhostedrunnerforanorganization method: DELETE description: GitHub Remove All Custom Labels from Self-hosted Runner for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runners-runner_id-labels-name path: /orgs/{org}/actions/runners/{runner_id}/labels/{name} operations: - name: removecustomlabelfromselfhostedrunnerforanorganization method: DELETE description: GitHub Remove Custom Label from Self-hosted Runner for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.GITHUB_API_KEY}}' exposes: - type: rest namespace: organizations-runners-rest port: 8080 description: REST adapter for GitHub Org API — Runners. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/orgs/{org}/actions/runner-groups name: orgs-org-actions-runner-groups description: REST surface for orgs-org-actions-runner-groups. operations: - method: GET name: listselfhostedrunnergroupsforanorganization description: GitHub List Self-hosted Runner Groups for an Organization call: organizations-runners.listselfhostedrunnergroupsforanorganization outputParameters: - type: object mapping: $. - method: POST name: createselfhostedrunnergroupforanorganization description: GitHub Create Self-hosted Runner Group for an Organization call: organizations-runners.createselfhostedrunnergroupforanorganization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runner-groups/{runner-group-id} name: orgs-org-actions-runner-groups-runner-group-id description: REST surface for orgs-org-actions-runner-groups-runner_group_id. operations: - method: GET name: getselfhostedrunnergroupforanorganization description: GitHub Get Self-hosted Runner Group for an Organization call: organizations-runners.getselfhostedrunnergroupforanorganization outputParameters: - type: object mapping: $. - method: PATCH name: updateselfhostedrunnergroupforanorganization description: GitHub Update Self-hosted Runner Group for an Organization call: organizations-runners.updateselfhostedrunnergroupforanorganization with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteselfhostedrunnergroupfromanorganization description: GitHub Delete Self-hosted Runner Group from an Organization call: organizations-runners.deleteselfhostedrunnergroupfromanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runner-groups/{runner-group-id}/repositories name: orgs-org-actions-runner-groups-runner-group-id-repositories description: REST surface for orgs-org-actions-runner-groups-runner_group_id-repositories. operations: - method: GET name: listrepositoryaccesstoselfhostedrunnergroupinanorganization description: GitHub List Repository Access to Self-hosted Runner Group in an Organization call: organizations-runners.listrepositoryaccesstoselfhostedrunnergroupinanorganization outputParameters: - type: object mapping: $. - method: PUT name: setrepositoryaccessforselfhostedrunnergroupinanorganization description: GitHub Set Repository Access for Self-hosted Runner Group in an Organization call: organizations-runners.setrepositoryaccessforselfhostedrunnergroupinanorganization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runner-groups/{runner-group-id}/repositories/{repository-id} name: orgs-org-actions-runner-groups-runner-group-id-repositories-repository-id description: REST surface for orgs-org-actions-runner-groups-runner_group_id-repositories-repository_id. operations: - method: PUT name: addrepositoryaccesstoselfhostedrunnergroupinanorganization description: GitHub Add Repository Access to Self-hosted Runner Group in an Organization call: organizations-runners.addrepositoryaccesstoselfhostedrunnergroupinanorganization outputParameters: - type: object mapping: $. - method: DELETE name: removerepositoryaccesstoselfhostedrunnergroupinanorganization description: GitHub Remove Repository Access to Self-hosted Runner Group in an Organization call: organizations-runners.removerepositoryaccesstoselfhostedrunnergroupinanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runner-groups/{runner-group-id}/runners name: orgs-org-actions-runner-groups-runner-group-id-runners description: REST surface for orgs-org-actions-runner-groups-runner_group_id-runners. operations: - method: GET name: listselfhostedrunnersingroupforanorganization description: GitHub List Self-hosted Runners in Group for an Organization call: organizations-runners.listselfhostedrunnersingroupforanorganization outputParameters: - type: object mapping: $. - method: PUT name: setselfhostedrunnersingroupforanorganization description: GitHub Set Self-hosted Runners in Group for an Organization call: organizations-runners.setselfhostedrunnersingroupforanorganization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runner-groups/{runner-group-id}/runners/{runner-id} name: orgs-org-actions-runner-groups-runner-group-id-runners-runner-id description: REST surface for orgs-org-actions-runner-groups-runner_group_id-runners-runner_id. operations: - method: PUT name: addselfhostedrunnertogroupforanorganization description: GitHub Add Self-hosted Runner to Group for an Organization call: organizations-runners.addselfhostedrunnertogroupforanorganization outputParameters: - type: object mapping: $. - method: DELETE name: removeselfhostedrunnerfromgroupforanorganization description: GitHub Remove Self-hosted Runner from Group for an Organization call: organizations-runners.removeselfhostedrunnerfromgroupforanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runners name: orgs-org-actions-runners description: REST surface for orgs-org-actions-runners. operations: - method: GET name: listselfhostedrunnersforanorganization description: GitHub List Self-hosted Runners for an Organization call: organizations-runners.listselfhostedrunnersforanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runners/downloads name: orgs-org-actions-runners-downloads description: REST surface for orgs-org-actions-runners-downloads. operations: - method: GET name: listrunnerapplicationsforanorganization description: GitHub List Runner Applications for an Organization call: organizations-runners.listrunnerapplicationsforanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runners/{runner-id} name: orgs-org-actions-runners-runner-id description: REST surface for orgs-org-actions-runners-runner_id. operations: - method: GET name: getselfhostedrunnerforanorganization description: GitHub Get Self-hosted Runner for an Organization call: organizations-runners.getselfhostedrunnerforanorganization outputParameters: - type: object mapping: $. - method: DELETE name: deleteselfhostedrunnerfromanorganization description: GitHub Delete Self-hosted Runner from an Organization call: organizations-runners.deleteselfhostedrunnerfromanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runners/{runner-id}/labels name: orgs-org-actions-runners-runner-id-labels description: REST surface for orgs-org-actions-runners-runner_id-labels. operations: - method: GET name: listlabelsforselfhostedrunnerforanorganization description: GitHub List Labels for Self-hosted Runner for an Organization call: organizations-runners.listlabelsforselfhostedrunnerforanorganization outputParameters: - type: object mapping: $. - method: POST name: addcustomlabelstoselfhostedrunnerforanorganization description: GitHub Add Custom Labels to Self-hosted Runner for an Organization call: organizations-runners.addcustomlabelstoselfhostedrunnerforanorganization with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: setcustomlabelsforselfhostedrunnerforanorganization description: GitHub Set Custom Labels for Self-hosted Runner for an Organization call: organizations-runners.setcustomlabelsforselfhostedrunnerforanorganization with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removeallcustomlabelsfromselfhostedrunnerforanorganization description: GitHub Remove All Custom Labels from Self-hosted Runner for an Organization call: organizations-runners.removeallcustomlabelsfromselfhostedrunnerforanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runners/{runner-id}/labels/{name} name: orgs-org-actions-runners-runner-id-labels-name description: REST surface for orgs-org-actions-runners-runner_id-labels-name. operations: - method: DELETE name: removecustomlabelfromselfhostedrunnerforanorganization description: GitHub Remove Custom Label from Self-hosted Runner for an Organization call: organizations-runners.removecustomlabelfromselfhostedrunnerforanorganization outputParameters: - type: object mapping: $. - type: mcp namespace: organizations-runners-mcp port: 9090 transport: http description: MCP adapter for GitHub Org API — Runners. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: github-list-self-hosted-runner description: GitHub List Self-hosted Runner Groups for an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.listselfhostedrunnergroupsforanorganization outputParameters: - type: object mapping: $. - name: github-create-self-hosted-runner description: GitHub Create Self-hosted Runner Group for an Organization hints: readOnly: false destructive: false idempotent: false call: organizations-runners.createselfhostedrunnergroupforanorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-get-self-hosted-runner description: GitHub Get Self-hosted Runner Group for an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.getselfhostedrunnergroupforanorganization outputParameters: - type: object mapping: $. - name: github-update-self-hosted-runner description: GitHub Update Self-hosted Runner Group for an Organization hints: readOnly: false destructive: false idempotent: true call: organizations-runners.updateselfhostedrunnergroupforanorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-delete-self-hosted-runner description: GitHub Delete Self-hosted Runner Group from an Organization hints: readOnly: false destructive: true idempotent: true call: organizations-runners.deleteselfhostedrunnergroupfromanorganization outputParameters: - type: object mapping: $. - name: github-list-repository-access-self description: GitHub List Repository Access to Self-hosted Runner Group in an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.listrepositoryaccesstoselfhostedrunnergroupinanorganization outputParameters: - type: object mapping: $. - name: github-set-repository-access-self description: GitHub Set Repository Access for Self-hosted Runner Group in an Organization hints: readOnly: false destructive: false idempotent: true call: organizations-runners.setrepositoryaccessforselfhostedrunnergroupinanorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-add-repository-access-self description: GitHub Add Repository Access to Self-hosted Runner Group in an Organization hints: readOnly: false destructive: false idempotent: true call: organizations-runners.addrepositoryaccesstoselfhostedrunnergroupinanorganization outputParameters: - type: object mapping: $. - name: github-remove-repository-access-self description: GitHub Remove Repository Access to Self-hosted Runner Group in an Organization hints: readOnly: false destructive: true idempotent: true call: organizations-runners.removerepositoryaccesstoselfhostedrunnergroupinanorganization outputParameters: - type: object mapping: $. - name: github-list-self-hosted-runners description: GitHub List Self-hosted Runners in Group for an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.listselfhostedrunnersingroupforanorganization outputParameters: - type: object mapping: $. - name: github-set-self-hosted-runners description: GitHub Set Self-hosted Runners in Group for an Organization hints: readOnly: false destructive: false idempotent: true call: organizations-runners.setselfhostedrunnersingroupforanorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-add-self-hosted-runner description: GitHub Add Self-hosted Runner to Group for an Organization hints: readOnly: false destructive: false idempotent: true call: organizations-runners.addselfhostedrunnertogroupforanorganization outputParameters: - type: object mapping: $. - name: github-remove-self-hosted-runner description: GitHub Remove Self-hosted Runner from Group for an Organization hints: readOnly: false destructive: true idempotent: true call: organizations-runners.removeselfhostedrunnerfromgroupforanorganization outputParameters: - type: object mapping: $. - name: github-list-self-hosted-runners-2 description: GitHub List Self-hosted Runners for an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.listselfhostedrunnersforanorganization outputParameters: - type: object mapping: $. - name: github-list-runner-applications-organization description: GitHub List Runner Applications for an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.listrunnerapplicationsforanorganization outputParameters: - type: object mapping: $. - name: github-get-self-hosted-runner-2 description: GitHub Get Self-hosted Runner for an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.getselfhostedrunnerforanorganization outputParameters: - type: object mapping: $. - name: github-delete-self-hosted-runner-2 description: GitHub Delete Self-hosted Runner from an Organization hints: readOnly: false destructive: true idempotent: true call: organizations-runners.deleteselfhostedrunnerfromanorganization outputParameters: - type: object mapping: $. - name: github-list-labels-self-hosted description: GitHub List Labels for Self-hosted Runner for an Organization hints: readOnly: true destructive: false idempotent: true call: organizations-runners.listlabelsforselfhostedrunnerforanorganization outputParameters: - type: object mapping: $. - name: github-add-custom-labels-self description: GitHub Add Custom Labels to Self-hosted Runner for an Organization hints: readOnly: false destructive: false idempotent: false call: organizations-runners.addcustomlabelstoselfhostedrunnerforanorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-set-custom-labels-self description: GitHub Set Custom Labels for Self-hosted Runner for an Organization hints: readOnly: false destructive: false idempotent: true call: organizations-runners.setcustomlabelsforselfhostedrunnerforanorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-remove-all-custom-labels description: GitHub Remove All Custom Labels from Self-hosted Runner for an Organization hints: readOnly: false destructive: true idempotent: true call: organizations-runners.removeallcustomlabelsfromselfhostedrunnerforanorganization outputParameters: - type: object mapping: $. - name: github-remove-custom-label-self description: GitHub Remove Custom Label from Self-hosted Runner for an Organization hints: readOnly: false destructive: true idempotent: true call: organizations-runners.removecustomlabelfromselfhostedrunnerforanorganization outputParameters: - type: object mapping: $.