naftiko: 1.0.0-alpha2 info: label: Atlassian The Jira Cloud platform REST API — Project Roles description: 'Atlassian The Jira Cloud platform REST API — Project Roles. 9 operations. Lead operation: Atlassian Get Project Roles For Project. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Project Roles 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-roles baseUri: https://your-domain.atlassian.net description: Atlassian The Jira Cloud platform REST API — Project Roles business capability. Self-contained, no shared references. resources: - name: rest-api-3-project-projectIdOrKey-role path: /rest/api/3/project/{projectIdOrKey}/role operations: - name: atlassiangetprojectroles method: GET description: Atlassian Get Project Roles For Project 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: rest-api-3-project-projectIdOrKey-role-id path: /rest/api/3/project/{projectIdOrKey}/role/{id} operations: - name: atlassiangetprojectrole method: GET description: Atlassian Get Project Role For Project 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: id in: path type: integer description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs. required: true - name: excludeInactiveUsers in: query type: boolean description: Exclude inactive users. - name: rest-api-3-project-projectIdOrKey-roledetails path: /rest/api/3/project/{projectIdOrKey}/roledetails operations: - name: atlassiangetprojectroledetails method: GET description: Atlassian Get Project Role Details 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: currentMember in: query type: boolean description: Whether the roles should be filtered to include only those the user is assigned to. - name: excludeConnectAddons in: query type: boolean - name: rest-api-3-role path: /rest/api/3/role operations: - name: atlassiangetallprojectroles method: GET description: Atlassian Get All Project Roles outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiancreateprojectrole method: POST description: Atlassian Create Project Role 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-role-id path: /rest/api/3/role/{id} operations: - name: atlassiandeleteprojectrole method: DELETE description: Atlassian Delete Project Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The ID of the project role to delete. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs. required: true - name: swap in: query type: integer description: The ID of the project role that will replace the one being deleted. - name: atlassiangetprojectrolebyid method: GET description: Atlassian Get Project Role By Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs. required: true - name: atlassianpartialupdateprojectrole method: POST description: Atlassian Partial Update Project Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: atlassianfullyupdateprojectrole method: PUT description: Atlassian Fully Update Project Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs. required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: jira-project-roles-rest port: 8080 description: REST adapter for Atlassian The Jira Cloud platform REST API — Project Roles. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/3/project/{projectidorkey}/role name: rest-api-3-project-projectidorkey-role description: REST surface for rest-api-3-project-projectIdOrKey-role. operations: - method: GET name: atlassiangetprojectroles description: Atlassian Get Project Roles For Project call: jira-project-roles.atlassiangetprojectroles with: projectIdOrKey: rest.projectIdOrKey outputParameters: - type: object mapping: $. - path: /v1/api/3/project/{projectidorkey}/role/{id} name: rest-api-3-project-projectidorkey-role-id description: REST surface for rest-api-3-project-projectIdOrKey-role-id. operations: - method: GET name: atlassiangetprojectrole description: Atlassian Get Project Role For Project call: jira-project-roles.atlassiangetprojectrole with: projectIdOrKey: rest.projectIdOrKey id: rest.id excludeInactiveUsers: rest.excludeInactiveUsers outputParameters: - type: object mapping: $. - path: /v1/api/3/project/{projectidorkey}/roledetails name: rest-api-3-project-projectidorkey-roledetails description: REST surface for rest-api-3-project-projectIdOrKey-roledetails. operations: - method: GET name: atlassiangetprojectroledetails description: Atlassian Get Project Role Details call: jira-project-roles.atlassiangetprojectroledetails with: projectIdOrKey: rest.projectIdOrKey currentMember: rest.currentMember excludeConnectAddons: rest.excludeConnectAddons outputParameters: - type: object mapping: $. - path: /v1/api/3/role name: rest-api-3-role description: REST surface for rest-api-3-role. operations: - method: GET name: atlassiangetallprojectroles description: Atlassian Get All Project Roles call: jira-project-roles.atlassiangetallprojectroles outputParameters: - type: object mapping: $. - method: POST name: atlassiancreateprojectrole description: Atlassian Create Project Role call: jira-project-roles.atlassiancreateprojectrole with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/role/{id} name: rest-api-3-role-id description: REST surface for rest-api-3-role-id. operations: - method: DELETE name: atlassiandeleteprojectrole description: Atlassian Delete Project Role call: jira-project-roles.atlassiandeleteprojectrole with: id: rest.id swap: rest.swap outputParameters: - type: object mapping: $. - method: GET name: atlassiangetprojectrolebyid description: Atlassian Get Project Role By Id call: jira-project-roles.atlassiangetprojectrolebyid with: id: rest.id outputParameters: - type: object mapping: $. - method: POST name: atlassianpartialupdateprojectrole description: Atlassian Partial Update Project Role call: jira-project-roles.atlassianpartialupdateprojectrole with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: atlassianfullyupdateprojectrole description: Atlassian Fully Update Project Role call: jira-project-roles.atlassianfullyupdateprojectrole with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: jira-project-roles-mcp port: 9090 transport: http description: MCP adapter for Atlassian The Jira Cloud platform REST API — Project Roles. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-get-project-roles-project description: Atlassian Get Project Roles For Project hints: readOnly: true destructive: false idempotent: true call: jira-project-roles.atlassiangetprojectroles with: projectIdOrKey: tools.projectIdOrKey outputParameters: - type: object mapping: $. - name: atlassian-get-project-role-project description: Atlassian Get Project Role For Project hints: readOnly: true destructive: false idempotent: true call: jira-project-roles.atlassiangetprojectrole with: projectIdOrKey: tools.projectIdOrKey id: tools.id excludeInactiveUsers: tools.excludeInactiveUsers outputParameters: - type: object mapping: $. - name: atlassian-get-project-role-details description: Atlassian Get Project Role Details hints: readOnly: true destructive: false idempotent: true call: jira-project-roles.atlassiangetprojectroledetails with: projectIdOrKey: tools.projectIdOrKey currentMember: tools.currentMember excludeConnectAddons: tools.excludeConnectAddons outputParameters: - type: object mapping: $. - name: atlassian-get-all-project-roles description: Atlassian Get All Project Roles hints: readOnly: true destructive: false idempotent: true call: jira-project-roles.atlassiangetallprojectroles outputParameters: - type: object mapping: $. - name: atlassian-create-project-role description: Atlassian Create Project Role hints: readOnly: false destructive: false idempotent: false call: jira-project-roles.atlassiancreateprojectrole with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-delete-project-role description: Atlassian Delete Project Role hints: readOnly: false destructive: true idempotent: true call: jira-project-roles.atlassiandeleteprojectrole with: id: tools.id swap: tools.swap outputParameters: - type: object mapping: $. - name: atlassian-get-project-role-id description: Atlassian Get Project Role By Id hints: readOnly: true destructive: false idempotent: true call: jira-project-roles.atlassiangetprojectrolebyid with: id: tools.id outputParameters: - type: object mapping: $. - name: atlassian-partial-update-project-role description: Atlassian Partial Update Project Role hints: readOnly: false destructive: false idempotent: false call: jira-project-roles.atlassianpartialupdateprojectrole with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-fully-update-project-role description: Atlassian Fully Update Project Role hints: readOnly: false destructive: false idempotent: true call: jira-project-roles.atlassianfullyupdateprojectrole with: id: tools.id body: tools.body outputParameters: - type: object mapping: $.