naftiko: 1.0.0-alpha2 info: label: Atlassian The Jira Cloud platform REST API — Project Components description: 'Atlassian The Jira Cloud platform REST API — Project Components. 8 operations. Lead operation: Atlassian Find Components For Projects. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Project Components created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ATLASSIAN_API_KEY: ATLASSIAN_API_KEY capability: consumes: - type: http namespace: jira-project-components baseUri: https://your-domain.atlassian.net description: Atlassian The Jira Cloud platform REST API — Project Components business capability. Self-contained, no shared references. resources: - name: rest-api-3-component path: /rest/api/3/component operations: - name: atlassianfindcomponentsforprojects method: GET description: Atlassian Find Components For Projects outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectIdsOrKeys in: query type: array description: The project IDs and/or project keys (case sensitive). required: true - name: startAt in: query type: integer description: The index of the first item to return in a page of results (page offset). - name: maxResults in: query type: integer description: The maximum number of items to return per page. - name: orderBy in: query type: string description: '[Order](#ordering) the results by a field:' - name: query in: query type: string description: Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive). - name: atlassiancreatecomponent method: POST description: Atlassian Create Component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-api-3-component-id path: /rest/api/3/component/{id} operations: - name: atlassiandeletecomponent method: DELETE description: Atlassian Delete Component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the component. required: true - name: moveIssuesTo in: query type: string description: The ID of the component to replace the deleted component. If this value is null no replacement is made. - name: atlassiangetcomponent method: GET description: Atlassian Get Component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the component. required: true - name: atlassianupdatecomponent method: PUT description: Atlassian Update Component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the component. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rest-api-3-component-id-relatedIssueCounts path: /rest/api/3/component/{id}/relatedIssueCounts operations: - name: atlassiangetcomponentrelatedissues method: GET description: Atlassian Get Component Issues Count outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the component. required: true - name: rest-api-3-project-projectIdOrKey-component path: /rest/api/3/project/{projectIdOrKey}/component operations: - name: atlassiangetprojectcomponentspaginated method: GET description: Atlassian Get Project Components Paginated outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectIdOrKey in: path type: string description: The project ID or project key (case sensitive). required: true - name: startAt in: query type: integer description: The index of the first item to return in a page of results (page offset). - name: maxResults in: query type: integer description: The maximum number of items to return per page. - name: orderBy in: query type: string description: '[Order](#ordering) the results by a field:' - name: componentSource in: query type: string description: The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the API will return connected Compass components - name: query in: query type: string description: Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive). - name: rest-api-3-project-projectIdOrKey-components path: /rest/api/3/project/{projectIdOrKey}/components operations: - name: atlassiangetprojectcomponents method: GET description: Atlassian Get Project Components outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectIdOrKey in: path type: string description: The project ID or project key (case sensitive). required: true - name: componentSource in: query type: string description: The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the API will return connected Compass components authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: jira-project-components-rest port: 8080 description: REST adapter for Atlassian The Jira Cloud platform REST API — Project Components. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/3/component name: rest-api-3-component description: REST surface for rest-api-3-component. operations: - method: GET name: atlassianfindcomponentsforprojects description: Atlassian Find Components For Projects call: jira-project-components.atlassianfindcomponentsforprojects with: projectIdsOrKeys: rest.projectIdsOrKeys startAt: rest.startAt maxResults: rest.maxResults orderBy: rest.orderBy query: rest.query outputParameters: - type: object mapping: $. - method: POST name: atlassiancreatecomponent description: Atlassian Create Component call: jira-project-components.atlassiancreatecomponent with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/component/{id} name: rest-api-3-component-id description: REST surface for rest-api-3-component-id. operations: - method: DELETE name: atlassiandeletecomponent description: Atlassian Delete Component call: jira-project-components.atlassiandeletecomponent with: id: rest.id moveIssuesTo: rest.moveIssuesTo outputParameters: - type: object mapping: $. - method: GET name: atlassiangetcomponent description: Atlassian Get Component call: jira-project-components.atlassiangetcomponent with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: atlassianupdatecomponent description: Atlassian Update Component call: jira-project-components.atlassianupdatecomponent with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/component/{id}/relatedissuecounts name: rest-api-3-component-id-relatedissuecounts description: REST surface for rest-api-3-component-id-relatedIssueCounts. operations: - method: GET name: atlassiangetcomponentrelatedissues description: Atlassian Get Component Issues Count call: jira-project-components.atlassiangetcomponentrelatedissues with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/3/project/{projectidorkey}/component name: rest-api-3-project-projectidorkey-component description: REST surface for rest-api-3-project-projectIdOrKey-component. operations: - method: GET name: atlassiangetprojectcomponentspaginated description: Atlassian Get Project Components Paginated call: jira-project-components.atlassiangetprojectcomponentspaginated with: projectIdOrKey: rest.projectIdOrKey startAt: rest.startAt maxResults: rest.maxResults orderBy: rest.orderBy componentSource: rest.componentSource query: rest.query outputParameters: - type: object mapping: $. - path: /v1/api/3/project/{projectidorkey}/components name: rest-api-3-project-projectidorkey-components description: REST surface for rest-api-3-project-projectIdOrKey-components. operations: - method: GET name: atlassiangetprojectcomponents description: Atlassian Get Project Components call: jira-project-components.atlassiangetprojectcomponents with: projectIdOrKey: rest.projectIdOrKey componentSource: rest.componentSource outputParameters: - type: object mapping: $. - type: mcp namespace: jira-project-components-mcp port: 9090 transport: http description: MCP adapter for Atlassian The Jira Cloud platform REST API — Project Components. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-find-components-projects description: Atlassian Find Components For Projects hints: readOnly: true destructive: false idempotent: true call: jira-project-components.atlassianfindcomponentsforprojects with: projectIdsOrKeys: tools.projectIdsOrKeys startAt: tools.startAt maxResults: tools.maxResults orderBy: tools.orderBy query: tools.query outputParameters: - type: object mapping: $. - name: atlassian-create-component description: Atlassian Create Component hints: readOnly: false destructive: false idempotent: false call: jira-project-components.atlassiancreatecomponent with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-delete-component description: Atlassian Delete Component hints: readOnly: false destructive: true idempotent: true call: jira-project-components.atlassiandeletecomponent with: id: tools.id moveIssuesTo: tools.moveIssuesTo outputParameters: - type: object mapping: $. - name: atlassian-get-component description: Atlassian Get Component hints: readOnly: true destructive: false idempotent: true call: jira-project-components.atlassiangetcomponent with: id: tools.id outputParameters: - type: object mapping: $. - name: atlassian-update-component description: Atlassian Update Component hints: readOnly: false destructive: false idempotent: true call: jira-project-components.atlassianupdatecomponent with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-get-component-issues-count description: Atlassian Get Component Issues Count hints: readOnly: true destructive: false idempotent: true call: jira-project-components.atlassiangetcomponentrelatedissues with: id: tools.id outputParameters: - type: object mapping: $. - name: atlassian-get-project-components-paginated description: Atlassian Get Project Components Paginated hints: readOnly: true destructive: false idempotent: true call: jira-project-components.atlassiangetprojectcomponentspaginated with: projectIdOrKey: tools.projectIdOrKey startAt: tools.startAt maxResults: tools.maxResults orderBy: tools.orderBy componentSource: tools.componentSource query: tools.query outputParameters: - type: object mapping: $. - name: atlassian-get-project-components description: Atlassian Get Project Components hints: readOnly: true destructive: false idempotent: true call: jira-project-components.atlassiangetprojectcomponents with: projectIdOrKey: tools.projectIdOrKey componentSource: tools.componentSource outputParameters: - type: object mapping: $.