# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Atlassian The Jira Cloud platform REST Project Roles API version: 1.0.0 extends: openapi/atlassian-project-roles-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 9 - target: $.paths['/rest/api/3/project/{projectIdOrKey}/role'].get update: x-apievangelist-phrasing: intent: List the roles for a project effect: read questions: - Which project roles exist in a given Jira project? - Can I get just role names and links for a single project? instructions: - text: List the project roles for project {projectIdOrKey}. slots: projectIdOrKey: path.projectIdOrKey - text: Show role names available in project {projectIdOrKey}. slots: projectIdOrKey: path.projectIdOrKey method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/project/{projectIdOrKey}/role/{id}'].get update: x-apievangelist-phrasing: intent: See who holds a role in a project effect: read questions: - Who are the actors in a specific role on a project? - Can I leave inactive users out when listing a project role's members? instructions: - text: Show the actors in role {id} on project {projectIdOrKey}. slots: id: path.id projectIdOrKey: path.projectIdOrKey - text: List role {id} members in project {projectIdOrKey}, excluding inactive users {excludeInactiveUsers}. slots: id: path.id projectIdOrKey: path.projectIdOrKey excludeInactiveUsers: query.excludeInactiveUsers method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/project/{projectIdOrKey}/roledetails'].get update: x-apievangelist-phrasing: intent: Get project role details for a project effect: read questions: - Which project roles am I a member of in a given project? - Can I hide Connect app roles when listing a project's role details? instructions: - text: Get role details for project {projectIdOrKey}. slots: projectIdOrKey: path.projectIdOrKey - text: Show only roles I belong to in project {projectIdOrKey} ({currentMember}). slots: projectIdOrKey: path.projectIdOrKey currentMember: query.currentMember method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/role'].get update: x-apievangelist-phrasing: intent: List all project roles site-wide effect: read questions: - What project roles are defined across the whole Jira site? - Can I see every role's default actors in one call? instructions: - text: List all project roles in Jira with their default actors. - text: Show me every project role defined on the site. method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/role'].post update: x-apievangelist-phrasing: intent: Create a new project role effect: write questions: - How do I add a new project role to Jira? - Does a new project role start with any default actors? instructions: - text: Create a project role called {name}. slots: name: requestBody.name - text: Create project role {name} described as {description}. slots: name: requestBody.name description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/role/{id}'].get update: x-apievangelist-phrasing: intent: Get a project role and its default actors effect: read questions: - Who are the default actors on a given project role? - Can I look up a project role globally by its ID? instructions: - text: Get project role {id} with its default actors. slots: id: path.id - text: Show the site-wide definition of role {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/role/{id}'].put update: x-apievangelist-phrasing: intent: Replace a project role's name and description effect: write questions: - How do I change both the name and description of a project role together? - Must I send both fields when fully updating a role? instructions: - text: Set role {id}'s name to {name} and description to {description}. slots: id: path.id name: requestBody.name description: requestBody.description - text: Fully replace project role {id} with name {name} and description {description}. slots: id: path.id name: requestBody.name description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/role/{id}'].post update: x-apievangelist-phrasing: intent: Change only a project role's name or description effect: write questions: - Can I rename a project role without touching its description? - What happens if I send a name and a description in a partial role update? instructions: - text: Rename only project role {id} to {name}. slots: id: path.id name: requestBody.name - text: Update just the description of role {id} to {description}. slots: id: path.id description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/rest/api/3/role/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a project role effect: destructive questions: - How do I delete a project role that's still in use? - Is a replacement role required when removing a role? instructions: - text: Delete project role {id}. slots: id: path.id - text: Delete role {id} and swap its usages to role {swap}. slots: id: path.id swap: query.swap method: generated generated: '2026-10-01'