# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Flagsmith Integrations API version: 1.0.0 extends: openapi/flagsmith-integrations-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: 107 - target: $.paths['/api/v1/admin/dashboard/integrations/'].get update: x-apievangelist-phrasing: intent: See integration usage on the admin dashboard effect: read questions: - Which third-party integrations are switched on across my whole Flagsmith instance? - Can the admin dashboard tell me how widely each integration type is used? instructions: - text: Pull the admin dashboard breakdown of integrations in use. - text: Give me an instance-wide overview of configured integrations for the admin view. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/amplitude/'].get update: x-apievangelist-phrasing: intent: List Amplitude integrations for an environment effect: read questions: - Is Amplitude already connected to this environment? - What Amplitude setups exist for my staging environment? instructions: - text: List the Amplitude integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show me every Amplitude connection configured for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/amplitude/'].post update: x-apievangelist-phrasing: intent: Connect Amplitude to an environment effect: write questions: - How do I send flag data from an environment into Amplitude? - Can I point the Amplitude integration at a custom base URL such as the EU endpoint? instructions: - text: Connect Amplitude to environment {environment} using API key {api_key}. slots: environment: path.environment_api_key api_key: requestBody.api_key - text: Add an Amplitude integration to {environment} with key {api_key} and base URL {base_url}. slots: environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/amplitude/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Amplitude integration's settings effect: read questions: - What base URL is my Amplitude integration currently sending to? - Where can I look up the details of a single Amplitude connection? instructions: - text: Fetch Amplitude integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the configuration of Amplitude connection {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/amplitude/{id}/'].put update: x-apievangelist-phrasing: intent: Replace an Amplitude integration's settings effect: write questions: - Can I overwrite the full Amplitude config, key and URL together, in one call? - What happens to the base URL if I replace my Amplitude settings without it? instructions: - text: Replace Amplitude integration {integration_id} on {environment} with API key {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: 'Overwrite the whole Amplitude setup {integration_id} in {environment}: key {api_key}, base URL {base_url}.' slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/amplitude/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect Amplitude from an environment effect: destructive questions: - How can I stop an environment from sending data to Amplitude? - Is removing an Amplitude integration permanent? instructions: - text: Delete Amplitude integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Disconnect Amplitude connection {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/amplitude/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one Amplitude integration setting effect: write questions: - Can I rotate just the Amplitude API key without touching anything else? - Is it possible to patch only the Amplitude base URL? instructions: - text: Rotate the Amplitude key on integration {integration_id} in {environment} to {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: Patch only the base URL of Amplitude integration {integration_id} on {environment} to {base_url}. slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/dynatrace/'].get update: x-apievangelist-phrasing: intent: List Dynatrace integrations for an environment effect: read questions: - Does this environment already push flag changes to Dynatrace? - Which Dynatrace connections are set up on my production environment? instructions: - text: List the Dynatrace integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show every Dynatrace hookup configured for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/dynatrace/'].post update: x-apievangelist-phrasing: intent: Connect Dynatrace to an environment effect: write questions: - How do I get flag change events into Dynatrace for one environment? - What entity selector does the Dynatrace integration need? instructions: - text: Connect Dynatrace to {environment} with API key {api_key} and entity selector {entity_selector}. slots: environment: path.environment_api_key api_key: requestBody.api_key entity_selector: requestBody.entity_selector - text: Add a Dynatrace integration on {environment} at tenant URL {base_url}, key {api_key}, selector {entity_selector}. slots: environment: path.environment_api_key base_url: requestBody.base_url api_key: requestBody.api_key entity_selector: requestBody.entity_selector method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/dynatrace/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Dynatrace integration's settings effect: read questions: - Which entity selector is my Dynatrace integration using right now? - Can I inspect a single Dynatrace connection's tenant URL? instructions: - text: Fetch Dynatrace integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the settings of Dynatrace hookup {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/dynatrace/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a Dynatrace integration's settings effect: write questions: - Can I resubmit the entire Dynatrace configuration at once? - Does a full Dynatrace update require both the key and the entity selector again? instructions: - text: Replace Dynatrace integration {integration_id} on {environment} with key {api_key} and selector {entity_selector}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key entity_selector: requestBody.entity_selector - text: Overwrite the full Dynatrace config {integration_id} in {environment}, tenant URL {base_url}, key {api_key}, selector {entity_selector}. slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url api_key: requestBody.api_key entity_selector: requestBody.entity_selector method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/dynatrace/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect Dynatrace from an environment effect: destructive questions: - How do I stop sending flag events to Dynatrace from an environment? - What does removing a Dynatrace integration affect? instructions: - text: Delete Dynatrace integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Remove the Dynatrace hookup {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/dynatrace/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one Dynatrace integration setting effect: write questions: - Can I change only the Dynatrace entity selector? - Is there a way to swap the Dynatrace token and leave the rest alone? instructions: - text: Set the entity selector on Dynatrace integration {integration_id} in {environment} to {entity_selector}. slots: integration_id: path.id environment: path.environment_api_key entity_selector: requestBody.entity_selector - text: Patch just the Dynatrace token of {integration_id} on {environment} to {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/grafana/'].get update: x-apievangelist-phrasing: intent: List environment-level Grafana integrations effect: read questions: - Is Grafana annotation set up for this particular environment? - Which Grafana integrations are scoped to one environment rather than the project? instructions: - text: List the environment-level Grafana integrations on {environment}. slots: environment: path.environment_api_key - text: Show Grafana connections configured directly on environment {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/grafana/'].post update: x-apievangelist-phrasing: intent: Connect Grafana to a single environment effect: write questions: - Can I annotate Grafana dashboards with flag changes from just one environment? - What do I need to hook Grafana up at the environment level? instructions: - text: Connect Grafana to environment {environment} with service account key {api_key}. slots: environment: path.environment_api_key api_key: requestBody.api_key - text: Add an environment Grafana integration on {environment} pointing at {base_url} with key {api_key}. slots: environment: path.environment_api_key base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/grafana/{id}/'].get update: x-apievangelist-phrasing: intent: Get an environment Grafana integration effect: read questions: - Which Grafana URL is an environment's integration annotating? - Can I look up one environment-scoped Grafana connection by its id? instructions: - text: Fetch environment Grafana integration {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the Grafana settings {integration_id} attached to environment {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/grafana/{id}/'].put update: x-apievangelist-phrasing: intent: Replace an environment Grafana integration effect: write questions: - How can I resubmit an environment's whole Grafana config? - Does replacing an environment Grafana integration need the key every time? instructions: - text: Replace environment Grafana integration {integration_id} on {environment} with key {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: 'Overwrite the Grafana config {integration_id} for environment {environment}: URL {base_url}, key {api_key}.' slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/grafana/{id}/'].delete update: x-apievangelist-phrasing: intent: Remove an environment Grafana integration effect: destructive questions: - How do I stop one environment from annotating Grafana? - Will deleting an environment's Grafana integration affect the project-level one? instructions: - text: Delete environment Grafana integration {integration_id} from {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Disconnect Grafana {integration_id} from environment {environment} only. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/grafana/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one environment Grafana setting effect: write questions: - Can I update just the Grafana URL for one environment's integration? - Is rotating an environment Grafana key possible without resending the URL? instructions: - text: Patch the Grafana URL on environment integration {integration_id} in {environment} to {base_url}. slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url - text: Rotate only the key of environment Grafana integration {integration_id} on {environment} to {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/heap/'].get update: x-apievangelist-phrasing: intent: List Heap integrations for an environment effect: read questions: - Is Heap wired up to this environment yet? - What Heap analytics connections does my environment have? instructions: - text: List the Heap integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show all Heap analytics hookups for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/heap/'].post update: x-apievangelist-phrasing: intent: Connect Heap to an environment effect: write questions: - How do I tag Heap users with the flags they were served? - Can I give the Heap integration a custom base URL? instructions: - text: Connect Heap to environment {environment} with API key {api_key}. slots: environment: path.environment_api_key api_key: requestBody.api_key - text: Add a Heap integration on {environment} using key {api_key} and endpoint {base_url}. slots: environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/heap/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Heap integration's settings effect: read questions: - Which endpoint is my Heap integration configured to use? - Can I view a single Heap connection by id? instructions: - text: Fetch Heap integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the Heap analytics config {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/heap/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a Heap integration's settings effect: write questions: - Can I resend the full Heap configuration in one request? - If I replace my Heap settings, is the API key mandatory? instructions: - text: Replace Heap integration {integration_id} on {environment} with key {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: Overwrite the whole Heap setup {integration_id} in {environment} using key {api_key} and endpoint {base_url}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/heap/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect Heap from an environment effect: destructive questions: - How do I turn off the Heap integration for an environment? - Can a deleted Heap connection be recovered? instructions: - text: Delete Heap integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Unhook Heap {integration_id} from {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/heap/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one Heap integration setting effect: write questions: - Can I rotate the Heap API key alone? - Is patching only the Heap endpoint supported? instructions: - text: Update just the Heap key on integration {integration_id} in {environment} to {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: Patch the Heap endpoint of {integration_id} on {environment} to {base_url}. slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/mixpanel/'].get update: x-apievangelist-phrasing: intent: List Mixpanel integrations for an environment effect: read questions: - Does this environment already send flag data to Mixpanel? - What Mixpanel connections exist on my environment? instructions: - text: List the Mixpanel integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show me all Mixpanel project links for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/mixpanel/'].post update: x-apievangelist-phrasing: intent: Connect Mixpanel to an environment effect: write questions: - How can I enrich Mixpanel user profiles with the flags each user sees? - Is a custom API host allowed for the Mixpanel integration? instructions: - text: Connect Mixpanel to environment {environment} using project token {api_key}. slots: environment: path.environment_api_key api_key: requestBody.api_key - text: Add a Mixpanel integration to {environment} with token {api_key} and host {base_url}. slots: environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/mixpanel/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Mixpanel integration's settings effect: read questions: - Which host is my Mixpanel integration sending to? - Can I check a specific Mixpanel connection's details? instructions: - text: Fetch Mixpanel integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the Mixpanel project link {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/mixpanel/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a Mixpanel integration's settings effect: write questions: - Can I replace the entire Mixpanel config with a new token and host? - Does a full Mixpanel update reset the host if I leave it out? instructions: - text: Replace Mixpanel integration {integration_id} on {environment} with token {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: 'Overwrite Mixpanel setup {integration_id} in {environment}: token {api_key}, host {base_url}.' slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/mixpanel/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect Mixpanel from an environment effect: destructive questions: - How do I stop pushing flags into Mixpanel from an environment? - Does deleting the Mixpanel integration remove data already in Mixpanel? instructions: - text: Delete Mixpanel integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Unlink Mixpanel {integration_id} from {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/mixpanel/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one Mixpanel integration setting effect: write questions: - Can I swap only the Mixpanel project token? - Is it possible to move the Mixpanel integration to a new host without resending the token? instructions: - text: Patch the Mixpanel token on integration {integration_id} in {environment} to {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: Change just the Mixpanel host of {integration_id} on {environment} to {base_url}. slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/rudderstack/'].get update: x-apievangelist-phrasing: intent: List RudderStack integrations for an environment effect: read questions: - Is RudderStack receiving flag data from this environment? - Which RudderStack sources are connected to my environment? instructions: - text: List the RudderStack integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show every RudderStack source hooked to {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/rudderstack/'].post update: x-apievangelist-phrasing: intent: Connect RudderStack to an environment effect: write questions: - How do I stream flag evaluations into RudderStack? - Can the RudderStack integration use my own data plane URL? instructions: - text: Connect RudderStack to environment {environment} with write key {api_key}. slots: environment: path.environment_api_key api_key: requestBody.api_key - text: 'Add a RudderStack integration on {environment}: data plane {base_url}, key {api_key}.' slots: environment: path.environment_api_key base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/rudderstack/{id}/'].get update: x-apievangelist-phrasing: intent: Get one RudderStack integration's settings effect: read questions: - Which data plane URL is my RudderStack integration using? - Can I pull up one RudderStack connection by id? instructions: - text: Fetch RudderStack integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the RudderStack source config {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/rudderstack/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a RudderStack integration's settings effect: write questions: - Can I resubmit RudderStack's data plane and write key together? - Is the write key required when fully replacing RudderStack settings? instructions: - text: Replace RudderStack integration {integration_id} on {environment} with write key {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: 'Overwrite the RudderStack setup {integration_id} in {environment}: data plane {base_url}, key {api_key}.' slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/rudderstack/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect RudderStack from an environment effect: destructive questions: - How do I stop sending flag data to RudderStack? - What breaks if I remove the RudderStack integration? instructions: - text: Delete RudderStack integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Detach RudderStack source {integration_id} from {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/rudderstack/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one RudderStack integration setting effect: write questions: - Can I update only the RudderStack data plane URL? - Is rotating just the RudderStack write key supported? instructions: - text: Patch the RudderStack data plane on {integration_id} in {environment} to {base_url}. slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url - text: Rotate only the RudderStack write key of {integration_id} on {environment} to {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/segment/'].get update: x-apievangelist-phrasing: intent: List Segment integrations for an environment effect: read questions: - Is Segment connected to this environment? - What Segment write keys are configured on my environment? instructions: - text: List the Segment integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show all Segment connections for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/segment/'].post update: x-apievangelist-phrasing: intent: Connect Segment to an environment effect: write questions: - How do I send identity flag data to Segment? - Can Segment be reached through a regional API host? instructions: - text: Connect Segment to environment {environment} with write key {api_key}. slots: environment: path.environment_api_key api_key: requestBody.api_key - text: Add a Segment integration to {environment} using key {api_key} and API host {base_url}. slots: environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/segment/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Segment integration's settings effect: read questions: - Which API host does my Segment integration send to? - Can I look at a single Segment connection's config? instructions: - text: Fetch Segment integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show Segment connection {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/segment/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a Segment integration's settings effect: write questions: - Can I replace Segment's write key and host in a single full update? - If I fully update Segment and omit the host, what happens? instructions: - text: Replace Segment integration {integration_id} on {environment} with write key {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: 'Overwrite Segment setup {integration_id} in {environment}: write key {api_key}, host {base_url}.' slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/segment/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect Segment from an environment effect: destructive questions: - How do I turn off the Segment integration on an environment? - Is deleting a Segment connection reversible? instructions: - text: Delete Segment integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Disconnect Segment {integration_id} from {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/segment/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one Segment integration setting effect: write questions: - Can I rotate the Segment write key alone? - Is switching only the Segment API host possible? instructions: - text: Patch the Segment write key on {integration_id} in {environment} to {api_key}. slots: integration_id: path.id environment: path.environment_api_key api_key: requestBody.api_key - text: Move Segment integration {integration_id} on {environment} to host {base_url}, keeping the key. slots: integration_id: path.id environment: path.environment_api_key base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/sentry/'].get update: x-apievangelist-phrasing: intent: List Sentry change-tracking integrations effect: read questions: - Does Sentry get notified when flags change in this environment? - Which Sentry webhooks are set up on my environment? instructions: - text: List the Sentry integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show every Sentry change-tracking hook for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/sentry/'].post update: x-apievangelist-phrasing: intent: Connect Sentry change tracking to an environment effect: write questions: - How do I get flag changes to show up in Sentry? - What webhook URL and secret does the Sentry integration need? instructions: - text: Connect Sentry to {environment} with webhook URL {webhook_url} and secret {secret}. slots: environment: path.environment_api_key webhook_url: requestBody.webhook_url secret: requestBody.secret - text: Add Sentry change tracking on {environment} for Sentry environment {sentry_env}, posting to {webhook_url} signed with {secret}. slots: environment: path.environment_api_key sentry_env: requestBody.environment webhook_url: requestBody.webhook_url secret: requestBody.secret method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/sentry/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Sentry integration's settings effect: read questions: - Which Sentry environment is my integration tagging flag changes with? - Can I check the webhook URL a Sentry integration posts to? instructions: - text: Fetch Sentry integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the Sentry webhook settings {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/sentry/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a Sentry integration's settings effect: write questions: - Can I resubmit the Sentry webhook URL and secret together? - Does a full Sentry update require both webhook URL and secret? instructions: - text: Replace Sentry integration {integration_id} on {environment} with webhook {webhook_url} and secret {secret}. slots: integration_id: path.id environment: path.environment_api_key webhook_url: requestBody.webhook_url secret: requestBody.secret - text: Overwrite the whole Sentry config {integration_id} in {environment}, tagging Sentry environment {sentry_env}, URL {webhook_url}, secret {secret}. slots: integration_id: path.id environment: path.environment_api_key sentry_env: requestBody.environment webhook_url: requestBody.webhook_url secret: requestBody.secret method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/sentry/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect Sentry from an environment effect: destructive questions: - How do I stop sending flag change events to Sentry? - What happens to Sentry change tracking when I delete the integration? instructions: - text: Delete Sentry integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Turn off Sentry change tracking {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/sentry/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one Sentry integration setting effect: write questions: - Can I rotate just the Sentry webhook secret? - Is it possible to relabel only the Sentry environment name? instructions: - text: Rotate the Sentry secret on {integration_id} in {environment} to {secret}. slots: integration_id: path.id environment: path.environment_api_key secret: requestBody.secret - text: Patch only the Sentry webhook URL of {integration_id} on {environment} to {webhook_url}. slots: integration_id: path.id environment: path.environment_api_key webhook_url: requestBody.webhook_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/'].get update: x-apievangelist-phrasing: intent: List Slack integrations for an environment effect: read questions: - Is flag activity from this environment posting to Slack? - Which Slack channel integrations exist on my environment? instructions: - text: List the Slack integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show Slack notification setups configured for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/'].post update: x-apievangelist-phrasing: intent: Post an environment's flag changes to Slack effect: write questions: - How do I get flag change notifications in a Slack channel? - Can I add the Slack integration but leave it disabled for now? instructions: - text: Post flag changes from {environment} to Slack channel {channel_id}. slots: environment: path.environment_api_key channel_id: requestBody.channel_id - text: Create a Slack integration on {environment} for channel {channel_id} with enabled set to {enabled}. slots: environment: path.environment_api_key channel_id: requestBody.channel_id enabled: requestBody.enabled method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack-channels/'].get update: x-apievangelist-phrasing: intent: List Slack channels available to an environment effect: read questions: - Which Slack channels can I pick for flag notifications? - What channels does the connected Slack workspace expose? instructions: - text: List the Slack channels I can choose from for environment {environment}. slots: environment: path.environment_api_key - text: Show the workspace channel options available to {environment}'s Slack integration. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Slack integration's settings effect: read questions: - Which Slack channel is my environment currently posting to? - Is a given Slack integration enabled or paused? instructions: - text: Fetch Slack integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the channel and enabled state of Slack setup {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a Slack integration's settings effect: write questions: - Can I redo a Slack integration's channel and enabled flag in one full update? - Does a full Slack update require the channel id every time? instructions: - text: Replace Slack integration {integration_id} on {environment} to post to channel {channel_id}. slots: integration_id: path.id environment: path.environment_api_key channel_id: requestBody.channel_id - text: 'Overwrite Slack setup {integration_id} in {environment}: channel {channel_id}, enabled {enabled}.' slots: integration_id: path.id environment: path.environment_api_key channel_id: requestBody.channel_id enabled: requestBody.enabled method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/{id}/'].delete update: x-apievangelist-phrasing: intent: Remove a Slack integration from an environment effect: destructive questions: - How do I stop flag notifications going to Slack entirely? - Is removing a Slack integration different from disabling it? instructions: - text: Delete Slack integration {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Remove the Slack channel hookup {integration_id} on {environment} for good. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/{id}/'].patch update: x-apievangelist-phrasing: intent: Pause or move a Slack integration effect: write questions: - Can I temporarily mute Slack flag notifications without deleting them? - Is it possible to switch just the Slack channel? instructions: - text: Set enabled to {enabled} on Slack integration {integration_id} in {environment}. slots: enabled: requestBody.enabled integration_id: path.id environment: path.environment_api_key - text: Move Slack integration {integration_id} on {environment} to channel {channel_id}. slots: integration_id: path.id environment: path.environment_api_key channel_id: requestBody.channel_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/callback/'].get update: x-apievangelist-phrasing: intent: Complete the Slack OAuth install callback effect: read questions: - Where does Slack redirect after I approve the app install? - What endpoint finishes the Slack authorization for an environment? instructions: - text: Handle the Slack OAuth callback for environment {environment}. slots: environment: path.environment_api_key - text: Finish the Slack app authorization redirect on {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/oauth/'].get update: x-apievangelist-phrasing: intent: Start the Slack OAuth install flow effect: read questions: - How do I begin installing the Slack app for an environment? - Which URL kicks off Slack authorization? instructions: - text: Start the Slack OAuth flow for environment {environment}. slots: environment: path.environment_api_key - text: Send me to Slack to authorize the app for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/slack/signature/'].get update: x-apievangelist-phrasing: intent: Get the signature for a Slack OAuth request effect: read questions: - What signature do I need before starting the Slack install? - Can I get a signed token to pass into the Slack authorization step? instructions: - text: Get the Slack OAuth signature for environment {environment}. slots: environment: path.environment_api_key - text: Generate the signed value used to launch Slack authorization on {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/webhook/'].get update: x-apievangelist-phrasing: intent: List outbound webhooks for an environment effect: read questions: - Which webhook URLs receive flag change events from this environment? - What generic webhook integrations have I set up? instructions: - text: List the webhook integrations on environment {environment}. slots: environment: path.environment_api_key - text: Show every outbound webhook URL for {environment}. slots: environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/webhook/'].post update: x-apievangelist-phrasing: intent: Add an outbound webhook to an environment effect: write questions: - How do I send flag change events to my own HTTP endpoint? - Can I sign webhook payloads with a shared secret? instructions: - text: Add a webhook on environment {environment} that posts to {url}. slots: environment: path.environment_api_key url: requestBody.url - text: Create a webhook to {url} for {environment}, signed with secret {secret}. slots: url: requestBody.url environment: path.environment_api_key secret: requestBody.secret method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/webhook/{id}/'].get update: x-apievangelist-phrasing: intent: Get one outbound webhook's settings effect: read questions: - What URL does a particular environment webhook post to? - Can I inspect a single webhook integration? instructions: - text: Fetch webhook integration {integration_id} in environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Show the target URL of webhook {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/webhook/{id}/'].put update: x-apievangelist-phrasing: intent: Replace an outbound webhook's settings effect: write questions: - Can I resubmit a webhook's URL and secret in one full update? - Will replacing a webhook without a secret clear the existing one? instructions: - text: Replace webhook {integration_id} on {environment} so it posts to {url}. slots: integration_id: path.id environment: path.environment_api_key url: requestBody.url - text: Overwrite webhook {integration_id} in {environment} with URL {url} and secret {secret}. slots: integration_id: path.id environment: path.environment_api_key url: requestBody.url secret: requestBody.secret method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/webhook/{id}/'].delete update: x-apievangelist-phrasing: intent: Delete an outbound webhook effect: destructive questions: - How do I stop an environment from calling my webhook endpoint? - Is a deleted environment webhook gone permanently? instructions: - text: Delete webhook {integration_id} from environment {environment}. slots: integration_id: path.id environment: path.environment_api_key - text: Remove the outbound webhook {integration_id} on {environment}. slots: integration_id: path.id environment: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/integrations/webhook/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one outbound webhook setting effect: write questions: - Can I rotate just a webhook's signing secret? - Is it possible to repoint a webhook to a new URL and keep its secret? instructions: - text: Rotate the secret on webhook {integration_id} in {environment} to {secret}. slots: integration_id: path.id environment: path.environment_api_key secret: requestBody.secret - text: Repoint webhook {integration_id} on {environment} to {url}, keeping its secret. slots: integration_id: path.id environment: path.environment_api_key url: requestBody.url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/'].get update: x-apievangelist-phrasing: intent: List an organisation's GitHub integrations effect: read questions: - Is the GitHub app installed for my organisation? - Which GitHub installations are linked to my Flagsmith organisation? instructions: - text: List the GitHub integrations for organisation {organisation}. slots: organisation: path.organisation_pk - text: Show page {page} of GitHub installations linked to organisation {organisation}. slots: page: query.page organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/'].post update: x-apievangelist-phrasing: intent: Link a GitHub app installation to an organisation effect: write questions: - How do I connect my GitHub organisation so flags can be linked to issues and PRs? - What installation id does the GitHub integration need? instructions: - text: Link GitHub installation {installation_id} to organisation {organisation}. slots: installation_id: requestBody.installation_id organisation: path.organisation_pk - text: Register the GitHub app install {installation_id} for {organisation}. slots: installation_id: requestBody.installation_id organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/'].get update: x-apievangelist-phrasing: intent: List repositories on a GitHub integration effect: read questions: - Which GitHub repos are mapped to my Flagsmith projects? - Can I see the repositories attached to one GitHub installation? instructions: - text: List repositories on GitHub integration {github_id} in organisation {organisation}. slots: github_id: path.github_pk organisation: path.organisation_pk - text: Show page {page} of repos linked through GitHub config {github_id} for {organisation}. slots: page: query.page github_id: path.github_pk organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/'].post update: x-apievangelist-phrasing: intent: Link a GitHub repository to a project effect: write questions: - How do I tie a GitHub repo to a Flagsmith project? - Can flags automatically tag the GitHub issues and pull requests they are linked to? instructions: - text: Link repo {repository_owner}/{repository_name} to project {project} via GitHub integration {github_id} in {organisation}. slots: repository_owner: requestBody.repository_owner repository_name: requestBody.repository_name project: requestBody.project github_id: path.github_pk organisation: path.organisation_pk - text: Add {repository_owner}/{repository_name} for project {project} on GitHub config {github_id} of {organisation} with tagging {tagging_enabled}. slots: repository_owner: requestBody.repository_owner repository_name: requestBody.repository_name project: requestBody.project github_id: path.github_pk organisation: path.organisation_pk tagging_enabled: requestBody.tagging_enabled method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/{id}/'].get update: x-apievangelist-phrasing: intent: Get one linked GitHub repository effect: read questions: - Which project is a linked GitHub repo mapped to? - Is tagging switched on for a particular linked repository? instructions: - text: Fetch linked repository {repo_link_id} on GitHub integration {github_id} in {organisation}. slots: repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk - text: Show the project mapping for repo link {repo_link_id} under GitHub config {github_id}, organisation {organisation}. slots: repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a linked GitHub repository mapping effect: write questions: - Can I re-point a linked repo to a different project in a full update? - Does replacing a repo link need owner, name and project again? instructions: - text: Replace repo link {repo_link_id} on GitHub integration {github_id} in {organisation} with {repository_owner}/{repository_name} for project {project}. slots: repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk repository_owner: requestBody.repository_owner repository_name: requestBody.repository_name project: requestBody.project - text: 'Overwrite repo link {repo_link_id} ({github_id}, {organisation}): project {project}, {repository_owner}/{repository_name}, tagging {tagging_enabled}.' slots: repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk project: requestBody.project repository_owner: requestBody.repository_owner repository_name: requestBody.repository_name tagging_enabled: requestBody.tagging_enabled method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/{id}/'].delete update: x-apievangelist-phrasing: intent: Unlink a GitHub repository effect: destructive questions: - How do I detach a GitHub repo from a Flagsmith project? - Does unlinking a repo remove its issue and PR links from flags? instructions: - text: Unlink repository {repo_link_id} from GitHub integration {github_id} in {organisation}. slots: repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk - text: Delete repo link {repo_link_id} under GitHub config {github_id} for organisation {organisation}. slots: repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/{id}/'].patch update: x-apievangelist-phrasing: intent: Toggle tagging or tweak a linked repository effect: write questions: - Can I turn off automatic GitHub tagging for just one linked repo? - Is it possible to move a linked repo to another project without resending everything? instructions: - text: Set tagging to {tagging_enabled} on repo link {repo_link_id} under GitHub integration {github_id} in {organisation}. slots: tagging_enabled: requestBody.tagging_enabled repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk - text: Move linked repository {repo_link_id} of {github_id} in {organisation} to project {project}. slots: repo_link_id: path.id github_id: path.github_pk organisation: path.organisation_pk project: requestBody.project method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{id}/'].get update: x-apievangelist-phrasing: intent: Get an organisation's GitHub integration effect: read questions: - Which GitHub installation id is my organisation connected with? - Can I view one GitHub integration record by id? instructions: - text: Fetch GitHub integration {github_id} for organisation {organisation}. slots: github_id: path.id organisation: path.organisation_pk - text: Show the installation details of GitHub config {github_id} in {organisation}. slots: github_id: path.id organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{id}/'].put update: x-apievangelist-phrasing: intent: Replace an organisation's GitHub integration effect: write questions: - Can I swap the GitHub installation behind my organisation's integration? - Does a full GitHub integration update require the installation id? instructions: - text: Replace GitHub integration {github_id} in {organisation} with installation {installation_id}. slots: github_id: path.id organisation: path.organisation_pk installation_id: requestBody.installation_id - text: Overwrite the GitHub config {github_id} of organisation {organisation} to use app install {installation_id}. slots: github_id: path.id organisation: path.organisation_pk installation_id: requestBody.installation_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{id}/'].delete update: x-apievangelist-phrasing: intent: Remove an organisation's GitHub integration effect: destructive questions: - How do I disconnect GitHub from my organisation completely? - What happens to linked repositories when the GitHub integration is deleted? instructions: - text: Delete GitHub integration {github_id} from organisation {organisation}. slots: github_id: path.id organisation: path.organisation_pk - text: Disconnect the GitHub app config {github_id} for {organisation}. slots: github_id: path.id organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/github/{id}/'].patch update: x-apievangelist-phrasing: intent: Update the installation on a GitHub integration effect: write questions: - Can I change only the installation id on my GitHub integration? - Is a partial edit of the GitHub integration supported? instructions: - text: Patch GitHub integration {github_id} in {organisation} to installation {installation_id}. slots: github_id: path.id organisation: path.organisation_pk installation_id: requestBody.installation_id - text: Just update the app install id on GitHub config {github_id} for {organisation} to {installation_id}. slots: github_id: path.id organisation: path.organisation_pk installation_id: requestBody.installation_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/grafana/'].get update: x-apievangelist-phrasing: intent: List organisation-wide Grafana integrations effect: read questions: - Is Grafana configured once for my entire organisation? - Which Grafana integrations apply at the organisation level? instructions: - text: List the organisation-level Grafana integrations for {organisation}. slots: organisation: path.organisation_pk - text: Show Grafana connections set on organisation {organisation}. slots: organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/grafana/'].post update: x-apievangelist-phrasing: intent: Connect Grafana for a whole organisation effect: write questions: - Can I set up Grafana annotations once for every project in my organisation? - What is needed to add Grafana at organisation scope? instructions: - text: Connect Grafana to organisation {organisation} with key {api_key}. slots: organisation: path.organisation_pk api_key: requestBody.api_key - text: Add an organisation Grafana integration for {organisation} at {base_url} using key {api_key}. slots: organisation: path.organisation_pk base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/grafana/{id}/'].get update: x-apievangelist-phrasing: intent: Get an organisation Grafana integration effect: read questions: - Which Grafana URL does my organisation-wide integration use? - Can I inspect one organisation-scoped Grafana connection? instructions: - text: Fetch organisation Grafana integration {integration_id} in {organisation}. slots: integration_id: path.id organisation: path.organisation_pk - text: Show the org-level Grafana settings {integration_id} for {organisation}. slots: integration_id: path.id organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/grafana/{id}/'].put update: x-apievangelist-phrasing: intent: Replace an organisation Grafana integration effect: write questions: - Can I redo the organisation Grafana URL and key together? - Is the key mandatory when fully replacing the org Grafana config? instructions: - text: Replace organisation Grafana integration {integration_id} in {organisation} with key {api_key}. slots: integration_id: path.id organisation: path.organisation_pk api_key: requestBody.api_key - text: 'Overwrite org-level Grafana {integration_id} for {organisation}: URL {base_url}, key {api_key}.' slots: integration_id: path.id organisation: path.organisation_pk base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/grafana/{id}/'].delete update: x-apievangelist-phrasing: intent: Remove an organisation Grafana integration effect: destructive questions: - How do I remove the Grafana integration from my whole organisation? - Will deleting the organisation Grafana link stop annotations for all projects? instructions: - text: Delete organisation Grafana integration {integration_id} from {organisation}. slots: integration_id: path.id organisation: path.organisation_pk - text: Disconnect org-wide Grafana {integration_id} in {organisation}. slots: integration_id: path.id organisation: path.organisation_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/organisations/{organisation_pk}/integrations/grafana/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one organisation Grafana setting effect: write questions: - Can I rotate just the organisation-level Grafana key? - Is updating only the org Grafana URL allowed? instructions: - text: Rotate the key on organisation Grafana integration {integration_id} in {organisation} to {api_key}. slots: integration_id: path.id organisation: path.organisation_pk api_key: requestBody.api_key - text: Patch only the URL of org Grafana {integration_id} for {organisation} to {base_url}. slots: integration_id: path.id organisation: path.organisation_pk base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/datadog/'].get update: x-apievangelist-phrasing: intent: List Datadog integrations for a project effect: read questions: - Does this project send flag change events to Datadog? - Which Datadog connections exist on my project? instructions: - text: List the Datadog integrations on project {project}. slots: project: path.project_pk - text: Show every Datadog event feed configured for {project}. slots: project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/datadog/'].post update: x-apievangelist-phrasing: intent: Connect Datadog to a project effect: write questions: - How do I get Flagsmith flag changes into my Datadog event stream? - Can Datadog events be marked with a custom source? instructions: - text: Connect Datadog to project {project} at site {base_url} with API key {api_key}. slots: project: path.project_pk base_url: requestBody.base_url api_key: requestBody.api_key - text: Add a Datadog integration for {project}, site {base_url}, key {api_key}, custom source {use_custom_source}. slots: project: path.project_pk base_url: requestBody.base_url api_key: requestBody.api_key use_custom_source: requestBody.use_custom_source method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/datadog/{id}/'].get update: x-apievangelist-phrasing: intent: Get one Datadog integration's settings effect: read questions: - Which Datadog site is my project's integration posting to? - Is the custom source option on for a given Datadog integration? instructions: - text: Fetch Datadog integration {integration_id} on project {project}. slots: integration_id: path.id project: path.project_pk - text: Show the Datadog event feed settings {integration_id} for {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/datadog/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a Datadog integration's settings effect: write questions: - Can I resend the whole Datadog config, site and key, in one go? - Does fully replacing the Datadog integration need both site and key? instructions: - text: Replace Datadog integration {integration_id} on {project} with site {base_url} and key {api_key}. slots: integration_id: path.id project: path.project_pk base_url: requestBody.base_url api_key: requestBody.api_key - text: 'Overwrite Datadog setup {integration_id} for project {project}: site {base_url}, key {api_key}, custom source {use_custom_source}.' slots: integration_id: path.id project: path.project_pk base_url: requestBody.base_url api_key: requestBody.api_key use_custom_source: requestBody.use_custom_source method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/datadog/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect Datadog from a project effect: destructive questions: - How do I stop sending flag events from a project to Datadog? - Is removing a Datadog integration permanent? instructions: - text: Delete Datadog integration {integration_id} from project {project}. slots: integration_id: path.id project: path.project_pk - text: Turn off the Datadog event feed {integration_id} on {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/datadog/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one Datadog integration setting effect: write questions: - Can I toggle only the Datadog custom source option? - Is rotating just the Datadog API key possible? instructions: - text: Set custom source to {use_custom_source} on Datadog integration {integration_id} in {project}. slots: use_custom_source: requestBody.use_custom_source integration_id: path.id project: path.project_pk - text: Rotate only the Datadog key of {integration_id} on {project} to {api_key}. slots: integration_id: path.id project: path.project_pk api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/gitlab/'].get update: x-apievangelist-phrasing: intent: List GitLab integrations for a project effect: read questions: - Is GitLab connected to this Flagsmith project? - Which GitLab instances are linked to my project? instructions: - text: List the GitLab integrations on project {project}. slots: project: path.project_pk - text: Show every GitLab instance link for {project}. slots: project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/gitlab/'].post update: x-apievangelist-phrasing: intent: Connect GitLab to a project effect: write questions: - How do I link a self-managed GitLab instance to a project? - Can GitLab issues and merge requests get labelled automatically from flags? instructions: - text: Connect GitLab at {gitlab_instance_url} to project {project} with access token {access_token}. slots: gitlab_instance_url: requestBody.gitlab_instance_url project: path.project_pk access_token: requestBody.access_token - text: Add a GitLab integration on {project} for {gitlab_instance_url}, token {access_token}, labeling {labeling_enabled}. slots: project: path.project_pk gitlab_instance_url: requestBody.gitlab_instance_url access_token: requestBody.access_token labeling_enabled: requestBody.labeling_enabled method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/gitlab/{id}/'].get update: x-apievangelist-phrasing: intent: Get one GitLab integration's settings effect: read questions: - Which GitLab instance URL is my project linked to? - Is labeling enabled on a particular GitLab integration? instructions: - text: Fetch GitLab integration {integration_id} on project {project}. slots: integration_id: path.id project: path.project_pk - text: Show the instance and labeling settings of GitLab link {integration_id} for {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/gitlab/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a GitLab integration's settings effect: write questions: - Can I move a project's GitLab link to a new instance with a full update? - Does replacing the GitLab integration require the access token again? instructions: - text: Replace GitLab integration {integration_id} on {project} with instance {gitlab_instance_url} and token {access_token}. slots: integration_id: path.id project: path.project_pk gitlab_instance_url: requestBody.gitlab_instance_url access_token: requestBody.access_token - text: 'Overwrite GitLab link {integration_id} for project {project}: URL {gitlab_instance_url}, token {access_token}, labeling {labeling_enabled}.' slots: integration_id: path.id project: path.project_pk gitlab_instance_url: requestBody.gitlab_instance_url access_token: requestBody.access_token labeling_enabled: requestBody.labeling_enabled method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/gitlab/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect GitLab from a project effect: destructive questions: - How do I unlink GitLab from my project? - What happens to GitLab labeling once the integration is removed? instructions: - text: Delete GitLab integration {integration_id} from project {project}. slots: integration_id: path.id project: path.project_pk - text: Remove the GitLab instance link {integration_id} on {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/gitlab/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one GitLab integration setting effect: write questions: - Can I switch off GitLab labeling without deleting the integration? - Is rotating only the GitLab access token supported? instructions: - text: Set labeling to {labeling_enabled} on GitLab integration {integration_id} in {project}. slots: labeling_enabled: requestBody.labeling_enabled integration_id: path.id project: path.project_pk - text: Rotate the GitLab access token of {integration_id} on {project} to {access_token}. slots: integration_id: path.id project: path.project_pk access_token: requestBody.access_token method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/grafana/'].get update: x-apievangelist-phrasing: intent: List project-level Grafana integrations effect: read questions: - Is Grafana configured for this project as a whole? - Which Grafana integrations are attached at project scope? instructions: - text: List the project-level Grafana integrations on {project}. slots: project: path.project_pk - text: Show Grafana connections set on project {project}. slots: project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/grafana/'].post update: x-apievangelist-phrasing: intent: Connect Grafana to a project effect: write questions: - Can I annotate Grafana with flag changes from every environment in a project? - What do I need to add Grafana at project scope? instructions: - text: Connect Grafana to project {project} with key {api_key}. slots: project: path.project_pk api_key: requestBody.api_key - text: Add a project Grafana integration on {project} at {base_url} using key {api_key}. slots: project: path.project_pk base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/grafana/{id}/'].get update: x-apievangelist-phrasing: intent: Get a project Grafana integration effect: read questions: - Which Grafana URL does my project's integration annotate? - Can I inspect one project-scoped Grafana connection? instructions: - text: Fetch project Grafana integration {integration_id} on {project}. slots: integration_id: path.id project: path.project_pk - text: Show the project-level Grafana settings {integration_id} for {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/grafana/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a project Grafana integration effect: write questions: - Can I redo the project Grafana URL and key together? - Is the key required when fully replacing project Grafana settings? instructions: - text: Replace project Grafana integration {integration_id} on {project} with key {api_key}. slots: integration_id: path.id project: path.project_pk api_key: requestBody.api_key - text: 'Overwrite project-level Grafana {integration_id} for {project}: URL {base_url}, key {api_key}.' slots: integration_id: path.id project: path.project_pk base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/grafana/{id}/'].delete update: x-apievangelist-phrasing: intent: Remove a project Grafana integration effect: destructive questions: - How do I stop a project from annotating Grafana? - Does deleting the project Grafana integration affect environment-level ones? instructions: - text: Delete project Grafana integration {integration_id} from {project}. slots: integration_id: path.id project: path.project_pk - text: Disconnect project-scoped Grafana {integration_id} on {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/grafana/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one project Grafana setting effect: write questions: - Can I rotate just the project-level Grafana key? - Is updating only the project Grafana URL allowed? instructions: - text: Rotate the key on project Grafana integration {integration_id} in {project} to {api_key}. slots: integration_id: path.id project: path.project_pk api_key: requestBody.api_key - text: Patch only the URL of project Grafana {integration_id} for {project} to {base_url}. slots: integration_id: path.id project: path.project_pk base_url: requestBody.base_url method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/new-relic/'].get update: x-apievangelist-phrasing: intent: List New Relic integrations for a project effect: read questions: - Does this project record flag changes as New Relic deployments? - Which New Relic apps are connected to my project? instructions: - text: List the New Relic integrations on project {project}. slots: project: path.project_pk - text: Show every New Relic app link for {project}. slots: project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/new-relic/'].post update: x-apievangelist-phrasing: intent: Connect New Relic to a project effect: write questions: - How do I send flag changes to a New Relic application? - What app id and key does the New Relic integration require? instructions: - text: Connect New Relic app {app_id} to project {project} with API key {api_key}. slots: app_id: requestBody.app_id project: path.project_pk api_key: requestBody.api_key - text: Add a New Relic integration on {project} for app {app_id} at {base_url} using key {api_key}. slots: project: path.project_pk app_id: requestBody.app_id base_url: requestBody.base_url api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/new-relic/{id}/'].get update: x-apievangelist-phrasing: intent: Get one New Relic integration's settings effect: read questions: - Which New Relic application id is my project reporting to? - Can I view a single New Relic connection's config? instructions: - text: Fetch New Relic integration {integration_id} on project {project}. slots: integration_id: path.id project: path.project_pk - text: Show the New Relic app link {integration_id} for {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/new-relic/{id}/'].put update: x-apievangelist-phrasing: intent: Replace a New Relic integration's settings effect: write questions: - Can I point my New Relic integration at a different app in one full update? - Does replacing New Relic settings need both key and app id? instructions: - text: Replace New Relic integration {integration_id} on {project} with app {app_id} and key {api_key}. slots: integration_id: path.id project: path.project_pk app_id: requestBody.app_id api_key: requestBody.api_key - text: 'Overwrite New Relic link {integration_id} for project {project}: URL {base_url}, app {app_id}, key {api_key}.' slots: integration_id: path.id project: path.project_pk base_url: requestBody.base_url app_id: requestBody.app_id api_key: requestBody.api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/new-relic/{id}/'].delete update: x-apievangelist-phrasing: intent: Disconnect New Relic from a project effect: destructive questions: - How do I stop logging flag changes into New Relic? - Is deleting the New Relic integration reversible? instructions: - text: Delete New Relic integration {integration_id} from project {project}. slots: integration_id: path.id project: path.project_pk - text: Unlink the New Relic app connection {integration_id} on {project}. slots: integration_id: path.id project: path.project_pk method: generated generated: '2026-09-26' - target: $.paths['/api/v1/projects/{project_pk}/integrations/new-relic/{id}/'].patch update: x-apievangelist-phrasing: intent: Change one New Relic integration setting effect: write questions: - Can I change only the New Relic app id? - Is rotating just the New Relic API key supported? instructions: - text: Point New Relic integration {integration_id} on {project} at app {app_id}, leaving the rest. slots: integration_id: path.id project: path.project_pk app_id: requestBody.app_id - text: Rotate only the New Relic key of {integration_id} in {project} to {api_key}. slots: integration_id: path.id project: path.project_pk api_key: requestBody.api_key method: generated generated: '2026-09-26'