naftiko: 1.0.0-alpha2 info: label: GitHub Auth API — Authorization description: 'GitHub Auth API — Authorization. 7 operations. Lead operation: GitHub List Your Authorizations. Self-contained Naftiko capability covering one Github business surface.' tags: - Github - Authorization created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITHUB_API_KEY: GITHUB_API_KEY capability: consumes: - type: http namespace: auth-authorization baseUri: '' description: GitHub Auth API — Authorization business capability. Self-contained, no shared references. resources: - name: authorizations path: /authorizations operations: - name: listyourauthorizations method: GET description: GitHub List Your Authorizations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: client_id in: query type: string description: The client ID of your GitHub app. - name: createnewauthorization method: POST description: GitHub Createnew Authorization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: authorizations-clients-client_id path: /authorizations/clients/{client_id} operations: - name: getorcreateanauthorizationforspecificapp method: PUT description: GitHub Get or Create an Authorization Forspecific App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: authorizations-clients-client_id-fingerprint path: /authorizations/clients/{client_id}/{fingerprint} operations: - name: getorcreateanauthorizationforspecificappandfingerprint method: PUT description: GitHub Get or Create an Authorization Forspecific App and Fingerprint outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fingerprint in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: authorizations-authorization_id path: /authorizations/{authorization_id} operations: - name: getsingleauthorization method: GET description: GitHub Getsingle Authorization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateanexistingauthorization method: PATCH description: GitHub Update an Existing Authorization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deleteanauthorization method: DELETE description: GitHub Delete an Authorization outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.GITHUB_API_KEY}}' exposes: - type: rest namespace: auth-authorization-rest port: 8080 description: REST adapter for GitHub Auth API — Authorization. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/authorizations name: authorizations description: REST surface for authorizations. operations: - method: GET name: listyourauthorizations description: GitHub List Your Authorizations call: auth-authorization.listyourauthorizations with: client_id: rest.client_id outputParameters: - type: object mapping: $. - method: POST name: createnewauthorization description: GitHub Createnew Authorization call: auth-authorization.createnewauthorization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/authorizations/clients/{client-id} name: authorizations-clients-client-id description: REST surface for authorizations-clients-client_id. operations: - method: PUT name: getorcreateanauthorizationforspecificapp description: GitHub Get or Create an Authorization Forspecific App call: auth-authorization.getorcreateanauthorizationforspecificapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/authorizations/clients/{client-id}/{fingerprint} name: authorizations-clients-client-id-fingerprint description: REST surface for authorizations-clients-client_id-fingerprint. operations: - method: PUT name: getorcreateanauthorizationforspecificappandfingerprint description: GitHub Get or Create an Authorization Forspecific App and Fingerprint call: auth-authorization.getorcreateanauthorizationforspecificappandfingerprint with: fingerprint: rest.fingerprint body: rest.body outputParameters: - type: object mapping: $. - path: /v1/authorizations/{authorization-id} name: authorizations-authorization-id description: REST surface for authorizations-authorization_id. operations: - method: GET name: getsingleauthorization description: GitHub Getsingle Authorization call: auth-authorization.getsingleauthorization outputParameters: - type: object mapping: $. - method: PATCH name: updateanexistingauthorization description: GitHub Update an Existing Authorization call: auth-authorization.updateanexistingauthorization with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteanauthorization description: GitHub Delete an Authorization call: auth-authorization.deleteanauthorization outputParameters: - type: object mapping: $. - type: mcp namespace: auth-authorization-mcp port: 9090 transport: http description: MCP adapter for GitHub Auth API — Authorization. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: github-list-your-authorizations description: GitHub List Your Authorizations hints: readOnly: true destructive: false idempotent: true call: auth-authorization.listyourauthorizations with: client_id: tools.client_id outputParameters: - type: object mapping: $. - name: github-createnew-authorization description: GitHub Createnew Authorization hints: readOnly: false destructive: false idempotent: false call: auth-authorization.createnewauthorization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-get-create-authorization-forspecific description: GitHub Get or Create an Authorization Forspecific App hints: readOnly: false destructive: false idempotent: true call: auth-authorization.getorcreateanauthorizationforspecificapp with: body: tools.body outputParameters: - type: object mapping: $. - name: github-get-create-authorization-forspecific-2 description: GitHub Get or Create an Authorization Forspecific App and Fingerprint hints: readOnly: false destructive: false idempotent: true call: auth-authorization.getorcreateanauthorizationforspecificappandfingerprint with: fingerprint: tools.fingerprint body: tools.body outputParameters: - type: object mapping: $. - name: github-getsingle-authorization description: GitHub Getsingle Authorization hints: readOnly: true destructive: false idempotent: true call: auth-authorization.getsingleauthorization outputParameters: - type: object mapping: $. - name: github-update-existing-authorization description: GitHub Update an Existing Authorization hints: readOnly: false destructive: false idempotent: true call: auth-authorization.updateanexistingauthorization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-delete-authorization description: GitHub Delete an Authorization hints: readOnly: false destructive: true idempotent: true call: auth-authorization.deleteanauthorization outputParameters: - type: object mapping: $.