# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Flagsmith Organisations API version: 1.0.0 extends: openapi/flagsmith-organisations-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: 106 - target: $.paths['/organisations/'].get update: x-apievangelist-phrasing: intent: List the organisations I belong to effect: read questions: - Which Flagsmith organisations does my account have access to? - Can I see every organisation I'm in along with its subscription and usage? instructions: - text: List all the organisations I have access to. - text: Show my organisations with their subscription details. method: generated generated: '2026-09-26' - target: $.paths['/organisations/{organisation_id}/'].get update: x-apievangelist-phrasing: intent: Get an organisation's plan and usage limits effect: read questions: - What subscription plan and feature usage limits does my organisation have? - Can I check an organisation's name and plan limits by its organisation_id? instructions: - text: Get the plan and usage limits for organisation {organisation_id}. slots: organisation_id: path.organisation_id - text: Show the subscription plan of organisation {organisation_id}. slots: organisation_id: path.organisation_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/'].post update: x-apievangelist-phrasing: intent: Create a new organisation effect: write questions: - How do I create a brand-new organisation under my account? - Can I require two-factor auth for everyone when I set up a new organisation? instructions: - text: Create an organisation named {name}. slots: name: requestBody.name - text: Create organisation {name} with webhook notifications sent to {webhook_notification_email}. slots: name: requestBody.name webhook_notification_email: requestBody.webhook_notification_email method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_id}/licence'].put update: x-apievangelist-phrasing: intent: Upload or replace an organisation's licence effect: write questions: - Where do I apply a self-hosted licence to my organisation? - Can I replace the licence attached to an organisation? instructions: - text: Update the licence for organisation {organisation_id}. slots: organisation_id: path.organisation_id - text: Apply a new licence file to organisation {organisation_id}. slots: organisation_id: path.organisation_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/api-usage-notification/'].get update: x-apievangelist-phrasing: intent: List API usage notifications for an organisation effect: read questions: - Has my organisation been warned about approaching its API request limit? - What API usage alerts has an organisation received? instructions: - text: List API usage notifications for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show page {page} of organisation {organisation_pk}'s API usage alerts. slots: page: query.page organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/github/create-cleanup-issue/'].post update: x-apievangelist-phrasing: intent: Open a GitHub issue to clean up stale flags effect: write questions: - Can Flagsmith open a GitHub issue reminding us to remove an old flag from code? - Is there a way to create a flag cleanup issue in our linked GitHub repo? instructions: - text: Create a GitHub cleanup issue for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Raise a flag-removal cleanup issue in GitHub from organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/github/issues/'].get update: x-apievangelist-phrasing: intent: List GitHub issues from the linked integration effect: read questions: - Which GitHub issues can I link to a feature flag? - Can I browse issues from the GitHub repos connected to my organisation? instructions: - text: List GitHub issues available to organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show the GitHub issues I could attach to a flag in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/github/pulls/'].get update: x-apievangelist-phrasing: intent: List GitHub pull requests from the integration effect: read questions: - What pull requests from our GitHub repos can be linked to a flag? - Can I see open PRs through the organisation's GitHub integration? instructions: - text: List GitHub pull requests for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show the PRs visible through organisation {organisation_pk}'s GitHub connection. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/github/repo-contributors/'].get update: x-apievangelist-phrasing: intent: List contributors to a linked GitHub repo effect: read questions: - Who contributes to the GitHub repository we linked to Flagsmith? - Can I pull the contributor list of a connected repo? instructions: - text: List repo contributors from organisation {organisation_pk}'s GitHub integration. slots: organisation_pk: path.organisation_pk - text: Show who contributes to the linked GitHub repo for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/github/repositories/'].get update: x-apievangelist-phrasing: intent: List GitHub repositories the integration can reach effect: read questions: - Which GitHub repositories has my organisation's integration been granted? - Can I see the repos available to connect to projects? instructions: - text: List GitHub repositories for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show the repos the GitHub app can access for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/'].post update: x-apievangelist-phrasing: intent: Create a user group in an organisation effect: write questions: - How do I create a permission group for my team? - Can I make a group that new users join by default? instructions: - text: Create group {name} in organisation {organisation_pk}. slots: name: requestBody.name organisation_pk: path.organisation_pk - text: Create group {name} in organisation {organisation_pk} with users {users}. slots: name: requestBody.name organisation_pk: path.organisation_pk users: requestBody.users method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{group_pk}/roles/'].get update: x-apievangelist-phrasing: intent: List roles assigned to a group effect: read questions: - Which roles has a user group been given? - What roles does this group inherit permissions from? instructions: - text: List roles for group {group_pk} in organisation {organisation_pk}. slots: group_pk: path.group_pk organisation_pk: path.organisation_pk - text: Show the roles attached to group {group_pk} of organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk group_pk: path.group_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{group_pk}/roles/{id}/'].delete update: x-apievangelist-phrasing: intent: Remove a role from a group effect: destructive questions: - Can I take a role away from a group without deleting the role? - How would I stop a group from inheriting a role's permissions? instructions: - text: Remove role {id} from group {group_pk} in organisation {organisation_pk}. slots: id: path.id group_pk: path.group_pk organisation_pk: path.organisation_pk - text: Unassign role {id} from group {group_pk} of organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk group_pk: path.group_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{id}/'].get update: x-apievangelist-phrasing: intent: Get a user group's details effect: read questions: - Who is in a particular group and is it a default group? - Can I view one group's full details including its members? instructions: - text: Show group {id} in organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Get the members of group {id} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a group's settings and members effect: write questions: - Can I overwrite a group's name and full member list in one request? - What call replaces every field on an existing group? instructions: - text: Replace group {id} in organisation {organisation_pk} with name {name} and users {users}. slots: id: path.id organisation_pk: path.organisation_pk name: requestBody.name users: requestBody.users - text: Fully update group {id} of organisation {organisation_pk}, renaming it {name}. slots: id: path.id organisation_pk: path.organisation_pk name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete a user group effect: destructive questions: - How do I delete a group we no longer use? - Does deleting a group remove the users from the organisation too? instructions: - text: Delete group {id} from organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Remove the {id} group entirely from organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{id}/'].patch update: x-apievangelist-phrasing: intent: Change some settings on a group effect: write questions: - Can I just rename a group without touching its members? - Is it possible to flip a group to be the default group for new users? instructions: - text: Rename group {id} in organisation {organisation_pk} to {name}. slots: id: path.id organisation_pk: path.organisation_pk name: requestBody.name - text: Set is_default to {is_default} on group {id} of organisation {organisation_pk}. slots: is_default: requestBody.is_default id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{id}/add-users/'].post update: x-apievangelist-phrasing: intent: Add users to a group effect: write questions: - How do I add several people to an existing group at once? - Can I put new teammates into a group by their user IDs? instructions: - text: Add users {user_ids} to group {id} in organisation {organisation_pk}. slots: user_ids: requestBody.user_ids id: path.id organisation_pk: path.organisation_pk - text: Put user {user_ids} into group {id} of organisation {organisation_pk}. slots: user_ids: requestBody.user_ids id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{id}/remove-users/'].post update: x-apievangelist-phrasing: intent: Remove users from a group effect: write questions: - Can I take a few people out of a group but keep them in the organisation? - What's the call to drop users from a group by ID? instructions: - text: Remove users {user_ids} from group {id} in organisation {organisation_pk}. slots: user_ids: requestBody.user_ids id: path.id organisation_pk: path.organisation_pk - text: Take user {user_ids} out of group {id} of organisation {organisation_pk}. slots: user_ids: requestBody.user_ids id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/my-groups/'].get update: x-apievangelist-phrasing: intent: List the groups I'm a member of effect: read questions: - Which groups am I personally a member of in this organisation? - Can I get a summary of just my own groups? instructions: - text: List my groups in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show summaries of the groups I belong to in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/groups/summaries/'].get update: x-apievangelist-phrasing: intent: List summaries of every group in an organisation effect: read questions: - What groups exist across the whole organisation? - Can I get a lightweight summary of all groups rather than full details? instructions: - text: List summaries of all groups in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Give me every group name in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/invite-links/'].get update: x-apievangelist-phrasing: intent: List an organisation's invite links effect: read questions: - Which shareable invite links are active for my organisation? - When do our existing invite links expire? instructions: - text: List invite links for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show the invite links and their roles for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/invite-links/'].post update: x-apievangelist-phrasing: intent: Create a shareable invite link effect: write questions: - Can I generate a link anyone on my team can use to join the organisation? - Is it possible to set an expiry and role on a new invite link? instructions: - text: Create an invite link for organisation {organisation_pk} with role {role}. slots: organisation_pk: path.organisation_pk role: requestBody.role - text: Make an invite link for organisation {organisation_pk} that expires at {expires_at}. slots: organisation_pk: path.organisation_pk expires_at: requestBody.expires_at method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/invite-links/{id}/'].delete update: x-apievangelist-phrasing: intent: Revoke an invite link effect: destructive questions: - How do I kill an invite link that got shared too widely? - Can I delete an invite link before it expires? instructions: - text: Delete invite link {id} from organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Revoke organisation {organisation_pk}'s invite link {id}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/invites/{id}/'].get update: x-apievangelist-phrasing: intent: Get a pending email invite effect: read questions: - Who sent a particular email invite and when? - Can I check the details of one pending invitation? instructions: - text: Show invite {id} in organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Get the email and groups on pending invite {id} for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/invites/{id}/'].delete update: x-apievangelist-phrasing: intent: Cancel a pending email invite effect: destructive questions: - Can I withdraw an email invitation someone hasn't accepted yet? - What's the way to cancel an invite sent to the wrong address? instructions: - text: Cancel invite {id} in organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Delete the pending email invite {id} from organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/invites/{id}/resend/'].post update: x-apievangelist-phrasing: intent: Resend an email invite effect: write questions: - Can I resend an invitation email to someone who lost it? - What if an invitee never got the original invite email? instructions: - text: Resend invite {id} in organisation {organisation_pk} to {email}. slots: id: path.id organisation_pk: path.organisation_pk email: requestBody.email - text: Send invite {id} again to {email} on behalf of {invited_by} in organisation {organisation_pk}. slots: id: path.id email: requestBody.email invited_by: requestBody.invited_by organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/'].get update: x-apievangelist-phrasing: intent: List an organisation's admin API keys effect: read questions: - Which organisation-level admin API keys exist and which are revoked? - Can I audit every master API key our organisation has issued? instructions: - text: List admin API keys for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show page {page} of organisation {organisation_pk}'s master API keys. slots: page: query.page organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/'].post update: x-apievangelist-phrasing: intent: Create an organisation admin API key effect: write questions: - How do I create an API key to automate the Flagsmith admin API? - Can I give a new master API key an expiry date and non-admin rights? instructions: - text: Create a master API key named {name} for organisation {organisation_pk}. slots: name: requestBody.name organisation_pk: path.organisation_pk - text: Create admin key {name} in organisation {organisation_pk} expiring on {expiry_date}. slots: name: requestBody.name organisation_pk: path.organisation_pk expiry_date: requestBody.expiry_date method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/{api_key_prefix}/roles/'].get update: x-apievangelist-phrasing: intent: List roles attached to an admin API key effect: read questions: - What roles govern what a particular master API key can do? - Which roles are assigned to the key with a given prefix? instructions: - text: List roles for master API key {api_key_prefix} in organisation {organisation_pk}. slots: api_key_prefix: path.api_key_prefix organisation_pk: path.organisation_pk - text: Show the roles on admin key {api_key_prefix} of organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk api_key_prefix: path.api_key_prefix method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/{api_key_prefix}/roles/{id}/detach-roles-from-master-api-key/'].delete update: x-apievangelist-phrasing: intent: Detach a role from an admin API key effect: destructive questions: - Can I strip a role off a master API key without revoking the key? - How would I narrow an admin key's access by detaching one role? instructions: - text: Detach role {id} from master API key {api_key_prefix} in organisation {organisation_pk}. slots: id: path.id api_key_prefix: path.api_key_prefix organisation_pk: path.organisation_pk - text: Remove role {id} from admin key {api_key_prefix} of organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk api_key_prefix: path.api_key_prefix id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/{prefix}/'].get update: x-apievangelist-phrasing: intent: Get an admin API key by prefix effect: read questions: - Is a given master API key still valid or has it expired? - Who created the admin key with this prefix? instructions: - text: Show master API key {prefix} in organisation {organisation_pk}. slots: prefix: path.prefix organisation_pk: path.organisation_pk - text: Check whether admin key {prefix} of organisation {organisation_pk} has expired. slots: organisation_pk: path.organisation_pk prefix: path.prefix method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/{prefix}/'].put update: x-apievangelist-phrasing: intent: Replace an admin API key's settings effect: write questions: - Can I overwrite all the settings of a master API key in one call? - What request fully replaces an admin key's name, expiry and admin flag? instructions: - text: Fully update master API key {prefix} in organisation {organisation_pk} with name {name}. slots: prefix: path.prefix organisation_pk: path.organisation_pk name: requestBody.name - text: Replace admin key {prefix} of organisation {organisation_pk}, setting expiry {expiry_date} and is_admin {is_admin}. slots: prefix: path.prefix organisation_pk: path.organisation_pk expiry_date: requestBody.expiry_date is_admin: requestBody.is_admin method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/{prefix}/'].delete update: x-apievangelist-phrasing: intent: Delete an admin API key effect: destructive questions: - How do I delete a leaked organisation API key? - Will deleting a master API key break automations that use it? instructions: - text: Delete master API key {prefix} from organisation {organisation_pk}. slots: prefix: path.prefix organisation_pk: path.organisation_pk - text: Permanently remove admin key {prefix} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk prefix: path.prefix method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/master-api-keys/{prefix}/'].patch update: x-apievangelist-phrasing: intent: Revoke or tweak an admin API key effect: write questions: - Can I mark a master API key as revoked without deleting it? - Is there a way to change just the expiry date on an admin key? instructions: - text: Set revoked to {revoked} on master API key {prefix} in organisation {organisation_pk}. slots: revoked: requestBody.revoked prefix: path.prefix organisation_pk: path.organisation_pk - text: Change only the expiry of admin key {prefix} in organisation {organisation_pk} to {expiry_date}. slots: prefix: path.prefix organisation_pk: path.organisation_pk expiry_date: requestBody.expiry_date method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/'].get update: x-apievangelist-phrasing: intent: List metadata fields applied to models effect: read questions: - Which custom metadata fields are attached to features, segments or environments? - What metadata is required for which object types in my organisation? instructions: - text: List metadata model fields for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show page {page} of organisation {organisation_pk}'s metadata field assignments. slots: page: query.page organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/'].post update: x-apievangelist-phrasing: intent: Attach a metadata field to an object type effect: write questions: - How do I make a custom metadata field appear on features or segments? - Can I require a metadata field whenever a certain object type is created? instructions: - text: Attach metadata field {field} to content type {content_type} in organisation {organisation_pk}. slots: field: requestBody.field content_type: requestBody.content_type organisation_pk: path.organisation_pk - text: Make field {field} on {content_type} required for {is_required_for} in organisation {organisation_pk}. slots: field: requestBody.field content_type: requestBody.content_type is_required_for: requestBody.is_required_for organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/{id}/'].get update: x-apievangelist-phrasing: intent: Get one metadata field assignment effect: read questions: - What object type is a given metadata field assignment bound to? - Can I see whether one metadata model field is required? instructions: - text: Show metadata model field {id} in organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Get the requirement settings for metadata assignment {id} of organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a metadata field assignment effect: write questions: - Can I fully redefine which field and object type a metadata assignment uses? - What call replaces a metadata model field in one go? instructions: - text: Replace metadata model field {id} in organisation {organisation_pk} with field {field} on {content_type}. slots: id: path.id organisation_pk: path.organisation_pk field: requestBody.field content_type: requestBody.content_type - text: Fully update metadata assignment {id} of organisation {organisation_pk} to target {content_type}. slots: id: path.id organisation_pk: path.organisation_pk content_type: requestBody.content_type method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/{id}/'].delete update: x-apievangelist-phrasing: intent: Detach a metadata field from an object type effect: destructive questions: - How do I stop a metadata field from showing up on an object type? - Can I delete a metadata field assignment without deleting the field itself? instructions: - text: Delete metadata model field {id} from organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Remove metadata assignment {id} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/{id}/'].patch update: x-apievangelist-phrasing: intent: Change which models require a metadata field effect: write questions: - Can I just change where a metadata field is required without redefining it? - Is it possible to make an existing metadata field optional again? instructions: - text: Set is_required_for to {is_required_for} on metadata model field {id} in organisation {organisation_pk}. slots: is_required_for: requestBody.is_required_for id: path.id organisation_pk: path.organisation_pk - text: Partially update metadata assignment {id} of organisation {organisation_pk} to field {field}. slots: id: path.id organisation_pk: path.organisation_pk field: requestBody.field method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/supported-content-types/'].get update: x-apievangelist-phrasing: intent: List object types that accept metadata effect: read questions: - Which kinds of objects can I attach custom metadata to? - What content types does metadata support? instructions: - text: List content types that support metadata in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show which object types can carry metadata for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/metadata-model-fields/supported-required-for-models/'].get update: x-apievangelist-phrasing: intent: List models a metadata field can be required for effect: read questions: - For a given model, where can a metadata field be made mandatory? - Which 'required for' options exist for metadata on a model? instructions: - text: List supported required-for models for {model_name} in organisation {organisation_pk}. slots: model_name: query.model_name organisation_pk: path.organisation_pk - text: Show where metadata can be required when attached to {model_name} in organisation {organisation_pk}. slots: model_name: query.model_name organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/'].post update: x-apievangelist-phrasing: intent: Create a role in an organisation effect: write questions: - How do I define a reusable role for role-based access control? - Can I create a role with a description and tags? instructions: - text: Create role {name} in organisation {organisation_pk}. slots: name: requestBody.name organisation_pk: path.organisation_pk - text: Create role {name} described as {description} in organisation {organisation_pk}. slots: name: requestBody.name description: requestBody.description organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{id}/'].get update: x-apievangelist-phrasing: intent: Get a role's details effect: read questions: - What is a specific role called and how is it described? - Can I look up one role in my organisation? instructions: - text: Show role {id} in organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Get the name and tags of role {id} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a role's name, description and tags effect: write questions: - Can I overwrite every field on a role at once? - Which call fully replaces a role definition? instructions: - text: Replace role {id} in organisation {organisation_pk} with name {name} and description {description}. slots: id: path.id organisation_pk: path.organisation_pk name: requestBody.name description: requestBody.description - text: Fully update role {id} of organisation {organisation_pk} to name {name}. slots: id: path.id organisation_pk: path.organisation_pk name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete a role effect: destructive questions: - What happens to groups and keys that use a role if I delete it? - How do I get rid of a role we no longer need? instructions: - text: Delete role {id} from organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Permanently remove role {id} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{id}/'].patch update: x-apievangelist-phrasing: intent: Rename a role or change its tags effect: write questions: - Can I just rename a role and leave everything else alone? - Is it possible to update only a role's tags? instructions: - text: Rename role {id} in organisation {organisation_pk} to {name}. slots: id: path.id organisation_pk: path.organisation_pk name: requestBody.name - text: Set tags {tags} on role {id} of organisation {organisation_pk}. slots: tags: requestBody.tags id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/'].get update: x-apievangelist-phrasing: intent: List a role's permissions in an environment effect: read questions: - What can a role do inside a specific environment? - Which environment-level permissions has a role been granted? instructions: - text: List role {role_pk}'s permissions in environment {environment} for organisation {organisation_pk}. slots: role_pk: path.role_pk environment: query.environment organisation_pk: path.organisation_pk - text: Show environment {environment} permissions held by role {role_pk} in organisation {organisation_pk}. slots: environment: query.environment role_pk: path.role_pk organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/'].post update: x-apievangelist-phrasing: intent: Grant a role permissions on an environment effect: write questions: - How do I give a role permission to change flags in one environment? - Can I make a role an admin of a particular environment? instructions: - text: Grant role {role_pk} permissions {permissions} on environment {environment} in organisation {organisation_pk}. slots: role_pk: path.role_pk permissions: requestBody.permissions environment: requestBody.environment organisation_pk: path.organisation_pk - text: Make role {role_pk} an environment admin ({admin}) of {environment} with permissions {permissions} in organisation {organisation_pk}. slots: role_pk: path.role_pk admin: requestBody.admin environment: requestBody.environment permissions: requestBody.permissions organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/{id}/'].get update: x-apievangelist-phrasing: intent: Get one environment permission grant for a role effect: read questions: - Can I inspect a single environment permission record on a role? - What exactly does one of a role's environment grants allow? instructions: - text: Show environment permission {id} for role {role_pk} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Get role {role_pk}'s environment grant {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a role's environment permission grant effect: write questions: - Can I overwrite the full permission list a role has on an environment? - Which call replaces an environment permission grant entirely? instructions: - text: Replace environment permission {id} on role {role_pk} with {permissions} for environment {environment} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk permissions: requestBody.permissions environment: requestBody.environment organisation_pk: path.organisation_pk - text: Fully update role {role_pk}'s environment grant {id} to environment {environment} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id environment: requestBody.environment organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/{id}/'].delete update: x-apievangelist-phrasing: intent: Revoke a role's environment permission grant effect: destructive questions: - How do I take away a role's access to an environment? - Can I delete one environment permission record from a role? instructions: - text: Delete environment permission {id} from role {role_pk} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Revoke role {role_pk}'s environment grant {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/{id}/'].patch update: x-apievangelist-phrasing: intent: Adjust a role's environment permissions effect: write questions: - Can I just toggle environment admin on a role's existing grant? - Is it possible to change only the permission list on a role's environment grant? instructions: - text: Set environment admin to {admin} on grant {id} for role {role_pk} in organisation {organisation_pk}. slots: admin: requestBody.admin id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Change only the permissions on role {role_pk}'s environment grant {id} to {permissions} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id permissions: requestBody.permissions organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/'].get update: x-apievangelist-phrasing: intent: List groups assigned a role effect: read questions: - Which user groups have been given a particular role? - Who inherits a role through group membership? instructions: - text: List groups assigned role {role_pk} in organisation {organisation_pk}. slots: role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Show the groups holding role {role_pk} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk role_pk: path.role_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/'].post update: x-apievangelist-phrasing: intent: Assign a role to a group effect: write questions: - How do I give a whole group a role at once? - Can I attach a role to an existing user group? instructions: - text: Assign role {role_pk} to group {group} in organisation {organisation_pk}. slots: role_pk: path.role_pk group: requestBody.group organisation_pk: path.organisation_pk - text: Give group {group} the role {role_pk} in organisation {organisation_pk}. slots: group: requestBody.group role_pk: path.role_pk organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/{id}/'].get update: x-apievangelist-phrasing: intent: Get a role-to-group assignment effect: read questions: - Can I look at one specific role-group assignment record? - Which group does a particular role assignment point to? instructions: - text: Show group assignment {id} for role {role_pk} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Get role {role_pk}'s group link {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a role-to-group assignment effect: write questions: - Can I repoint an existing role assignment to a different group? - What call fully replaces a role's group assignment? instructions: - text: Replace group assignment {id} on role {role_pk} with group {group} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk group: requestBody.group organisation_pk: path.organisation_pk - text: Fully update role {role_pk}'s group link {id} to point at group {group} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id group: requestBody.group organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/{id}/'].delete update: x-apievangelist-phrasing: intent: Remove a role from a group assignment effect: destructive questions: - How do I unassign a role from a group, working from the role's side? - Can I delete the link between a role and a group? instructions: - text: Delete group assignment {id} from role {role_pk} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Unlink role {role_pk} from its group assignment {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/{id}/'].patch update: x-apievangelist-phrasing: intent: Partially update a role-to-group assignment effect: write questions: - Can I change just the group on a role assignment without resending everything? - Is there a partial update for a role's group link? instructions: - text: Partially update group assignment {id} on role {role_pk} to group {group} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk group: requestBody.group organisation_pk: path.organisation_pk - text: Patch role {role_pk}'s group link {id} in organisation {organisation_pk} so it uses group {group}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk group: requestBody.group method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/'].get update: x-apievangelist-phrasing: intent: List admin API keys assigned a role effect: read questions: - Which master API keys carry a given role? - What automation keys inherit this role's permissions? instructions: - text: List master API keys assigned role {role_pk} in organisation {organisation_pk}. slots: role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Show the admin keys holding role {role_pk} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk role_pk: path.role_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/'].post update: x-apievangelist-phrasing: intent: Assign a role to an admin API key effect: write questions: - How do I scope a master API key by giving it a role? - Can I attach a role to an existing admin key from the role's side? instructions: - text: Assign role {role_pk} to master API key {master_api_key} in organisation {organisation_pk}. slots: role_pk: path.role_pk master_api_key: requestBody.master_api_key organisation_pk: path.organisation_pk - text: Give admin key {master_api_key} the role {role_pk} in organisation {organisation_pk}. slots: master_api_key: requestBody.master_api_key role_pk: path.role_pk organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/{id}/'].get update: x-apievangelist-phrasing: intent: Get a role-to-admin-key assignment effect: read questions: - Can I view one record linking a role to a master API key? - Which admin key does a particular role assignment refer to? instructions: - text: Show master API key assignment {id} for role {role_pk} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Get role {role_pk}'s admin key link {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a role-to-admin-key assignment effect: write questions: - Can I repoint a role assignment to a different master API key? - What call fully replaces a role's admin key link? instructions: - text: Replace admin key assignment {id} on role {role_pk} with key {master_api_key} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk master_api_key: requestBody.master_api_key organisation_pk: path.organisation_pk - text: Fully update role {role_pk}'s master key link {id} to key {master_api_key} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id master_api_key: requestBody.master_api_key organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/{id}/'].delete update: x-apievangelist-phrasing: intent: Unassign a role from an admin API key effect: destructive questions: - How do I remove a role from a master API key, starting from the role? - Can I delete a role's link to an admin key without deleting the key? instructions: - text: Delete admin key assignment {id} from role {role_pk} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Unlink role {role_pk} from master key assignment {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/{id}/'].patch update: x-apievangelist-phrasing: intent: Partially update a role-to-admin-key assignment effect: write questions: - Can I change only the key on a role's master API key assignment? - Is there a patch call for a role's admin key link? instructions: - text: Partially update admin key assignment {id} on role {role_pk} to key {master_api_key} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk master_api_key: requestBody.master_api_key organisation_pk: path.organisation_pk - text: Patch role {role_pk}'s master key link {id} in organisation {organisation_pk} to use key {master_api_key}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk master_api_key: requestBody.master_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/'].get update: x-apievangelist-phrasing: intent: List a role's organisation-wide permissions effect: read questions: - What can a role do at the organisation level, like creating projects? - Which organisation permissions has this role been granted? instructions: - text: List organisation permissions for role {role_pk} in organisation {organisation_pk}. slots: role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Show the org-wide grants held by role {role_pk} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk role_pk: path.role_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/'].post update: x-apievangelist-phrasing: intent: Grant a role organisation-wide permissions effect: write questions: - How do I let a role create projects or manage users across the organisation? - Can I add organisation-level permissions to a role? instructions: - text: Grant role {role_pk} organisation permissions {permissions} in organisation {organisation_pk}. slots: role_pk: path.role_pk permissions: requestBody.permissions organisation_pk: path.organisation_pk - text: Give role {role_pk} org-level rights {permissions} for organisation {organisation_pk}. slots: permissions: requestBody.permissions role_pk: path.role_pk organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/{id}/'].get update: x-apievangelist-phrasing: intent: Get one organisation permission grant for a role effect: read questions: - Can I inspect a single organisation-level permission record on a role? - What does one of a role's org-wide grants contain? instructions: - text: Open the org-level permission record {id} that role {role_pk} holds across organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Get role {role_pk}'s org-wide grant {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a role's organisation permission grant effect: write questions: - Can I overwrite a role's complete set of organisation-level permissions? - Which call replaces an org-wide permission grant on a role? instructions: - text: Replace organisation permission {id} on role {role_pk} with {permissions} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk permissions: requestBody.permissions organisation_pk: path.organisation_pk - text: Fully update role {role_pk}'s org-wide grant {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/{id}/'].delete update: x-apievangelist-phrasing: intent: Revoke a role's organisation permission grant effect: destructive questions: - How do I strip organisation-level rights from a role? - Can I delete one org-wide permission record from a role? instructions: - text: Remove org-wide rights record {id} so role {role_pk} loses organisation-level access in {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Revoke role {role_pk}'s org-wide grant {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/{id}/'].patch update: x-apievangelist-phrasing: intent: Adjust a role's organisation permissions effect: write questions: - Can I patch just the permission list on a role's organisation grant? - Is there a partial update for org-level role permissions? instructions: - text: Change only the permissions on organisation grant {id} for role {role_pk} to {permissions} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk permissions: requestBody.permissions organisation_pk: path.organisation_pk - text: Patch role {role_pk}'s org-wide grant {id} in organisation {organisation_pk} to {permissions}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk permissions: requestBody.permissions method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/'].get update: x-apievangelist-phrasing: intent: List a role's permissions in a project effect: read questions: - What can a role do inside one specific project? - Which project-level permissions has a role been granted? instructions: - text: List role {role_pk}'s permissions in project {project} for organisation {organisation_pk}. slots: role_pk: path.role_pk project: query.project organisation_pk: path.organisation_pk - text: Show project {project} permissions held by role {role_pk} in organisation {organisation_pk}. slots: project: query.project role_pk: path.role_pk organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/'].post update: x-apievangelist-phrasing: intent: Grant a role permissions on a project effect: write questions: - How do I give a role access to create features in a project? - Can I make a role a project admin? instructions: - text: Grant role {role_pk} permissions {permissions} on project {project} in organisation {organisation_pk}. slots: role_pk: path.role_pk permissions: requestBody.permissions project: requestBody.project organisation_pk: path.organisation_pk - text: Make role {role_pk} a project admin ({admin}) of {project} with permissions {permissions} in organisation {organisation_pk}. slots: role_pk: path.role_pk admin: requestBody.admin project: requestBody.project permissions: requestBody.permissions organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/{id}/'].get update: x-apievangelist-phrasing: intent: Get one project permission grant for a role effect: read questions: - Can I inspect a single project permission record on a role? - What exactly does one of a role's project grants allow? instructions: - text: Look up which project and permissions grant {id} gives role {role_pk} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Get role {role_pk}'s project grant {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a role's project permission grant effect: write questions: - Can I overwrite the full permission list a role has on a project? - Which call replaces a project permission grant entirely? instructions: - text: Replace project permission {id} on role {role_pk} with {permissions} for project {project} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk permissions: requestBody.permissions project: requestBody.project organisation_pk: path.organisation_pk - text: Fully update role {role_pk}'s project grant {id} to project {project} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id project: requestBody.project organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/{id}/'].delete update: x-apievangelist-phrasing: intent: Revoke a role's project permission grant effect: destructive questions: - How do I take away a role's access to a project? - Can I delete one project permission record from a role? instructions: - text: Take project access away from role {role_pk} by deleting its project grant record {id} in organisation {organisation_pk}. slots: id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Revoke role {role_pk}'s project grant {id} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/{id}/'].patch update: x-apievangelist-phrasing: intent: Adjust a role's project permissions effect: write questions: - Can I just toggle project admin on a role's existing project grant? - Is it possible to change only the permissions on a role's project grant? instructions: - text: Set project admin to {admin} on grant {id} for role {role_pk} in organisation {organisation_pk}. slots: admin: requestBody.admin id: path.id role_pk: path.role_pk organisation_pk: path.organisation_pk - text: Change only the permissions on role {role_pk}'s project grant {id} to {permissions} in organisation {organisation_pk}. slots: role_pk: path.role_pk id: path.id permissions: requestBody.permissions organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/scim/'].get update: x-apievangelist-phrasing: intent: Get an organisation's SCIM provisioning config effect: read questions: - Is SCIM user provisioning set up for my organisation? - Can I view the current SCIM configuration? instructions: - text: Show the SCIM configuration for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Check whether SCIM is enabled in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/scim/'].post update: x-apievangelist-phrasing: intent: Enable SCIM provisioning effect: write questions: - How do I turn on SCIM so my identity provider can sync users? - Can I set up SCIM provisioning for an organisation through the API? instructions: - text: Enable SCIM provisioning for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Set up a SCIM configuration in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/scim/'].delete update: x-apievangelist-phrasing: intent: Disable SCIM provisioning effect: destructive questions: - What happens when I remove the SCIM configuration from an organisation? - Can I switch off SCIM user sync? instructions: - text: Delete the SCIM configuration for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Turn off SCIM provisioning in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/scim/regenerate-token/'].post update: x-apievangelist-phrasing: intent: Regenerate the SCIM bearer token effect: destructive questions: - How do I rotate the SCIM token if it may have leaked? - Will regenerating the SCIM token break the existing identity provider connection? instructions: - text: Regenerate the SCIM token for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Rotate organisation {organisation_pk}'s SCIM credentials. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/trust-relationships/'].get update: x-apievangelist-phrasing: intent: List OIDC trust relationships effect: read questions: - Which external identity issuers are trusted to get API access to my organisation? - What trust relationships have been set up for keyless workload access? instructions: - text: List trust relationships for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Show page {page} of organisation {organisation_pk}'s trusted issuers. slots: page: query.page organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/trust-relationships/'].post update: x-apievangelist-phrasing: intent: Trust an external token issuer effect: write questions: - Can I let CI jobs authenticate with their own OIDC tokens instead of a stored API key? - How do I register an issuer and audience as a trust relationship? instructions: - text: Create trust relationship {name} in organisation {organisation_pk} for issuer {issuer} and audience {audience}, admin {is_admin}. slots: name: requestBody.name organisation_pk: path.organisation_pk issuer: requestBody.issuer audience: requestBody.audience is_admin: requestBody.is_admin - text: Trust issuer {issuer} in organisation {organisation_pk} with claim rules {claim_rules}. slots: issuer: requestBody.issuer organisation_pk: path.organisation_pk claim_rules: requestBody.claim_rules method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/trust-relationships/{id}/'].get update: x-apievangelist-phrasing: intent: Get a trust relationship's details effect: read questions: - What issuer, audience and claim rules does one trust relationship use? - Does a given trust relationship grant admin access? instructions: - text: Show trust relationship {id} in organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Get the claim rules of trust relationship {id} for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/trust-relationships/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a trust relationship effect: write questions: - Can I overwrite every setting of a trust relationship in one request? - Which call fully redefines a trusted issuer's configuration? instructions: - text: Replace trust relationship {id} in organisation {organisation_pk} with name {name}, issuer {issuer}, audience {audience}, admin {is_admin}. slots: id: path.id organisation_pk: path.organisation_pk name: requestBody.name issuer: requestBody.issuer audience: requestBody.audience is_admin: requestBody.is_admin - text: Fully update trust relationship {id} of organisation {organisation_pk} to issuer {issuer}. slots: id: path.id organisation_pk: path.organisation_pk issuer: requestBody.issuer method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/trust-relationships/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete a trust relationship effect: destructive questions: - How do I stop trusting an external issuer? - Can I delete a trust relationship so its tokens no longer work? instructions: - text: Delete trust relationship {id} from organisation {organisation_pk}. slots: id: path.id organisation_pk: path.organisation_pk - text: Remove trusted issuer {id} in organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/trust-relationships/{id}/'].patch update: x-apievangelist-phrasing: intent: Adjust a trust relationship effect: write questions: - Can I just change the claim rules on a trust relationship? - Is it possible to downgrade a trust relationship from admin without redefining it? instructions: - text: Set claim rules {claim_rules} on trust relationship {id} in organisation {organisation_pk}. slots: claim_rules: requestBody.claim_rules id: path.id organisation_pk: path.organisation_pk - text: Change only is_admin to {is_admin} on trust relationship {id} of organisation {organisation_pk}. slots: is_admin: requestBody.is_admin id: path.id organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/usage-data/'].get update: x-apievangelist-phrasing: intent: Get an organisation's API usage over time effect: read questions: - How many flag and identity requests has my organisation made this billing period? - Can I break API usage down by project, environment or SDK version? instructions: - text: Get usage data for organisation {organisation_pk} over period {period}. slots: organisation_pk: path.organisation_pk period: query.period - text: Show API usage for organisation {organisation_pk} in project {project_id} and environment {environment_id}. slots: organisation_pk: path.organisation_pk project_id: query.project_id environment_id: query.environment_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/usage-data/total-count/'].get update: x-apievangelist-phrasing: intent: Get an organisation's total API request count effect: read questions: - What's the single total number of API calls my organisation has made? - Can I get one headline usage count instead of a time series? instructions: - text: Get the total API request count for organisation {organisation_pk}. slots: organisation_pk: path.organisation_pk - text: Tell me organisation {organisation_pk}'s overall usage count. slots: organisation_pk: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/'].get update: x-apievangelist-phrasing: intent: Get an organisation via the v1 endpoint effect: read questions: - Can I read an organisation's settings, like 2FA enforcement, from the /api/v1 organisations endpoint? - Does an organisation persist trait data or restrict project creation to admins? instructions: - text: Get organisation {id} from the v1 organisations endpoint. slots: id: path.id - text: Show the admin and 2FA settings of organisation {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/'].put update: x-apievangelist-phrasing: intent: Replace an organisation's settings effect: write questions: - Can I overwrite all of an organisation's settings in one request? - Which call fully replaces an organisation's name and options? instructions: - text: Fully update organisation {id} with name {name}. slots: id: path.id name: requestBody.name - text: Replace organisation {id}'s settings, naming it {name} and setting force_2fa to {force_2fa}. slots: id: path.id name: requestBody.name force_2fa: requestBody.force_2fa method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete an organisation effect: destructive questions: - How do I permanently delete an entire organisation? - Does deleting an organisation remove all of its projects too? instructions: - text: Delete organisation {id}. slots: id: path.id - text: Permanently remove organisation {id} and everything in it. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/'].patch update: x-apievangelist-phrasing: intent: Change specific organisation settings effect: write questions: - Can I enforce two-factor authentication for my whole organisation? - Is there a way to restrict project creation to organisation admins? - Can I stop Flagsmith from persisting identity trait data? instructions: - text: Turn force_2fa to {force_2fa} for organisation {id}. slots: force_2fa: requestBody.force_2fa id: path.id - text: Rename organisation {id} to {name}. slots: id: path.id name: requestBody.name - text: Set restrict_project_create_to_admin to {restrict_project_create_to_admin} on organisation {id}. slots: restrict_project_create_to_admin: requestBody.restrict_project_create_to_admin id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/get-hosted-page-url-for-subscription-upgrade/'].post update: x-apievangelist-phrasing: intent: Get a hosted checkout link to upgrade a plan effect: write questions: - How do I get a checkout page URL to upgrade my organisation's subscription? - Can I generate an upgrade link for a specific plan? instructions: - text: Get a hosted upgrade page for organisation {id} to plan {plan_id} on subscription {subscription_id}. slots: id: path.id plan_id: requestBody.plan_id subscription_id: requestBody.subscription_id - text: Create a subscription upgrade checkout link for organisation {id}, plan {plan_id}, subscription {subscription_id}. slots: id: path.id plan_id: requestBody.plan_id subscription_id: requestBody.subscription_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/get-subscription-metadata/'].get update: x-apievangelist-phrasing: intent: Get an organisation's subscription metadata effect: read questions: - What seats, projects and API call allowances come with my organisation's subscription? - Can I read the subscription metadata that sets my plan's limits? instructions: - text: Get the subscription metadata for organisation {id}. slots: id: path.id - text: Show the plan allowances recorded on organisation {id}'s subscription. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/influx-data/'].get update: x-apievangelist-phrasing: intent: Get usage data from the deprecated influx endpoint effect: read questions: - Is the influx-data usage endpoint for organisations deprecated? - Can I still pull legacy influx usage figures for a project or environment? instructions: - text: Get legacy influx usage data for organisation {id}. slots: id: path.id - text: Fetch deprecated influx data for organisation {id}, project {project_id}, environment {environment_id}. slots: id: path.id project_id: query.project_id environment_id: query.environment_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/invite/'].post update: x-apievangelist-phrasing: intent: Invite people to an organisation by email effect: write questions: - How do I invite teammates to my organisation by email? - Can I send several email invitations at once? instructions: - text: Invite {emails} to organisation {id}. slots: emails: requestBody.emails id: path.id - text: Send organisation {id} invitations {invites}. slots: id: path.id invites: requestBody.invites method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/my-permissions/'].get update: x-apievangelist-phrasing: intent: See my own permissions in an organisation effect: read questions: - What am I allowed to do in this organisation? - Am I an admin of the organisation I'm working in? instructions: - text: Show my permissions in organisation {id}. slots: id: path.id - text: Check whether I'm an admin of organisation {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/portal-url/'].get update: x-apievangelist-phrasing: intent: Get the billing portal link effect: read questions: - Where do I manage billing and invoices for my organisation? - Can I get a link to the customer billing portal? instructions: - text: Get the billing portal URL for organisation {id}. slots: id: path.id - text: Give me a link to manage organisation {id}'s payment details. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/remove-users/'].post update: x-apievangelist-phrasing: intent: Remove users from an organisation effect: destructive questions: - How do I remove people who've left the company from my organisation? - Can I kick several users out of an organisation in one request? instructions: - text: Remove user {user} from organisation {org}. slots: user: requestBody.id org: path.id - text: Take users {user} out of organisation {org} entirely. slots: user: requestBody.id org: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/update-subscription/'].post update: x-apievangelist-phrasing: intent: Apply a completed checkout to a subscription effect: write questions: - After checkout, how do I apply the hosted page result to my organisation's subscription? - Can I update a subscription from a hosted page ID? instructions: - text: Update organisation {id}'s subscription from hosted page {hosted_page_id}. slots: id: path.id hosted_page_id: requestBody.hosted_page_id - text: Apply checkout {hosted_page_id} to the subscription of organisation {id}. slots: hosted_page_id: requestBody.hosted_page_id id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/usage/'].get update: x-apievangelist-phrasing: intent: Get usage from the deprecated usage endpoint effect: read questions: - Is the older organisation usage endpoint deprecated in favour of total-count? - Can I still read the legacy usage figure for an organisation? instructions: - text: Get legacy usage for organisation {id}. slots: id: path.id - text: Read organisation {id}'s usage from the deprecated usage endpoint. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{id}/user-detailed-permissions/{user_id}/'].get update: x-apievangelist-phrasing: intent: See a user's detailed permissions effect: read questions: - Where does a teammate's access come from — direct grants, groups or roles? - Can I see the detailed permissions another user has in an organisation? instructions: - text: Show detailed permissions for user {user_id} in organisation {id}. slots: user_id: path.user_id id: path.id - text: Explain how user {user_id} gets their access in organisation {id}. slots: id: path.id user_id: path.user_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/get-by-uuid/{uuid}/'].get update: x-apievangelist-phrasing: intent: Look up an organisation by its UUID effect: read questions: - Can I find an organisation when I only have its UUID? - Which organisation does this UUID refer to? instructions: - text: Get the organisation with UUID {uuid}. slots: uuid: path.uuid - text: Resolve organisation UUID {uuid} to its name and ID. slots: uuid: path.uuid method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/permissions/'].get update: x-apievangelist-phrasing: intent: List the permission types organisations support effect: read questions: - What organisation-level permission keys exist that I can grant? - Which permissions are available to assign at the organisation level? instructions: - text: List the available organisation permission types. - text: Show every permission key I can grant at organisation level. method: generated generated: '2026-09-26'