naftiko: 1.0.0-alpha2 info: label: GitLab OAuth 2.0 API — Tokens description: 'GitLab OAuth 2.0 API — Tokens. 3 operations. Lead operation: GitLab Revoke an OAuth Token. Self-contained Naftiko capability covering one Gitlab business surface.' tags: - Gitlab - Tokens created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITLAB_API_KEY: GITLAB_API_KEY capability: consumes: - type: http namespace: oauth2-tokens baseUri: https://gitlab.com description: GitLab OAuth 2.0 API — Tokens business capability. Self-contained, no shared references. resources: - name: oauth-revoke path: /oauth/revoke operations: - name: revoketoken method: POST description: GitLab Revoke an OAuth Token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: oauth-token path: /oauth/token operations: - name: exchangetoken method: POST description: GitLab Exchange Code for Access Token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: oauth-token-info path: /oauth/token/info operations: - name: gettokeninfo method: GET description: GitLab Get Token Information outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.GITLAB_API_KEY}}' exposes: - type: rest namespace: oauth2-tokens-rest port: 8080 description: REST adapter for GitLab OAuth 2.0 API — Tokens. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/oauth/revoke name: oauth-revoke description: REST surface for oauth-revoke. operations: - method: POST name: revoketoken description: GitLab Revoke an OAuth Token call: oauth2-tokens.revoketoken with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/oauth/token name: oauth-token description: REST surface for oauth-token. operations: - method: POST name: exchangetoken description: GitLab Exchange Code for Access Token call: oauth2-tokens.exchangetoken with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/oauth/token/info name: oauth-token-info description: REST surface for oauth-token-info. operations: - method: GET name: gettokeninfo description: GitLab Get Token Information call: oauth2-tokens.gettokeninfo outputParameters: - type: object mapping: $. - type: mcp namespace: oauth2-tokens-mcp port: 9090 transport: http description: MCP adapter for GitLab OAuth 2.0 API — Tokens. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: gitlab-revoke-oauth-token description: GitLab Revoke an OAuth Token hints: readOnly: false destructive: false idempotent: false call: oauth2-tokens.revoketoken with: body: tools.body outputParameters: - type: object mapping: $. - name: gitlab-exchange-code-access-token description: GitLab Exchange Code for Access Token hints: readOnly: false destructive: false idempotent: false call: oauth2-tokens.exchangetoken with: body: tools.body outputParameters: - type: object mapping: $. - name: gitlab-get-token-information description: GitLab Get Token Information hints: readOnly: true destructive: false idempotent: true call: oauth2-tokens.gettokeninfo outputParameters: - type: object mapping: $.