naftiko: 1.0.0-alpha2 info: label: GitLab API — ci_runners description: 'GitLab API — ci_runners. 6 operations. Lead operation: Register a new runner. Self-contained Naftiko capability covering one Gitlab Ci business surface.' tags: - Gitlab Ci - ci_runners created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITLAB_CI_API_KEY: GITLAB_CI_API_KEY capability: consumes: - type: http namespace: gitlab-ci-ci-runners baseUri: https://gitlab.com description: GitLab API — ci_runners business capability. Self-contained, no shared references. resources: - name: api-v4-runners path: /api/v4/runners operations: - name: postapiv4runners method: POST description: Register a new runner outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postApiV4Runners in: body type: string required: true - name: deleteapiv4runners method: DELETE description: Delete a runner by authentication token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: The runner's authentication token required: true - name: api-v4-runners-managers path: /api/v4/runners/managers operations: - name: deleteapiv4runnersmanagers method: DELETE description: Internal endpoint that deletes a runner manager by authentication token and system ID. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: The runner's authentication token required: true - name: system_id in: query type: string description: The runner's system identifier. required: true - name: api-v4-runners-reset_authentication_token path: /api/v4/runners/reset_authentication_token operations: - name: postapiv4runnersresetauthenticationtoken method: POST description: Reset runner authentication token with current token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postApiV4RunnersResetAuthenticationToken in: body type: string required: true - name: api-v4-runners-router-discovery path: /api/v4/runners/router/discovery operations: - name: getapiv4runnersrouterdiscovery method: GET description: Discover Job Router information outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v4-runners-verify path: /api/v4/runners/verify operations: - name: postapiv4runnersverify method: POST description: Verify authentication for a registered runner outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postApiV4RunnersVerify in: body type: string required: true exposes: - type: rest namespace: gitlab-ci-ci-runners-rest port: 8080 description: REST adapter for GitLab API — ci_runners. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v4/runners name: api-v4-runners description: REST surface for api-v4-runners. operations: - method: POST name: postapiv4runners description: Register a new runner call: gitlab-ci-ci-runners.postapiv4runners with: postApiV4Runners: rest.postApiV4Runners outputParameters: - type: object mapping: $. - method: DELETE name: deleteapiv4runners description: Delete a runner by authentication token call: gitlab-ci-ci-runners.deleteapiv4runners with: token: rest.token outputParameters: - type: object mapping: $. - path: /v1/api/v4/runners/managers name: api-v4-runners-managers description: REST surface for api-v4-runners-managers. operations: - method: DELETE name: deleteapiv4runnersmanagers description: Internal endpoint that deletes a runner manager by authentication token and system ID. call: gitlab-ci-ci-runners.deleteapiv4runnersmanagers with: token: rest.token system_id: rest.system_id outputParameters: - type: object mapping: $. - path: /v1/api/v4/runners/reset-authentication-token name: api-v4-runners-reset-authentication-token description: REST surface for api-v4-runners-reset_authentication_token. operations: - method: POST name: postapiv4runnersresetauthenticationtoken description: Reset runner authentication token with current token call: gitlab-ci-ci-runners.postapiv4runnersresetauthenticationtoken with: postApiV4RunnersResetAuthenticationToken: rest.postApiV4RunnersResetAuthenticationToken outputParameters: - type: object mapping: $. - path: /v1/api/v4/runners/router/discovery name: api-v4-runners-router-discovery description: REST surface for api-v4-runners-router-discovery. operations: - method: GET name: getapiv4runnersrouterdiscovery description: Discover Job Router information call: gitlab-ci-ci-runners.getapiv4runnersrouterdiscovery outputParameters: - type: object mapping: $. - path: /v1/api/v4/runners/verify name: api-v4-runners-verify description: REST surface for api-v4-runners-verify. operations: - method: POST name: postapiv4runnersverify description: Verify authentication for a registered runner call: gitlab-ci-ci-runners.postapiv4runnersverify with: postApiV4RunnersVerify: rest.postApiV4RunnersVerify outputParameters: - type: object mapping: $. - type: mcp namespace: gitlab-ci-ci-runners-mcp port: 9090 transport: http description: MCP adapter for GitLab API — ci_runners. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: register-new-runner description: Register a new runner hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-ci-runners.postapiv4runners with: postApiV4Runners: tools.postApiV4Runners outputParameters: - type: object mapping: $. - name: delete-runner-authentication-token description: Delete a runner by authentication token hints: readOnly: false destructive: true idempotent: true call: gitlab-ci-ci-runners.deleteapiv4runners with: token: tools.token outputParameters: - type: object mapping: $. - name: internal-endpoint-that-deletes-runner description: Internal endpoint that deletes a runner manager by authentication token and system ID. hints: readOnly: false destructive: true idempotent: true call: gitlab-ci-ci-runners.deleteapiv4runnersmanagers with: token: tools.token system_id: tools.system_id outputParameters: - type: object mapping: $. - name: reset-runner-authentication-token-current description: Reset runner authentication token with current token hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-ci-runners.postapiv4runnersresetauthenticationtoken with: postApiV4RunnersResetAuthenticationToken: tools.postApiV4RunnersResetAuthenticationToken outputParameters: - type: object mapping: $. - name: discover-job-router-information description: Discover Job Router information hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-ci-runners.getapiv4runnersrouterdiscovery outputParameters: - type: object mapping: $. - name: verify-authentication-registered-runner description: Verify authentication for a registered runner hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-ci-runners.postapiv4runnersverify with: postApiV4RunnersVerify: tools.postApiV4RunnersVerify outputParameters: - type: object mapping: $.