naftiko: 1.0.0-alpha2 info: label: GitHub Org API — Create description: 'GitHub Org API — Create. 15 operations. Lead operation: GitHub Create Self-hosted Runner Group for an Organization. Self-contained Naftiko capability covering one Github business surface.' tags: - Github - Create created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITHUB_API_KEY: GITHUB_API_KEY capability: consumes: - type: http namespace: organizations-create baseUri: '' description: GitHub Org API — Create business capability. Self-contained, no shared references. resources: - name: orgs-org-actions-runner-groups path: /orgs/{org}/actions/runner-groups operations: - name: createselfhostedrunnergroupforanorganization method: POST description: GitHub Create Self-hosted Runner Group for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-actions-runners-registration-token path: /orgs/{org}/actions/runners/registration-token operations: - name: createregistrationtokenforanorganization method: POST description: GitHub Create Registration Token for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-runners-remove-token path: /orgs/{org}/actions/runners/remove-token operations: - name: createremovetokenforanorganization method: POST description: GitHub Create Remove Token for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org-actions-secrets-secret_name path: /orgs/{org}/actions/secrets/{secret_name} operations: - name: createorupdateanorganizationsecret method: PUT description: GitHub Create or Update an Organization Secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-actions-variables path: /orgs/{org}/actions/variables operations: - name: createanorganizationvariable method: POST description: GitHub Create an Organization Variable outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-custom-repository-roles path: /orgs/{org}/custom-repository-roles operations: - name: createcustomrepositoryrole method: POST description: GitHub Create Custom Repository Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-dependabot-secrets-secret_name path: /orgs/{org}/dependabot/secrets/{secret_name} operations: - name: createorupdateanorganizationsecret method: PUT description: GitHub Create or Update an Organization Secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-hooks path: /orgs/{org}/hooks operations: - name: createanorganizationwebhook method: POST description: GitHub Create an Organization Webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-projects path: /orgs/{org}/projects operations: - name: createanorganizationproject method: POST description: GitHub Create an Organization Project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-repos path: /orgs/{org}/repos operations: - name: createanorganizationrepository method: POST description: GitHub Create an Organization Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams path: /orgs/{org}/teams operations: - name: createteam method: POST description: GitHub Create Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams-team_slug-discussions path: /orgs/{org}/teams/{team_slug}/discussions operations: - name: creatediscussion method: POST description: GitHub Create Discussion outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams-team_slug-discussions-discussion_number-comments path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments operations: - name: creatediscussioncomment method: POST description: GitHub Create Discussion Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions operations: - name: createreactionforteamdiscussioncomment method: POST description: GitHub Create Reaction for Team Discussion Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-teams-team_slug-discussions-discussion_number-reactions path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions operations: - name: createreactionforteamdiscussion method: POST description: GitHub Create Reaction for Team Discussion outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.GITHUB_API_KEY}}' exposes: - type: rest namespace: organizations-create-rest port: 8080 description: REST adapter for GitHub Org API — Create. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/orgs/{org}/actions/runner-groups name: orgs-org-actions-runner-groups description: REST surface for orgs-org-actions-runner-groups. operations: - method: POST name: createselfhostedrunnergroupforanorganization description: GitHub Create Self-hosted Runner Group for an Organization call: organizations-create.createselfhostedrunnergroupforanorganization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runners/registration-token name: orgs-org-actions-runners-registration-token description: REST surface for orgs-org-actions-runners-registration-token. operations: - method: POST name: createregistrationtokenforanorganization description: GitHub Create Registration Token for an Organization call: organizations-create.createregistrationtokenforanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runners/remove-token name: orgs-org-actions-runners-remove-token description: REST surface for orgs-org-actions-runners-remove-token. operations: - method: POST name: createremovetokenforanorganization description: GitHub Create Remove Token for an Organization call: organizations-create.createremovetokenforanorganization outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/secrets/{secret-name} name: orgs-org-actions-secrets-secret-name description: REST surface for orgs-org-actions-secrets-secret_name. operations: - method: PUT name: createorupdateanorganizationsecret description: GitHub Create or Update an Organization Secret call: organizations-create.createorupdateanorganizationsecret with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/variables name: orgs-org-actions-variables description: REST surface for orgs-org-actions-variables. operations: - method: POST name: createanorganizationvariable description: GitHub Create an Organization Variable call: organizations-create.createanorganizationvariable with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/custom-repository-roles name: orgs-org-custom-repository-roles description: REST surface for orgs-org-custom-repository-roles. operations: - method: POST name: createcustomrepositoryrole description: GitHub Create Custom Repository Role call: organizations-create.createcustomrepositoryrole with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/dependabot/secrets/{secret-name} name: orgs-org-dependabot-secrets-secret-name description: REST surface for orgs-org-dependabot-secrets-secret_name. operations: - method: PUT name: createorupdateanorganizationsecret description: GitHub Create or Update an Organization Secret call: organizations-create.createorupdateanorganizationsecret with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/hooks name: orgs-org-hooks description: REST surface for orgs-org-hooks. operations: - method: POST name: createanorganizationwebhook description: GitHub Create an Organization Webhook call: organizations-create.createanorganizationwebhook with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/projects name: orgs-org-projects description: REST surface for orgs-org-projects. operations: - method: POST name: createanorganizationproject description: GitHub Create an Organization Project call: organizations-create.createanorganizationproject with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/repos name: orgs-org-repos description: REST surface for orgs-org-repos. operations: - method: POST name: createanorganizationrepository description: GitHub Create an Organization Repository call: organizations-create.createanorganizationrepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams name: orgs-org-teams description: REST surface for orgs-org-teams. operations: - method: POST name: createteam description: GitHub Create Team call: organizations-create.createteam with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions name: orgs-org-teams-team-slug-discussions description: REST surface for orgs-org-teams-team_slug-discussions. operations: - method: POST name: creatediscussion description: GitHub Create Discussion call: organizations-create.creatediscussion with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments name: orgs-org-teams-team-slug-discussions-discussion-number-comments description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-comments. operations: - method: POST name: creatediscussioncomment description: GitHub Create Discussion Comment call: organizations-create.creatediscussioncomment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions name: orgs-org-teams-team-slug-discussions-discussion-number-comments-comment-number-r description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r. operations: - method: POST name: createreactionforteamdiscussioncomment description: GitHub Create Reaction for Team Discussion Comment call: organizations-create.createreactionforteamdiscussioncomment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions name: orgs-org-teams-team-slug-discussions-discussion-number-reactions description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-reactions. operations: - method: POST name: createreactionforteamdiscussion description: GitHub Create Reaction for Team Discussion call: organizations-create.createreactionforteamdiscussion with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: organizations-create-mcp port: 9090 transport: http description: MCP adapter for GitHub Org API — Create. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: github-create-self-hosted-runner description: GitHub Create Self-hosted Runner Group for an Organization hints: readOnly: false destructive: false idempotent: false call: organizations-create.createselfhostedrunnergroupforanorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-registration-token-organization description: GitHub Create Registration Token for an Organization hints: readOnly: false destructive: false idempotent: false call: organizations-create.createregistrationtokenforanorganization outputParameters: - type: object mapping: $. - name: github-create-remove-token-organization description: GitHub Create Remove Token for an Organization hints: readOnly: false destructive: false idempotent: false call: organizations-create.createremovetokenforanorganization outputParameters: - type: object mapping: $. - name: github-create-update-organization-secret description: GitHub Create or Update an Organization Secret hints: readOnly: false destructive: false idempotent: true call: organizations-create.createorupdateanorganizationsecret with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-organization-variable description: GitHub Create an Organization Variable hints: readOnly: false destructive: false idempotent: false call: organizations-create.createanorganizationvariable with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-custom-repository-role description: GitHub Create Custom Repository Role hints: readOnly: false destructive: false idempotent: false call: organizations-create.createcustomrepositoryrole with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-update-organization-secret-2 description: GitHub Create or Update an Organization Secret hints: readOnly: false destructive: false idempotent: true call: organizations-create.createorupdateanorganizationsecret with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-organization-webhook description: GitHub Create an Organization Webhook hints: readOnly: false destructive: false idempotent: false call: organizations-create.createanorganizationwebhook with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-organization-project description: GitHub Create an Organization Project hints: readOnly: false destructive: false idempotent: false call: organizations-create.createanorganizationproject with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-organization-repository description: GitHub Create an Organization Repository hints: readOnly: false destructive: false idempotent: false call: organizations-create.createanorganizationrepository with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-team description: GitHub Create Team hints: readOnly: false destructive: false idempotent: false call: organizations-create.createteam with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-discussion description: GitHub Create Discussion hints: readOnly: false destructive: false idempotent: false call: organizations-create.creatediscussion with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-discussion-comment description: GitHub Create Discussion Comment hints: readOnly: false destructive: false idempotent: false call: organizations-create.creatediscussioncomment with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-reaction-team-discussion description: GitHub Create Reaction for Team Discussion Comment hints: readOnly: false destructive: false idempotent: false call: organizations-create.createreactionforteamdiscussioncomment with: body: tools.body outputParameters: - type: object mapping: $. - name: github-create-reaction-team-discussion-2 description: GitHub Create Reaction for Team Discussion hints: readOnly: false destructive: false idempotent: false call: organizations-create.createreactionforteamdiscussion with: body: tools.body outputParameters: - type: object mapping: $.