naftiko: 1.0.0-alpha2 info: label: GitHub Actions API — Self-Hosted Runners description: 'GitHub Actions API — Self-Hosted Runners. 11 operations. Lead operation: Github Actions List Self-hosted Runners for a Repository. Self-contained Naftiko capability covering one Github Actions business surface.' tags: - Github Actions - Self-Hosted Runners created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITHUB_ACTIONS_API_KEY: GITHUB_ACTIONS_API_KEY capability: consumes: - type: http namespace: github-actions-self-hosted-runners baseUri: https://api.github.com description: GitHub Actions API — Self-Hosted Runners business capability. Self-contained, no shared references. resources: - name: repos-owner-repo-actions-runners path: /repos/{owner}/{repo}/actions/runners operations: - name: listselfhostedrunnersforrepo method: GET description: Github Actions List Self-hosted Runners for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string - name: repos-owner-repo-actions-runners-downloads path: /repos/{owner}/{repo}/actions/runners/downloads operations: - name: listrunnerapplicationsforrepo method: GET description: Github Actions List Runner Applications for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repos-owner-repo-actions-runners-registration-token path: /repos/{owner}/{repo}/actions/runners/registration-token operations: - name: createregistrationtokenforrepo method: POST description: Github Actions Create a Registration Token for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repos-owner-repo-actions-runners-remove-token path: /repos/{owner}/{repo}/actions/runners/remove-token operations: - name: createremovetokenforrepo method: POST description: Github Actions Create a Remove Token for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repos-owner-repo-actions-runners-runner_id path: /repos/{owner}/{repo}/actions/runners/{runner_id} operations: - name: getselfhostedrunnerforrepo method: GET description: Github Actions Get a Self-hosted Runner for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteselfhostedrunnerfromrepo method: DELETE description: Github Actions Delete a Self-hosted Runner From a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repos-owner-repo-actions-runners-runner_id-labels path: /repos/{owner}/{repo}/actions/runners/{runner_id}/labels operations: - name: listlabelsforselfhostedrunnerforrepo method: GET description: Github Actions List Labels for a Self-hosted Runner for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addcustomlabelstoselfhostedrunnerforrepo method: POST description: Github Actions Add Custom Labels to a Self-hosted Runner for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: setcustomlabelsforselfhostedrunnerforrepo method: PUT description: Github Actions Set Custom Labels for a Self-hosted Runner for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: removeallcustomlabelsfromselfhostedrunnerforrepo method: DELETE description: Github Actions Remove All Custom Labels From a Self-hosted Runner for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repos-owner-repo-actions-runners-runner_id-labels-name path: /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name} operations: - name: removecustomlabelfromselfhostedrunnerforrepo method: DELETE description: Github Actions Remove a Custom Label From a Self-hosted Runner for a Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string required: true authentication: type: bearer token: '{{env.GITHUB_ACTIONS_API_KEY}}' exposes: - type: rest namespace: github-actions-self-hosted-runners-rest port: 8080 description: REST adapter for GitHub Actions API — Self-Hosted Runners. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/repos/{owner}/{repo}/actions/runners name: repos-owner-repo-actions-runners description: REST surface for repos-owner-repo-actions-runners. operations: - method: GET name: listselfhostedrunnersforrepo description: Github Actions List Self-hosted Runners for a Repository call: github-actions-self-hosted-runners.listselfhostedrunnersforrepo with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/downloads name: repos-owner-repo-actions-runners-downloads description: REST surface for repos-owner-repo-actions-runners-downloads. operations: - method: GET name: listrunnerapplicationsforrepo description: Github Actions List Runner Applications for a Repository call: github-actions-self-hosted-runners.listrunnerapplicationsforrepo outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/registration-token name: repos-owner-repo-actions-runners-registration-token description: REST surface for repos-owner-repo-actions-runners-registration-token. operations: - method: POST name: createregistrationtokenforrepo description: Github Actions Create a Registration Token for a Repository call: github-actions-self-hosted-runners.createregistrationtokenforrepo outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/remove-token name: repos-owner-repo-actions-runners-remove-token description: REST surface for repos-owner-repo-actions-runners-remove-token. operations: - method: POST name: createremovetokenforrepo description: Github Actions Create a Remove Token for a Repository call: github-actions-self-hosted-runners.createremovetokenforrepo outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/{runner-id} name: repos-owner-repo-actions-runners-runner-id description: REST surface for repos-owner-repo-actions-runners-runner_id. operations: - method: GET name: getselfhostedrunnerforrepo description: Github Actions Get a Self-hosted Runner for a Repository call: github-actions-self-hosted-runners.getselfhostedrunnerforrepo outputParameters: - type: object mapping: $. - method: DELETE name: deleteselfhostedrunnerfromrepo description: Github Actions Delete a Self-hosted Runner From a Repository call: github-actions-self-hosted-runners.deleteselfhostedrunnerfromrepo outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/{runner-id}/labels name: repos-owner-repo-actions-runners-runner-id-labels description: REST surface for repos-owner-repo-actions-runners-runner_id-labels. operations: - method: GET name: listlabelsforselfhostedrunnerforrepo description: Github Actions List Labels for a Self-hosted Runner for a Repository call: github-actions-self-hosted-runners.listlabelsforselfhostedrunnerforrepo outputParameters: - type: object mapping: $. - method: POST name: addcustomlabelstoselfhostedrunnerforrepo description: Github Actions Add Custom Labels to a Self-hosted Runner for a Repository call: github-actions-self-hosted-runners.addcustomlabelstoselfhostedrunnerforrepo with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: setcustomlabelsforselfhostedrunnerforrepo description: Github Actions Set Custom Labels for a Self-hosted Runner for a Repository call: github-actions-self-hosted-runners.setcustomlabelsforselfhostedrunnerforrepo with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removeallcustomlabelsfromselfhostedrunnerforrepo description: Github Actions Remove All Custom Labels From a Self-hosted Runner for a Repository call: github-actions-self-hosted-runners.removeallcustomlabelsfromselfhostedrunnerforrepo outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/{runner-id}/labels/{name} name: repos-owner-repo-actions-runners-runner-id-labels-name description: REST surface for repos-owner-repo-actions-runners-runner_id-labels-name. operations: - method: DELETE name: removecustomlabelfromselfhostedrunnerforrepo description: Github Actions Remove a Custom Label From a Self-hosted Runner for a Repository call: github-actions-self-hosted-runners.removecustomlabelfromselfhostedrunnerforrepo with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: github-actions-self-hosted-runners-mcp port: 9090 transport: http description: MCP adapter for GitHub Actions API — Self-Hosted Runners. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: github-actions-list-self-hosted description: Github Actions List Self-hosted Runners for a Repository hints: readOnly: true destructive: false idempotent: true call: github-actions-self-hosted-runners.listselfhostedrunnersforrepo with: name: tools.name outputParameters: - type: object mapping: $. - name: github-actions-list-runner-applications description: Github Actions List Runner Applications for a Repository hints: readOnly: true destructive: false idempotent: true call: github-actions-self-hosted-runners.listrunnerapplicationsforrepo outputParameters: - type: object mapping: $. - name: github-actions-create-registration-token description: Github Actions Create a Registration Token for a Repository hints: readOnly: false destructive: false idempotent: false call: github-actions-self-hosted-runners.createregistrationtokenforrepo outputParameters: - type: object mapping: $. - name: github-actions-create-remove-token description: Github Actions Create a Remove Token for a Repository hints: readOnly: false destructive: false idempotent: false call: github-actions-self-hosted-runners.createremovetokenforrepo outputParameters: - type: object mapping: $. - name: github-actions-get-self-hosted description: Github Actions Get a Self-hosted Runner for a Repository hints: readOnly: true destructive: false idempotent: true call: github-actions-self-hosted-runners.getselfhostedrunnerforrepo outputParameters: - type: object mapping: $. - name: github-actions-delete-self-hosted description: Github Actions Delete a Self-hosted Runner From a Repository hints: readOnly: false destructive: true idempotent: true call: github-actions-self-hosted-runners.deleteselfhostedrunnerfromrepo outputParameters: - type: object mapping: $. - name: github-actions-list-labels-self description: Github Actions List Labels for a Self-hosted Runner for a Repository hints: readOnly: true destructive: false idempotent: true call: github-actions-self-hosted-runners.listlabelsforselfhostedrunnerforrepo outputParameters: - type: object mapping: $. - name: github-actions-add-custom-labels description: Github Actions Add Custom Labels to a Self-hosted Runner for a Repository hints: readOnly: false destructive: false idempotent: false call: github-actions-self-hosted-runners.addcustomlabelstoselfhostedrunnerforrepo with: body: tools.body outputParameters: - type: object mapping: $. - name: github-actions-set-custom-labels description: Github Actions Set Custom Labels for a Self-hosted Runner for a Repository hints: readOnly: false destructive: false idempotent: true call: github-actions-self-hosted-runners.setcustomlabelsforselfhostedrunnerforrepo with: body: tools.body outputParameters: - type: object mapping: $. - name: github-actions-remove-all-custom description: Github Actions Remove All Custom Labels From a Self-hosted Runner for a Repository hints: readOnly: false destructive: true idempotent: true call: github-actions-self-hosted-runners.removeallcustomlabelsfromselfhostedrunnerforrepo outputParameters: - type: object mapping: $. - name: github-actions-remove-custom-label description: Github Actions Remove a Custom Label From a Self-hosted Runner for a Repository hints: readOnly: false destructive: true idempotent: true call: github-actions-self-hosted-runners.removecustomlabelfromselfhostedrunnerforrepo with: name: tools.name outputParameters: - type: object mapping: $.