naftiko: 1.0.0-alpha2 info: label: GitHub Repos API — Users description: 'GitHub Repos API — Users. 15 operations. Lead operation: Check If User Can Be Assigned. Self-contained Naftiko capability covering one Github business surface.' tags: - Github - Users created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITHUB_API_KEY: GITHUB_API_KEY capability: consumes: - type: http namespace: temp-users baseUri: '' description: GitHub Repos API — Users business capability. Self-contained, no shared references. resources: - name: repos-owner-repo-assignees-assignee path: /repos/{owner}/{repo}/assignees/{assignee} operations: - name: checkifusercanbeassigned method: GET description: Check If User Can Be Assigned outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assignee in: path type: string required: true - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-branches-branch-protection-restrictions-users path: /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users operations: - name: getuserswithaccesstotheprotectedbranch method: GET description: Get Users With Access To The Protected Branch outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: adduseraccessrestrictions method: POST description: Add User Access Restrictions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: body in: body type: object description: Request body (JSON). required: false - name: setuseraccessrestrictions method: PUT description: Set User Access Restrictions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: body in: body type: object description: Request body (JSON). required: false - name: removeuseraccessrestrictions method: DELETE description: Remove User Access Restrictions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: body in: body type: object description: Request body (JSON). required: false - name: repos-owner-repo-collaborators-username path: /repos/{owner}/{repo}/collaborators/{username} operations: - name: checkifuserisrepositorycollaborator method: GET description: Check If User Is Repository Collaborator outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-collaborators-username-permission path: /repos/{owner}/{repo}/collaborators/{username}/permission operations: - name: getrepositorypermissionsforuser method: GET description: Get Repository Permissions For User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-issues-issue_number-assignees-assignee path: /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee} operations: - name: checkifusercanbeassignedtoissue method: GET description: Check If User Can Be Assigned To Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assignee in: path type: string required: true - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-notifications path: /repos/{owner}/{repo}/notifications operations: - name: listrepositorynotificationsfortheauthenticateduser method: GET description: List Repository Notifications For The Authenticated User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: user-installations-installation_id-repositories path: /user/installations/{installation_id}/repositories operations: - name: listrepositoriesaccessibletotheuseraccesstoken method: GET description: List Repositories Accessible To The User Access Token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: user-migrations-migration_id-repositories path: /user/migrations/{migration_id}/repositories operations: - name: listrepositoriesforusermigration method: GET description: List Repositories For User Migration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: user-repos path: /user/repos operations: - name: listrepositoriesfortheauthenticateduser method: GET description: List Repositories For The Authenticated User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: visibility in: query type: string description: Limit results to repositories with the specified visibility. - name: affiliation in: query type: string description: 'Comma-separated list of values. Can include: ' - name: type in: query type: string description: Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. - name: sort in: query type: string description: The property to sort the results by. - name: direction in: query type: string description: 'The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`.' - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: createrepositoryfortheauthenticateduser method: POST description: Create Repository For The Authenticated User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: body in: body type: object description: Request body (JSON). required: true - name: user-repository_invitations path: /user/repository_invitations operations: - name: listrepositoryinvitationsfortheauthenticateduser method: GET description: List Repository Invitations For The Authenticated User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: users-username-repos path: /users/{username}/repos operations: - name: listrepositoriesforuser method: GET description: List Repositories For User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: query type: string description: Limit results to repositories of the specified type. - name: sort in: query type: string description: The property to sort the results by. - name: direction in: query type: string description: 'The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`.' - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string authentication: type: bearer token: '{{env.GITHUB_API_KEY}}' exposes: - type: rest namespace: temp-users-rest port: 8080 description: REST adapter for GitHub Repos API — Users. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/repos/{owner}/{repo}/assignees/{assignee} name: repos-owner-repo-assignees-assignee description: REST surface for repos-owner-repo-assignees-assignee. operations: - method: GET name: checkifusercanbeassigned description: Check If User Can Be Assigned call: temp-users.checkifusercanbeassigned with: assignee: rest.assignee Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users name: repos-owner-repo-branches-branch-protection-restrictions-users description: REST surface for repos-owner-repo-branches-branch-protection-restrictions-users. operations: - method: GET name: getuserswithaccesstotheprotectedbranch description: Get Users With Access To The Protected Branch call: temp-users.getuserswithaccesstotheprotectedbranch with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - method: POST name: adduseraccessrestrictions description: Add User Access Restrictions call: temp-users.adduseraccessrestrictions with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: setuseraccessrestrictions description: Set User Access Restrictions call: temp-users.setuseraccessrestrictions with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removeuseraccessrestrictions description: Remove User Access Restrictions call: temp-users.removeuseraccessrestrictions with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/collaborators/{username} name: repos-owner-repo-collaborators-username description: REST surface for repos-owner-repo-collaborators-username. operations: - method: GET name: checkifuserisrepositorycollaborator description: Check If User Is Repository Collaborator call: temp-users.checkifuserisrepositorycollaborator with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/collaborators/{username}/permission name: repos-owner-repo-collaborators-username-permission description: REST surface for repos-owner-repo-collaborators-username-permission. operations: - method: GET name: getrepositorypermissionsforuser description: Get Repository Permissions For User call: temp-users.getrepositorypermissionsforuser with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/assignees/{assignee} name: repos-owner-repo-issues-issue-number-assignees-assignee description: REST surface for repos-owner-repo-issues-issue_number-assignees-assignee. operations: - method: GET name: checkifusercanbeassignedtoissue description: Check If User Can Be Assigned To Issue call: temp-users.checkifusercanbeassignedtoissue with: assignee: rest.assignee Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/notifications name: repos-owner-repo-notifications description: REST surface for repos-owner-repo-notifications. operations: - method: GET name: listrepositorynotificationsfortheauthenticateduser description: List Repository Notifications For The Authenticated User call: temp-users.listrepositorynotificationsfortheauthenticateduser with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/user/installations/{installation-id}/repositories name: user-installations-installation-id-repositories description: REST surface for user-installations-installation_id-repositories. operations: - method: GET name: listrepositoriesaccessibletotheuseraccesstoken description: List Repositories Accessible To The User Access Token call: temp-users.listrepositoriesaccessibletotheuseraccesstoken with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/user/migrations/{migration-id}/repositories name: user-migrations-migration-id-repositories description: REST surface for user-migrations-migration_id-repositories. operations: - method: GET name: listrepositoriesforusermigration description: List Repositories For User Migration call: temp-users.listrepositoriesforusermigration with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/user/repos name: user-repos description: REST surface for user-repos. operations: - method: GET name: listrepositoriesfortheauthenticateduser description: List Repositories For The Authenticated User call: temp-users.listrepositoriesfortheauthenticateduser with: visibility: rest.visibility affiliation: rest.affiliation type: rest.type sort: rest.sort direction: rest.direction Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - method: POST name: createrepositoryfortheauthenticateduser description: Create Repository For The Authenticated User call: temp-users.createrepositoryfortheauthenticateduser with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - path: /v1/user/repository-invitations name: user-repository-invitations description: REST surface for user-repository_invitations. operations: - method: GET name: listrepositoryinvitationsfortheauthenticateduser description: List Repository Invitations For The Authenticated User call: temp-users.listrepositoryinvitationsfortheauthenticateduser with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/users/{username}/repos name: users-username-repos description: REST surface for users-username-repos. operations: - method: GET name: listrepositoriesforuser description: List Repositories For User call: temp-users.listrepositoriesforuser with: type: rest.type sort: rest.sort direction: rest.direction Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - type: mcp namespace: temp-users-mcp port: 9090 transport: http description: MCP adapter for GitHub Repos API — Users. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: check-if-user-can-be description: Check If User Can Be Assigned hints: readOnly: true destructive: false idempotent: true call: temp-users.checkifusercanbeassigned with: assignee: tools.assignee Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: get-users-access-protected-branch description: Get Users With Access To The Protected Branch hints: readOnly: true destructive: false idempotent: true call: temp-users.getuserswithaccesstotheprotectedbranch with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: add-user-access-restrictions description: Add User Access Restrictions hints: readOnly: false destructive: false idempotent: false call: temp-users.adduseraccessrestrictions with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: set-user-access-restrictions description: Set User Access Restrictions hints: readOnly: false destructive: false idempotent: true call: temp-users.setuseraccessrestrictions with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: remove-user-access-restrictions description: Remove User Access Restrictions hints: readOnly: false destructive: true idempotent: true call: temp-users.removeuseraccessrestrictions with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: check-if-user-is-repository description: Check If User Is Repository Collaborator hints: readOnly: true destructive: false idempotent: true call: temp-users.checkifuserisrepositorycollaborator with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: get-repository-permissions-user description: Get Repository Permissions For User hints: readOnly: true destructive: false idempotent: true call: temp-users.getrepositorypermissionsforuser with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: check-if-user-can-be-2 description: Check If User Can Be Assigned To Issue hints: readOnly: true destructive: false idempotent: true call: temp-users.checkifusercanbeassignedtoissue with: assignee: tools.assignee Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: list-repository-notifications-authenticated-user description: List Repository Notifications For The Authenticated User hints: readOnly: true destructive: false idempotent: true call: temp-users.listrepositorynotificationsfortheauthenticateduser with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: list-repositories-accessible-user-access description: List Repositories Accessible To The User Access Token hints: readOnly: true destructive: false idempotent: true call: temp-users.listrepositoriesaccessibletotheuseraccesstoken with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: list-repositories-user-migration description: List Repositories For User Migration hints: readOnly: true destructive: false idempotent: true call: temp-users.listrepositoriesforusermigration with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: list-repositories-authenticated-user description: List Repositories For The Authenticated User hints: readOnly: true destructive: false idempotent: true call: temp-users.listrepositoriesfortheauthenticateduser with: visibility: tools.visibility affiliation: tools.affiliation type: tools.type sort: tools.sort direction: tools.direction Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: create-repository-authenticated-user description: Create Repository For The Authenticated User hints: readOnly: false destructive: false idempotent: false call: temp-users.createrepositoryfortheauthenticateduser with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: list-repository-invitations-authenticated-user description: List Repository Invitations For The Authenticated User hints: readOnly: true destructive: false idempotent: true call: temp-users.listrepositoryinvitationsfortheauthenticateduser with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: list-repositories-user description: List Repositories For User hints: readOnly: true destructive: false idempotent: true call: temp-users.listrepositoriesforuser with: type: tools.type sort: tools.sort direction: tools.direction Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $.