Flagsmith · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Flagsmith Webhooks API

22 actions 22 updates phrasing extends openapi/flagsmith-webhooks-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Flagsmith's API. It is a proposal applied on top of the contract, not a document Flagsmith publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 22 · first 16 shown; the file carries all of them

$.info
$.paths['/environments/{environment_api_key}/webhooks/'].get
$.paths['/environments/{environment_api_key}/webhooks/'].post
$.paths['/organisations/{organisation_id}/webhooks/'].get
$.paths['/organisations/{organisation_id}/webhooks/'].post
$.paths['/api/v1/cb-webhook/'].post
$.paths['/api/v1/cohort-sync/mixpanel/webhook/'].post
$.paths['/api/v1/cohort-sync/webhook/cohorts/{id}/members/add/'].post
$.paths['/api/v1/cohort-sync/webhook/cohorts/{id}/members/remove/'].post
$.paths['/api/v1/environments/{environment_api_key}/webhooks/'].get
$.paths['/api/v1/environments/{environment_api_key}/webhooks/'].post
$.paths['/api/v1/environments/{environment_api_key}/webhooks/{id}/'].put
$.paths['/api/v1/environments/{environment_api_key}/webhooks/{id}/'].delete
$.paths['/api/v1/environments/{environment_api_key}/webhooks/{id}/'].patch
$.paths['/api/v1/github-webhook/'].post
$.paths['/api/v1/organisations/{organisation_pk}/webhooks/'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Flagsmith Webhooks API
  version: 1.0.0
extends: openapi/flagsmith-webhooks-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: 21
- target: $.paths['/environments/{environment_api_key}/webhooks/'].get
  update:
    x-apievangelist-phrasing:
      intent: List environment webhooks (unversioned path)
      effect: read
      questions:
      - Which webhooks receive flag evaluation data for identified users in my environment, via the unversioned path?
      - Can I see the environment webhooks list without the /api/v1 prefix?
      instructions:
      - text: Using the unversioned route, list webhooks for environment {environment_api_key}.
        slots:
          environment_api_key: path.environment_api_key
      - text: Show the identity evaluation webhooks on environment {environment_api_key} from the non-v1 endpoint.
        slots:
          environment_api_key: path.environment_api_key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/environments/{environment_api_key}/webhooks/'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an environment webhook (unversioned path)
      effect: write
      questions:
      - How can I get flag evaluation data POSTed to my URL whenever identities are evaluated?
      - Can I sign environment webhook payloads with a secret when creating one on the unversioned route?
      instructions:
      - text: On the unversioned route, add a webhook to environment {environment_api_key} that posts to {url}.
        slots:
          environment_api_key: path.environment_api_key
          url: requestBody.url
      - text: Create an identity evaluation webhook for {environment_api_key} at {url} signed with secret {secret}, non-v1 path.
        slots:
          environment_api_key: path.environment_api_key
          url: requestBody.url
          secret: requestBody.secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organisations/{organisation_id}/webhooks/'].get
  update:
    x-apievangelist-phrasing:
      intent: List organisation audit webhooks (unversioned)
      effect: read
      questions:
      - Which webhooks receive audit log events for my whole organisation, from the unversioned path?
      - Is there a non-v1 endpoint to list an organisation's audit webhooks?
      instructions:
      - text: Via the unversioned route, list audit log webhooks for organisation {organisation_id}.
        slots:
          organisation_id: path.organisation_id
      - text: Show organisation {organisation_id}'s audit webhooks from the non-v1 endpoint.
        slots:
          organisation_id: path.organisation_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organisations/{organisation_id}/webhooks/'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an organisation audit webhook (unversioned)
      effect: write
      questions:
      - How do I stream audit log events for changes across my organisation to my own URL?
      - Can the unversioned organisation webhook create call take a signing secret?
      instructions:
      - text: Using the unversioned route, create an audit log webhook for organisation {organisation_id} posting to {url}.
        slots:
          organisation_id: path.organisation_id
          url: requestBody.url
      - text: Send organisation {organisation_id} audit events to {url} signed with {secret}, non-v1 path.
        slots:
          organisation_id: path.organisation_id
          url: requestBody.url
          secret: requestBody.secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/cb-webhook/'].post
  update:
    x-apievangelist-phrasing:
      intent: Receive Chargebee subscription webhooks
      effect: write
      questions:
      - What endpoint handles incoming Chargebee billing webhooks for subscription changes?
      - How are Chargebee payment failures used to detect subscriptions in dunning?
      instructions:
      - text: Deliver this Chargebee subscription event to the billing webhook receiver.
      - text: Process the Chargebee payment failure notification to update dunning state.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/cohort-sync/mixpanel/webhook/'].post
  update:
    x-apievangelist-phrasing:
      intent: Receive a Mixpanel cohort sync
      effect: write
      questions:
      - How does Mixpanel push cohort membership into Flagsmith each sync cycle?
      - Can the Mixpanel sync send only added and removed members instead of the full list?
      instructions:
      - text: Apply the Mixpanel cohort sync action {action} with parameters {parameters}.
        slots:
          action: requestBody.action
          parameters: requestBody.parameters
      - text: Ingest this Mixpanel cohort membership payload {parameters}.
        slots:
          parameters: requestBody.parameters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/cohort-sync/webhook/cohorts/{id}/members/add/'].post
  update:
    x-apievangelist-phrasing:
      intent: Add members to a CSV cohort
      effect: write
      questions:
      - How do I add identities to an existing CSV cohort without re-uploading the file?
      - Is it safe to retry adding a member who is already in the cohort?
      instructions:
      - text: Add identifiers {identifiers} to cohort {id}.
        slots:
          identifiers: requestBody.identifiers
          id: path.id
      - text: Put these users {identifiers} into CSV cohort {id} through the sync webhook.
        slots:
          identifiers: requestBody.identifiers
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/cohort-sync/webhook/cohorts/{id}/members/remove/'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove members from a CSV cohort
      effect: write
      questions:
      - How can I take specific identities out of a CSV cohort?
      - What happens if I remove someone who isn't a member of the cohort?
      instructions:
      - text: Remove identifiers {identifiers} from cohort {id}.
        slots:
          identifiers: requestBody.identifiers
          id: path.id
      - text: Drop these users {identifiers} out of CSV cohort {id}.
        slots:
          identifiers: requestBody.identifiers
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/webhooks/'].get
  update:
    x-apievangelist-phrasing:
      intent: List an environment's webhooks (v1)
      effect: read
      questions:
      - What webhooks are set up on my environment in the v1 API?
      - Can I check which of an environment's webhooks are enabled?
      instructions:
      - text: List the v1 webhooks for environment {environment_api_key}.
        slots:
          environment_api_key: path.environment_api_key
      - text: Show every webhook configured on environment {environment_api_key} with its enabled status.
        slots:
          environment_api_key: path.environment_api_key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/webhooks/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an environment webhook (v1)
      effect: write
      questions:
      - How do I add a webhook to an environment through the v1 API?
      - Can I create an environment webhook disabled so it doesn't fire yet?
      instructions:
      - text: Create a v1 webhook on environment {environment_api_key} pointing to {url}.
        slots:
          environment_api_key: path.environment_api_key
          url: requestBody.url
      - text: Add webhook {url} to environment {environment_api_key} with enabled set to {enabled}.
        slots:
          url: requestBody.url
          environment_api_key: path.environment_api_key
          enabled: requestBody.enabled
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/webhooks/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace an environment webhook
      effect: write
      questions:
      - How do I fully replace an environment webhook's URL and settings?
      - Does a full update of an environment webhook require the URL again?
      instructions:
      - text: Replace environment {environment_api_key} webhook {id} so it posts to {url}.
        slots:
          environment_api_key: path.environment_api_key
          id: path.id
          url: requestBody.url
      - text: Overwrite webhook {id} on {environment_api_key} with URL {url} and secret {secret}.
        slots:
          id: path.id
          environment_api_key: path.environment_api_key
          url: requestBody.url
          secret: requestBody.secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/webhooks/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an environment webhook
      effect: destructive
      questions:
      - How do I remove a webhook from an environment?
      - Can I delete an environment webhook I no longer need?
      instructions:
      - text: Delete webhook {id} from environment {environment_api_key}.
        slots:
          id: path.id
          environment_api_key: path.environment_api_key
      - text: Remove the environment webhook {id} on {environment_api_key} permanently.
        slots:
          id: path.id
          environment_api_key: path.environment_api_key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/webhooks/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit part of an environment webhook
      effect: write
      questions:
      - Can I just switch off an environment webhook without changing its URL?
      - What's the way to rotate only the secret on an environment webhook?
      instructions:
      - text: Set enabled to {enabled} on webhook {id} in environment {environment_api_key}.
        slots:
          enabled: requestBody.enabled
          id: path.id
          environment_api_key: path.environment_api_key
      - text: Change only the secret of environment webhook {id} on {environment_api_key} to {secret}.
        slots:
          id: path.id
          environment_api_key: path.environment_api_key
          secret: requestBody.secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/github-webhook/'].post
  update:
    x-apievangelist-phrasing:
      intent: Receive GitHub integration webhooks
      effect: write
      questions:
      - Which endpoint receives events from the GitHub integration?
      - Where should the GitHub app deliver its webhook events?
      instructions:
      - text: Deliver this GitHub event to the GitHub webhook receiver.
      - text: Forward the incoming GitHub webhook payload for processing.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/organisations/{organisation_pk}/webhooks/'].get
  update:
    x-apievangelist-phrasing:
      intent: List organisation webhooks (v1)
      effect: read
      questions:
      - What webhooks does my organisation have in the v1 API?
      - Can I page through an organisation's webhooks?
      instructions:
      - text: List the v1 webhooks for organisation {organisation_pk}.
        slots:
          organisation_pk: path.organisation_pk
      - text: Show page {page} of organisation {organisation_pk}'s webhooks.
        slots:
          page: query.page
          organisation_pk: path.organisation_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/organisations/{organisation_pk}/webhooks/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an organisation webhook (v1)
      effect: write
      questions:
      - How do I add an organisation-level webhook with the v1 API?
      - Can a new v1 organisation webhook start out disabled?
      instructions:
      - text: Create a v1 webhook for organisation {organisation_pk} posting to {url}.
        slots:
          organisation_pk: path.organisation_pk
          url: requestBody.url
      - text: Add organisation webhook {url} to {organisation_pk} with enabled {enabled}.
        slots:
          url: requestBody.url
          organisation_pk: path.organisation_pk
          enabled: requestBody.enabled
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/organisations/{organisation_pk}/webhooks/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an organisation webhook
      effect: read
      questions:
      - What URL and status does a specific organisation webhook have?
      - Can I look up one organisation webhook by its ID?
      instructions:
      - text: Get webhook {id} of organisation {organisation_pk}.
        slots:
          id: path.id
          organisation_pk: path.organisation_pk
      - text: Show the details of organisation {organisation_pk}'s webhook {id}.
        slots:
          id: path.id
          organisation_pk: path.organisation_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/organisations/{organisation_pk}/webhooks/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace an organisation webhook
      effect: write
      questions:
      - How do I fully replace an organisation webhook's configuration?
      - Must I resend the URL when replacing an organisation webhook?
      instructions:
      - text: Replace organisation {organisation_pk} webhook {id} so it posts to {url}.
        slots:
          organisation_pk: path.organisation_pk
          id: path.id
          url: requestBody.url
      - text: Overwrite org webhook {id} in {organisation_pk} with URL {url} and secret {secret}.
        slots:
          id: path.id
          organisation_pk: path.organisation_pk
          url: requestBody.url
          secret: requestBody.secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/organisations/{organisation_pk}/webhooks/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an organisation webhook
      effect: destructive
      questions:
      - How do I stop audit events going to an old organisation webhook by deleting it?
      - Can I remove an organisation webhook entirely?
      instructions:
      - text: Delete webhook {id} from organisation {organisation_pk}.
        slots:
          id: path.id
          organisation_pk: path.organisation_pk
      - text: Remove organisation {organisation_pk}'s webhook {id} permanently.
        slots:
          id: path.id
          organisation_pk: path.organisation_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/organisations/{organisation_pk}/webhooks/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit part of an organisation webhook
      effect: write
      questions:
      - Can I pause an organisation webhook by just flipping enabled?
      - Is there a way to change only an organisation webhook's URL?
      instructions:
      - text: Set enabled to {enabled} on organisation {organisation_pk} webhook {id}.
        slots:
          enabled: requestBody.enabled
          organisation_pk: path.organisation_pk
          id: path.id
      - text: Point org webhook {id} in {organisation_pk} at new URL {url}, leaving the rest unchanged.
        slots:
          id: path.id
          organisation_pk: path.organisation_pk
          url: requestBody.url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/webhooks/test/'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a test webhook
      effect: write
      questions:
      - Can I fire a test payload at a webhook URL before saving it?
      - How do I check my endpoint accepts webhook requests signed with my secret?
      instructions:
      - text: Send a test webhook to {webhook_url} for scope {scope}.
        slots:
          webhook_url: requestBody.webhook_url
          scope: requestBody.scope
      - text: Test {webhook_url} with scope {scope} signing it with {secret}.
        slots:
          webhook_url: requestBody.webhook_url
          scope: requestBody.scope
          secret: requestBody.secret
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/flagsmith-webhooks-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.