# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Flagsmith Projects API version: 1.0.0 extends: openapi/flagsmith-projects-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 46 - target: $.paths['/projects/'].get update: x-apievangelist-phrasing: intent: List projects I can access across organisations effect: read questions: - Which Flagsmith projects do I have access to across all my organisations? - Is there an unversioned endpoint that lists every project my account can see? instructions: - text: Using the unversioned /projects/ endpoint, list every project I can access. - text: Show all projects across my organisations from the plain projects listing. method: generated generated: '2026-09-26' - target: $.paths['/projects/'].post update: x-apievangelist-phrasing: intent: Create a project with just a name and organisation effect: write questions: - What is the minimum I need to create a project that will hold environments and flags? - Can I create a project by giving only its name and organisation? instructions: - text: Create a basic project named {name} in organisation {organisation} using the unversioned projects endpoint. slots: name: requestBody.name organisation: requestBody.organisation - text: Make a simple container project {name} under organisation {organisation}. slots: name: requestBody.name organisation: requestBody.organisation method: generated generated: '2026-09-26' - target: $.paths['/projects/{project_id}/'].get update: x-apievangelist-phrasing: intent: Get a project's details effect: read questions: - How do I see a project's name, organisation and environments? - What environments belong to a given project? instructions: - text: Get the details of project {project_id}. slots: project_id: path.project_id - text: Show project {project_id} along with its environments. slots: project_id: path.project_id method: generated generated: '2026-09-26' - target: $.paths['/projects/{project_id}/'].put update: x-apievangelist-phrasing: intent: Rename or replace a project's details effect: write questions: - How do I rename an existing project? - Can I move a project's details over with a full replacement update? instructions: - text: Rename project {project_id} to {name} in organisation {organisation}. slots: project_id: path.project_id name: requestBody.name organisation: requestBody.organisation - text: Replace project {project_id}'s details with name {name} and organisation {organisation}. slots: project_id: path.project_id name: requestBody.name organisation: requestBody.organisation method: generated generated: '2026-09-26' - target: $.paths['/projects/{project_id}/'].delete update: x-apievangelist-phrasing: intent: Permanently delete a project and everything in it effect: destructive questions: - What gets wiped when I permanently delete a project and all its environments and flags? - Can a deleted project ever be recovered? instructions: - text: Permanently delete project {project_id} with all its environments and flags via the unversioned endpoint. slots: project_id: path.project_id - text: Irreversibly remove project {project_id} and its data. slots: project_id: path.project_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/'].get update: x-apievangelist-phrasing: intent: List projects via the v1 API effect: read questions: - How do I list projects through the versioned v1 projects API? - Can the v1 API give me my projects along with their settings? instructions: - text: List my projects from the v1 projects API. - text: Fetch the v1 project list with each project's configuration. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/'].post update: x-apievangelist-phrasing: intent: Create a project with its settings effect: write questions: - Can I create a project that enforces lower-case feature names or a naming regex? - How do I create a project that requires a minimum number of change request approvals? - Is it possible to enable realtime updates or edge identities when creating a project? instructions: - text: Create project {name} in organisation {organisation} through the v1 API. slots: name: requestBody.name organisation: requestBody.organisation - text: Create v1 project {name} in organisation {organisation} with feature name regex {feature_name_regex}. slots: name: requestBody.name organisation: requestBody.organisation feature_name_regex: requestBody.feature_name_regex - text: Create project {name} for organisation {organisation} needing {minimum_change_request_approvals} approvals per change request. slots: name: requestBody.name organisation: requestBody.organisation minimum_change_request_approvals: requestBody.minimum_change_request_approvals method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete a project via the v1 API effect: destructive questions: - How do I delete a project through the versioned v1 API? - Is there a v1 endpoint to remove a project by its ID? instructions: - text: Delete project {id} using the v1 projects API. slots: id: path.id - text: Remove v1 project {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{id}/'].patch update: x-apievangelist-phrasing: intent: Change a project's settings effect: write questions: - How do I change the stale flag threshold on a project? - Can I turn on feature owner enforcement for an existing project? - How do I hide disabled flags from SDKs in a project? instructions: - text: Set project {id}'s stale flag limit to {stale_flags_limit_days} days. slots: id: path.id stale_flags_limit_days: requestBody.stale_flags_limit_days - text: Turn feature owner enforcement to {enforce_feature_owners} on project {id}. slots: enforce_feature_owners: requestBody.enforce_feature_owners id: path.id - text: Enable realtime updates {enable_realtime_updates} for project {id}. slots: enable_realtime_updates: requestBody.enable_realtime_updates id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{id}/migrate-to-edge/'].post update: x-apievangelist-phrasing: intent: Migrate a project to Edge effect: write questions: - How do I move a project's identities over to Edge? - Can I kick off an Edge migration for one project? instructions: - text: Start the Edge migration for project {id}. slots: id: path.id - text: Migrate project {id} to Edge. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{id}/my-permissions/'].get update: x-apievangelist-phrasing: intent: Check my permissions on a project effect: read questions: - What am I allowed to do in this project? - Am I an admin on a given project? instructions: - text: Show my own permissions on project {id}. slots: id: path.id - text: Check whether I have admin rights in project {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{id}/user-detailed-permissions/{user_id}/'].get update: x-apievangelist-phrasing: intent: Get a user's detailed permissions on a project effect: read questions: - How do I see a detailed breakdown of another user's permissions on a project? - Where do a teammate's project permissions come from, direct grants or groups and roles? instructions: - text: Show the detailed permissions of user {user_id} on project {id}. slots: user_id: path.user_id id: path.id - text: Break down how user {user_id} gets access to project {id}. slots: user_id: path.user_id id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/all-user-permissions/{user_pk}/'].get update: x-apievangelist-phrasing: intent: Get all of a user's permissions in a project effect: read questions: - Can I get the combined list of every permission a user holds in a project? - Which permission keys does a user end up with across a project? instructions: - text: List all permissions user {user_pk} holds in project {project_pk}. slots: user_pk: path.user_pk project_pk: path.project_pk - text: Give me the full permission set of user {user_pk} for project {project_pk}. slots: user_pk: path.user_pk project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/change-requests/'].post update: x-apievangelist-phrasing: intent: Open a project-level change request for segments effect: write questions: - How do I propose segment changes for review in a project? - Can I assign approval groups when raising a project change request? instructions: - text: Open change request {title} in project {project_pk} covering segments {segments}. slots: title: requestBody.title project_pk: path.project_pk segments: requestBody.segments - text: Raise a project change request {title} in {project_pk} for segments {segments} described as {description}. slots: title: requestBody.title project_pk: path.project_pk segments: requestBody.segments description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/change-requests/{id}/'].get update: x-apievangelist-phrasing: intent: Get a project change request effect: read questions: - What segment changes and approvals are on a project change request? - Has a given project change request been committed yet? instructions: - text: Show project change request {id} in project {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Check the approvals on change request {id} for project {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/change-requests/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a project change request effect: write questions: - How do I fully rewrite a project change request's title and segments? - Can I replace everything on an open project change request? instructions: - text: Replace project change request {id} in {project_pk} with title {title} and segments {segments}. slots: id: path.id project_pk: path.project_pk title: requestBody.title segments: requestBody.segments - text: 'Overwrite change request {id} in project {project_pk}: title {title}, segments {segments}.' slots: id: path.id project_pk: path.project_pk title: requestBody.title segments: requestBody.segments method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/change-requests/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete a project change request effect: destructive questions: - How do I delete a project change request I no longer need? - Can I withdraw a pending segment change request from a project? instructions: - text: Delete change request {id} from project {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Withdraw project change request {id} in {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/change-requests/{id}/'].patch update: x-apievangelist-phrasing: intent: Edit part of a project change request effect: write questions: - Can I just change the description on a project change request? - How do I tweak one field of an open project change request? instructions: - text: Change the description of project change request {id} in {project_pk} to {description}. slots: id: path.id project_pk: path.project_pk description: requestBody.description - text: Retitle change request {id} in project {project_pk} as {title}. slots: id: path.id project_pk: path.project_pk title: requestBody.title method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/change-requests/{id}/approve/'].post update: x-apievangelist-phrasing: intent: Approve a project change request effect: write questions: - How do I approve a colleague's project change request? - Can I sign off on a segment change request? instructions: - text: Approve change request {id} in project {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Add my approval to project change request {id} in {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/change-requests/{id}/commit/'].post update: x-apievangelist-phrasing: intent: Commit a project change request effect: write questions: - How do I apply an approved project change request? - What happens when a project change request is committed? instructions: - text: Commit project change request {id} in {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Apply the approved change request {id} for project {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/code-references/'].post update: x-apievangelist-phrasing: intent: Record code references to flags for a project effect: write questions: - How do I report where feature flags are used in my repository's code? - Can I upload code references for a specific repository revision? instructions: - text: Record code references {code_references} for repository {repository_url} at revision {revision} in project {project_pk}. slots: code_references: requestBody.code_references repository_url: requestBody.repository_url revision: requestBody.revision project_pk: path.project_pk - text: 'Upload flag usages from {repository_url} revision {revision} into project {project_pk}: {code_references}.' slots: repository_url: requestBody.repository_url revision: requestBody.revision project_pk: path.project_pk code_references: requestBody.code_references method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/feature-exports/'].get update: x-apievangelist-phrasing: intent: List a project's feature exports effect: read questions: - What feature exports have been made from a project? - Can I see past exports of a project's features? instructions: - text: List the feature exports for project {project_pk}. slots: project_pk: path.project_pk - text: Show feature export history for project {project_pk}. slots: project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/feature-imports/'].get update: x-apievangelist-phrasing: intent: List a project's feature imports effect: read questions: - What feature imports have been run into a project? - Did my last feature import into a project finish? instructions: - text: List the feature imports for project {project_pk}. slots: project_pk: path.project_pk - text: Show feature import history for project {project_pk}. slots: project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/gitlab/issues/'].get update: x-apievangelist-phrasing: intent: List GitLab issues linked to a project effect: read questions: - Which GitLab issues can I link to flags in a project? - Can I browse GitLab issues from the project's GitLab integration? instructions: - text: List GitLab issues available to project {project_pk}. slots: project_pk: path.project_pk - text: Show the GitLab issues for project {project_pk}. slots: project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/gitlab/merge-requests/'].get update: x-apievangelist-phrasing: intent: List GitLab merge requests for a project effect: read questions: - Which GitLab merge requests can be linked to flags in my project? - Can I browse merge requests through the GitLab integration? instructions: - text: List GitLab merge requests for project {project_pk}. slots: project_pk: path.project_pk - text: Show the merge requests available to project {project_pk}. slots: project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/gitlab/projects/'].get update: x-apievangelist-phrasing: intent: List GitLab projects for the integration effect: read questions: - Which GitLab projects can the integration see for my Flagsmith project? - What GitLab repositories are reachable from the GitLab integration? instructions: - text: List GitLab projects reachable from project {project_pk}. slots: project_pk: path.project_pk - text: Show the GitLab repositories the integration exposes for project {project_pk}. slots: project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/imports/launch-darkly/'].get update: x-apievangelist-phrasing: intent: List LaunchDarkly import jobs for a project effect: read questions: - What LaunchDarkly imports have been run into a project? - Can I see all my LaunchDarkly migration attempts for a project? instructions: - text: List LaunchDarkly import jobs for project {project_pk}. slots: project_pk: path.project_pk - text: Show every LaunchDarkly import run into project {project_pk}. slots: project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/imports/launch-darkly/'].post update: x-apievangelist-phrasing: intent: Import flags from LaunchDarkly into a project effect: write questions: - How do I bring my LaunchDarkly flags into a project? - What do I need from LaunchDarkly to start an import? instructions: - text: Import LaunchDarkly project {project_key} into project {project_pk} using token {token}. slots: project_key: requestBody.project_key project_pk: path.project_pk token: requestBody.token - text: Start a LaunchDarkly import of {project_key} into {project_pk} with API token {token}. slots: project_key: requestBody.project_key project_pk: path.project_pk token: requestBody.token method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/imports/launch-darkly/{id}/'].get update: x-apievangelist-phrasing: intent: Check a LaunchDarkly import job effect: read questions: - What is the status of one LaunchDarkly import? - Did a specific LaunchDarkly import complete successfully? instructions: - text: Get LaunchDarkly import {id} for project {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Check the progress of LaunchDarkly import job {id} in project {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/'].post update: x-apievangelist-phrasing: intent: Create a release pipeline effect: write questions: - How do I set up a release pipeline that moves features through stages? - Can I define the stages when creating a release pipeline? instructions: - text: Create release pipeline {name} in project {project_pk} with stages {stages}. slots: name: requestBody.name project_pk: path.project_pk stages: requestBody.stages - text: Set up a new release pipeline {name} for project {project_pk} with stages {stages} and description {description}. slots: name: requestBody.name project_pk: path.project_pk stages: requestBody.stages description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a release pipeline's definition effect: write questions: - How do I redefine all the stages of an existing release pipeline? - Can I fully replace a release pipeline's name and stages? instructions: - text: Replace release pipeline {id} in project {project_pk} with name {name} and stages {stages}. slots: id: path.id project_pk: path.project_pk name: requestBody.name stages: requestBody.stages - text: 'Overwrite pipeline {id} in {project_pk}: name {name}, stages {stages}.' slots: id: path.id project_pk: path.project_pk name: requestBody.name stages: requestBody.stages method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete a release pipeline effect: destructive questions: - How do I delete a release pipeline I no longer use? - Can a release pipeline be removed from a project? instructions: - text: Delete release pipeline {id} from project {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Remove pipeline {id} in project {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/{id}/'].patch update: x-apievangelist-phrasing: intent: Rename or redescribe a release pipeline effect: write questions: - Can I just rename a release pipeline without touching its stages? - How do I change a release pipeline's description? instructions: - text: Rename release pipeline {id} in project {project_pk} to {name}. slots: id: path.id project_pk: path.project_pk name: requestBody.name - text: Update the description of pipeline {id} in {project_pk} to {description}. slots: id: path.id project_pk: path.project_pk description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/{id}/clone/'].post update: x-apievangelist-phrasing: intent: Clone a release pipeline effect: write questions: - Can I copy an existing release pipeline as a starting point for a new one? - How do I duplicate a release pipeline under a new name? instructions: - text: Clone release pipeline {id} in project {project_pk} as {name} with stages {stages}. slots: id: path.id project_pk: path.project_pk name: requestBody.name stages: requestBody.stages - text: Duplicate pipeline {id} in {project_pk} into a copy called {name} with stages {stages}. slots: id: path.id project_pk: path.project_pk name: requestBody.name stages: requestBody.stages method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/{id}/publish-pipeline/'].post update: x-apievangelist-phrasing: intent: Publish a release pipeline effect: write questions: - How do I make a draft release pipeline live so features can move through it? - What does publishing a release pipeline do? instructions: - text: Publish release pipeline {id} named {name} in project {project_pk}. slots: id: path.id name: requestBody.name project_pk: path.project_pk - text: Make pipeline {id} ({name}) live in project {project_pk}. slots: id: path.id name: requestBody.name project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/{id}/remove-feature/'].post update: x-apievangelist-phrasing: intent: Remove a feature from a release pipeline effect: write questions: - How do I pull a feature out of a release pipeline? - Can I stop a feature from progressing through a pipeline? instructions: - text: Remove features {features} from release pipeline {id} ({name}) in project {project_pk}. slots: features: requestBody.features id: path.id name: requestBody.name project_pk: path.project_pk - text: Take a feature out of pipeline {id} named {name} in {project_pk}. slots: id: path.id name: requestBody.name project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/release-pipelines/{id}/unpublish-pipeline/'].post update: x-apievangelist-phrasing: intent: Unpublish a release pipeline effect: write questions: - How do I take a published release pipeline back to draft? - Can I unpublish a pipeline so I can edit it again? instructions: - text: Unpublish release pipeline {id} named {name} in project {project_pk}. slots: id: path.id name: requestBody.name project_pk: path.project_pk - text: Return pipeline {id} ({name}) in {project_pk} to draft. slots: id: path.id name: requestBody.name project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/tags/'].get update: x-apievangelist-phrasing: intent: List a project's tags effect: read questions: - What tags are defined for labelling features in my project? - Which tags can I apply to flags in a project? instructions: - text: List the tags in project {project_pk}. slots: project_pk: path.project_pk - text: Show all feature tags defined for project {project_pk}. slots: project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/tags/'].post update: x-apievangelist-phrasing: intent: Create a tag in a project effect: write questions: - How do I add a new coloured tag for labelling features? - Can I create a permanent tag that protects flags from deletion? instructions: - text: Create tag {label} in project {project_pk}. slots: label: requestBody.label project_pk: path.project_pk - text: Add a tag {label} with colour {color} to project {project_pk}. slots: label: requestBody.label color: requestBody.color project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/tags/{id}/'].get update: x-apievangelist-phrasing: intent: Get a project tag by ID effect: read questions: - How do I look up one tag's label and colour by its ID? - Is a specific tag marked as permanent? instructions: - text: Get tag {id} in project {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Show the label and colour of tag {id} in project {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/tags/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a project tag effect: write questions: - How do I fully redefine an existing tag? - Can I replace a tag's label, colour and description in one go? instructions: - text: Replace tag {id} in project {project_pk} with label {label}, colour {color} and description {description}. slots: id: path.id project_pk: path.project_pk label: requestBody.label color: requestBody.color description: requestBody.description - text: Overwrite tag {id} in {project_pk} so its label is {label}. slots: id: path.id project_pk: path.project_pk label: requestBody.label method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/tags/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete a project tag effect: destructive questions: - How do I delete a tag I no longer use? - Can I remove a tag from a project entirely? instructions: - text: Delete tag {id} from project {project_pk}. slots: id: path.id project_pk: path.project_pk - text: Remove project tag {id} in {project_pk}. slots: id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/tags/{id}/'].patch update: x-apievangelist-phrasing: intent: Recolour or relabel a project tag effect: write questions: - Can I just change a tag's colour? - How do I mark an existing tag as permanent? instructions: - text: Change tag {id} in project {project_pk} to colour {color}. slots: id: path.id project_pk: path.project_pk color: requestBody.color - text: Set is-permanent to {is_permanent} on tag {id} in {project_pk}. slots: is_permanent: requestBody.is_permanent id: path.id project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/tags/get-by-uuid/{uuid}/'].get update: x-apievangelist-phrasing: intent: Get a project tag by UUID effect: read questions: - Can I look up a tag by its UUID instead of its numeric ID? - Which tag does this UUID point to in my project? instructions: - text: Get the tag with UUID {uuid} in project {project_pk}. slots: uuid: path.uuid project_pk: path.project_pk - text: Resolve tag UUID {uuid} in {project_pk}. slots: uuid: path.uuid project_pk: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/get-by-uuid/{uuid}/'].get update: x-apievangelist-phrasing: intent: Get a project by UUID effect: read questions: - Can I find a project using its UUID instead of its numeric ID? - Which project does this UUID belong to? instructions: - text: Get the project with UUID {uuid}. slots: uuid: path.uuid - text: Resolve project UUID {uuid} to its details. slots: uuid: path.uuid method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/permissions/'].get update: x-apievangelist-phrasing: intent: List available project permission types effect: read questions: - What permission types can be granted on a project? - Which project-level permission keys exist? instructions: - text: List every permission type that can be assigned on a project. - text: Show the catalogue of project permission keys. method: generated generated: '2026-09-26'