Flagsmith · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Flagsmith Authentication API

60 actions 60 updates phrasing extends openapi/flagsmith-authentication-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 60 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v1/auth/{method}/activate/'].post
$.paths['/api/v1/auth/{method}/activate/confirm/'].post
$.paths['/api/v1/auth/{method}/deactivate/'].post
$.paths['/api/v1/auth/login/'].post
$.paths['/api/v1/auth/login/code/'].post
$.paths['/api/v1/auth/logout/'].post
$.paths['/api/v1/auth/mfa/user-active-methods/'].get
$.paths['/api/v1/auth/oauth/github/'].post
$.paths['/api/v1/auth/oauth/google/'].post
$.paths['/api/v1/auth/oidc/token/'].post
$.paths['/api/v1/auth/saml/{name}/request/'].post
$.paths['/api/v1/auth/saml/{name}/response/'].post
$.paths['/api/v1/auth/saml/attribute-mapping/'].get
$.paths['/api/v1/auth/saml/attribute-mapping/'].post
$.paths['/api/v1/auth/saml/attribute-mapping/{id}/'].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 Authentication API
  version: 1.0.0
extends: openapi/flagsmith-authentication-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: 59
- target: $.paths['/api/v1/auth/{method}/activate/'].post
  update:
    x-apievangelist-phrasing:
      intent: Start enabling a two-factor method
      effect: write
      questions:
      - How do I begin turning on two-factor authentication for my account?
      - Can I start setting up an authenticator app as an MFA method?
      instructions:
      - text: Begin activating MFA method {method} on my account.
        slots:
          method: path.method
      - text: Start two-factor setup using the {method} method.
        slots:
          method: path.method
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/{method}/activate/confirm/'].post
  update:
    x-apievangelist-phrasing:
      intent: Confirm a two-factor method setup
      effect: write
      questions:
      - What is the final step to finish enabling two-factor authentication?
      - Once I've scanned the MFA code, how do I confirm it's working?
      instructions:
      - text: Confirm activation of MFA method {method}.
        slots:
          method: path.method
      - text: Finish two-factor setup for {method} with my verification code.
        slots:
          method: path.method
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/{method}/deactivate/'].post
  update:
    x-apievangelist-phrasing:
      intent: Turn off a two-factor method
      effect: destructive
      questions:
      - Can I disable two-factor authentication on my account?
      - What removes an MFA method I no longer use?
      instructions:
      - text: Deactivate MFA method {method} on my account.
        slots:
          method: path.method
      - text: Turn off two-factor via {method}.
        slots:
          method: path.method
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/login/'].post
  update:
    x-apievangelist-phrasing:
      intent: Log in with email and password
      effect: write
      questions:
      - How do I get an auth token by logging in with my email and password?
      - Is password login rate limited if I try too many times?
      instructions:
      - text: Log me in as {email} with password {password}.
        slots:
          email: requestBody.email
          password: requestBody.password
      - text: Sign in to Flagsmith with email {email} and password {password} to get a token.
        slots:
          email: requestBody.email
          password: requestBody.password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/login/code/'].post
  update:
    x-apievangelist-phrasing:
      intent: Complete login with a two-factor code
      effect: write
      questions:
      - After my password, where do I submit the second-factor login code?
      - Can I finish a login that requires an MFA code?
      instructions:
      - text: Complete the two-factor login for {email} with the code step.
        slots:
          email: requestBody.email
      - text: Submit the MFA login code step for {email} using password {password}.
        slots:
          email: requestBody.email
          password: requestBody.password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/logout/'].post
  update:
    x-apievangelist-phrasing:
      intent: Log out and remove my auth token
      effect: destructive
      questions:
      - How do I log out so my auth token stops working?
      - Does logging out invalidate the current session token?
      instructions:
      - text: Log me out of Flagsmith.
      - text: End my session by removing my authentication token through logout.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/mfa/user-active-methods/'].get
  update:
    x-apievangelist-phrasing:
      intent: List my active two-factor methods
      effect: read
      questions:
      - Which two-factor methods are currently switched on for my account?
      - Do I have MFA enabled right now?
      instructions:
      - text: Show my active MFA methods.
      - text: Check which two-factor methods are enabled on my account.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/oauth/github/'].post
  update:
    x-apievangelist-phrasing:
      intent: Sign in with GitHub
      effect: write
      questions:
      - Can I log in or sign up using my GitHub account?
      - What do I pass to exchange a GitHub access token for a Flagsmith session?
      instructions:
      - text: Sign me in with GitHub using access token {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Sign up through GitHub with token {access_token} and sign-up type {sign_up_type}.
        slots:
          access_token: requestBody.access_token
          sign_up_type: requestBody.sign_up_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/oauth/google/'].post
  update:
    x-apievangelist-phrasing:
      intent: Sign in with Google
      effect: write
      questions:
      - Can I log in or sign up using my Google account?
      - What do I pass to exchange a Google access token for a session?
      instructions:
      - text: Sign me in with Google using access token {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Sign up through Google with token {access_token}, marketing consent {marketing_consent_given}.
        slots:
          access_token: requestBody.access_token
          marketing_consent_given: requestBody.marketing_consent_given
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/oidc/token/'].post
  update:
    x-apievangelist-phrasing:
      intent: Exchange an OIDC token for an access token
      effect: write
      questions:
      - Can my CI pipeline swap its OIDC token for a short-lived access token?
      - How does workload identity federation from a trusted identity provider work here?
      instructions:
      - text: Exchange OIDC token {token} for a short-lived Flagsmith access token.
        slots:
          token: requestBody.token
      - text: Trade this identity provider token {token} for temporary API credentials.
        slots:
          token: requestBody.token
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/{name}/request/'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a SAML login request
      effect: write
      questions:
      - How do I kick off a SAML single sign-on login for my organisation's configuration?
      - Where does SP-initiated SAML login begin?
      instructions:
      - text: Start a SAML login request for configuration {name}.
        slots:
          name: path.name
      - text: Generate the SAML authentication request for SSO config {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/{name}/response/'].post
  update:
    x-apievangelist-phrasing:
      intent: Handle a SAML response from the identity provider
      effect: write
      questions:
      - Where should my identity provider post its SAML assertion?
      - What is the SAML assertion consumer endpoint for my configuration?
      instructions:
      - text: Process the SAML response for configuration {name}.
        slots:
          name: path.name
      - text: Consume the identity provider's SAML assertion for SSO config {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/attribute-mapping/'].get
  update:
    x-apievangelist-phrasing:
      intent: List SAML attribute mappings
      effect: read
      questions:
      - Which identity provider attributes are mapped to user fields for SAML?
      - Can I filter SAML attribute mappings to one SAML configuration?
      instructions:
      - text: List SAML attribute mappings for organisation {organisation}.
        slots:
          organisation: query.organisation
      - text: Show attribute mappings for SAML configuration {saml_configuration}.
        slots:
          saml_configuration: query.saml_configuration
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/attribute-mapping/'].post
  update:
    x-apievangelist-phrasing:
      intent: Map an identity provider attribute to a user field
      effect: write
      questions:
      - How do I map an IdP attribute such as email to a user field for SAML?
      - Can I add a new attribute mapping to my SAML setup?
      instructions:
      - text: Map IdP attribute {idp_attribute_name} to user field {django_attribute_name} in SAML configuration {saml_configuration}.
        slots:
          idp_attribute_name: requestBody.idp_attribute_name
          django_attribute_name: requestBody.django_attribute_name
          saml_configuration: requestBody.saml_configuration
      - text: Add a SAML mapping from {idp_attribute_name} to {django_attribute_name} for config {saml_configuration}.
        slots:
          idp_attribute_name: requestBody.idp_attribute_name
          django_attribute_name: requestBody.django_attribute_name
          saml_configuration: requestBody.saml_configuration
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/attribute-mapping/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a SAML attribute mapping
      effect: read
      questions:
      - What does a specific SAML attribute mapping point to?
      - Which user field is one SAML mapping filling in?
      instructions:
      - text: Get SAML attribute mapping {id}.
        slots:
          id: path.id
      - text: Show which IdP attribute mapping {id} reads from.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/attribute-mapping/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a SAML attribute mapping
      effect: write
      questions:
      - How do I fully redefine an existing SAML attribute mapping?
      - Can I replace both sides of a SAML mapping at once?
      instructions:
      - text: Replace SAML mapping {id} so {idp_attribute_name} maps to {django_attribute_name} in config {saml_configuration}.
        slots:
          id: path.id
          idp_attribute_name: requestBody.idp_attribute_name
          django_attribute_name: requestBody.django_attribute_name
          saml_configuration: requestBody.saml_configuration
      - text: 'Overwrite attribute mapping {id} entirely for SAML configuration {saml_configuration}: {idp_attribute_name} to {django_attribute_name}.'
        slots:
          id: path.id
          saml_configuration: requestBody.saml_configuration
          idp_attribute_name: requestBody.idp_attribute_name
          django_attribute_name: requestBody.django_attribute_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/attribute-mapping/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a SAML attribute mapping
      effect: destructive
      questions:
      - How do I remove a SAML attribute mapping I no longer need?
      - Can I stop an IdP attribute from being mapped to a user field?
      instructions:
      - text: Delete SAML attribute mapping {id}.
        slots:
          id: path.id
      - text: Remove attribute mapping {id} from the SAML setup.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/attribute-mapping/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change the IdP attribute on a SAML mapping
      effect: write
      questions:
      - Can I change only the identity provider attribute name on a SAML mapping?
      - What if my IdP renamed an attribute that a mapping uses?
      instructions:
      - text: Point SAML mapping {id} at IdP attribute {idp_attribute_name}.
        slots:
          id: path.id
          idp_attribute_name: requestBody.idp_attribute_name
      - text: Change the user field on attribute mapping {id} to {django_attribute_name}.
        slots:
          id: path.id
          django_attribute_name: requestBody.django_attribute_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/configuration/'].get
  update:
    x-apievangelist-phrasing:
      intent: List an organisation's SAML configurations
      effect: read
      questions:
      - Which SAML single sign-on configurations does my organisation have?
      - Is SAML SSO set up for a given organisation?
      instructions:
      - text: List SAML configurations for organisation {organisation}.
        slots:
          organisation: query.organisation
      - text: Show the SSO setups configured in organisation {organisation}.
        slots:
          organisation: query.organisation
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/configuration/'].post
  update:
    x-apievangelist-phrasing:
      intent: Set up SAML single sign-on
      effect: write
      questions:
      - How do I configure SAML SSO for my organisation?
      - Can I upload my identity provider's metadata XML when setting up SAML?
      - Is IdP-initiated login supported for SAML?
      instructions:
      - text: Create SAML configuration {name} for organisation {organisation} with frontend URL {frontend_url}.
        slots:
          name: requestBody.name
          organisation: requestBody.organisation
          frontend_url: requestBody.frontend_url
      - text: Set up SSO {name} for organisation {organisation} at {frontend_url} using IdP metadata {idp_metadata_xml}.
        slots:
          name: requestBody.name
          organisation: requestBody.organisation
          frontend_url: requestBody.frontend_url
          idp_metadata_xml: requestBody.idp_metadata_xml
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/configuration/{name}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a SAML configuration
      effect: read
      questions:
      - What settings does a particular SAML configuration have?
      - Does my SAML setup allow IdP-initiated login?
      instructions:
      - text: Get SAML configuration {name}.
        slots:
          name: path.name
      - text: Show the frontend URL and IdP settings for SSO config {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/configuration/{name}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a SAML configuration
      effect: write
      questions:
      - How do I fully replace an existing SAML SSO configuration?
      - Can I redo every setting on my SAML configuration at once?
      instructions:
      - text: Replace SAML configuration {name} for organisation {organisation} with frontend URL {frontend_url}.
        slots:
          name: path.name
          organisation: requestBody.organisation
          frontend_url: requestBody.frontend_url
      - text: Overwrite SSO config {name} in organisation {organisation}, frontend {frontend_url}, IdP metadata {idp_metadata_xml}.
        slots:
          name: path.name
          organisation: requestBody.organisation
          frontend_url: requestBody.frontend_url
          idp_metadata_xml: requestBody.idp_metadata_xml
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/configuration/{name}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a SAML configuration
      effect: destructive
      questions:
      - How do I turn off SAML SSO by deleting its configuration?
      - Can I remove an old SAML configuration?
      instructions:
      - text: Delete SAML configuration {name}.
        slots:
          name: path.name
      - text: Remove SSO config {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/configuration/{name}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update IdP metadata or settings on SAML config
      effect: write
      questions:
      - Can I upload new identity provider metadata to an existing SAML setup?
      - How do I switch IdP-initiated login on for my SAML configuration?
      instructions:
      - text: Update SAML configuration {name} with new IdP metadata {idp_metadata_xml}.
        slots:
          name: path.name
          idp_metadata_xml: requestBody.idp_metadata_xml
      - text: Set allow IdP-initiated login to {allow_idp_initiated} on SSO config {name}.
        slots:
          allow_idp_initiated: requestBody.allow_idp_initiated
          name: path.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/saml/login/'].post
  update:
    x-apievangelist-phrasing:
      intent: Log in with a SAML access token
      effect: write
      questions:
      - After SAML SSO, how do I turn the returned token into a session?
      - What completes a SAML login on the frontend?
      instructions:
      - text: Complete SAML login with access token {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Exchange SAML token {access_token} for a Flagsmith session.
        slots:
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/token/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke my authentication token
      effect: destructive
      questions:
      - Can I delete my current API auth token directly?
      - What revokes the token I'm authenticated with?
      instructions:
      - text: Revoke my current auth token.
      - text: Delete the authentication token I'm using right now.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/'].get
  update:
    x-apievangelist-phrasing:
      intent: List user accounts
      effect: read
      questions:
      - Which user accounts can I see through the auth users endpoint?
      - Can I page through registered users?
      instructions:
      - text: List user accounts.
      - text: Show page {page} of registered users.
        slots:
          page: query.page
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a new user account
      effect: write
      questions:
      - How do I sign up a new user with email and password?
      - Can I record marketing consent when registering someone?
      instructions:
      - text: Register user {first_name} {last_name} with email {email} and password {password}.
        slots:
          first_name: requestBody.first_name
          last_name: requestBody.last_name
          email: requestBody.email
          password: requestBody.password
      - text: Sign up {email} as {first_name} {last_name}, password {password}, marketing consent {marketing_consent_given}.
        slots:
          email: requestBody.email
          first_name: requestBody.first_name
          last_name: requestBody.last_name
          password: requestBody.password
          marketing_consent_given: requestBody.marketing_consent_given
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user account by ID
      effect: read
      questions:
      - What are the details of a specific user account?
      - Can I look up another user by their ID?
      instructions:
      - text: Get user account {id}.
        slots:
          id: path.id
      - text: Show the name and email of user {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a user's name details
      effect: write
      questions:
      - How do I fully update another user's first and last name?
      - Can I replace a user account's profile by ID?
      instructions:
      - text: Set user {id}'s name to {first_name} {last_name}.
        slots:
          id: path.id
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      - text: Replace the profile of user {id} with first name {first_name} and last name {last_name}.
        slots:
          id: path.id
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a user account
      effect: destructive
      questions:
      - How do I delete a user account by its ID?
      - Can I also delete organisations that would be left with no users?
      instructions:
      - text: Delete user account {id}, confirming with password {current_password}.
        slots:
          id: path.id
          current_password: query.current_password
      - text: Delete user {id} and orphaned organisations {delete_orphan_organisations}.
        slots:
          id: path.id
          delete_orphan_organisations: query.delete_orphan_organisations
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change one detail on a user account
      effect: write
      questions:
      - Can I change just the last name on another user's account?
      - What lets me patch a single field on a user by ID?
      instructions:
      - text: Change user {id}'s last name to {last_name}.
        slots:
          id: path.id
          last_name: requestBody.last_name
      - text: Update only the first name of user {id} to {first_name}.
        slots:
          id: path.id
          first_name: requestBody.first_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/activation/'].post
  update:
    x-apievangelist-phrasing:
      intent: Activate a new account from its email link
      effect: write
      questions:
      - What activates an account using the uid and token from the activation email?
      - My activation link has a uid and token — where do those go?
      instructions:
      - text: Activate the account with uid {uid} and token {token}.
        slots:
          uid: requestBody.uid
          token: requestBody.token
      - text: Confirm sign-up using activation uid {uid} and token {token}.
        slots:
          uid: requestBody.uid
          token: requestBody.token
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/me/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get my own user profile
      effect: read
      questions:
      - Who am I logged in as?
      - What does my own account profile look like, including when I joined?
      instructions:
      - text: Show my own user profile.
      - text: Tell me which account I'm authenticated as.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/me/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace my own profile details
      effect: write
      questions:
      - How do I update my own first and last name in one full replacement?
      - Can I reset my whole profile at once?
      instructions:
      - text: Replace my profile with first name {first_name} and last name {last_name}.
        slots:
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      - text: Rewrite my own account as {first_name} {last_name}.
        slots:
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/me/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete my own account
      effect: destructive
      questions:
      - How do I close and delete my own account?
      - Can I remove myself completely?
      instructions:
      - text: Delete my own account.
      - text: Close the account I'm logged in with permanently.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/me/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit one field of my own profile
      effect: write
      questions:
      - Can I change just my first name?
      - What updates my own email signature for support messages?
      instructions:
      - text: Change my first name to {first_name}.
        slots:
          first_name: requestBody.first_name
      - text: Set my support email signature to {pylon_email_signature}.
        slots:
          pylon_email_signature: requestBody.pylon_email_signature
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/me/onboarding/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update my onboarding details
      effect: write
      questions:
      - Where do I save my details during the onboarding flow?
      - Can onboarding record how I signed up?
      instructions:
      - text: Save my onboarding details with sign-up type {sign_up_type}.
        slots:
          sign_up_type: requestBody.sign_up_type
      - text: Update my onboarding profile as {first_name} {last_name}.
        slots:
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/resend_activation/'].post
  update:
    x-apievangelist-phrasing:
      intent: Resend the account activation email
      effect: write
      questions:
      - I never got my activation email — can it be sent again?
      - What resends the sign-up confirmation link?
      instructions:
      - text: Resend the activation email to {email}.
        slots:
          email: requestBody.email
      - text: Send {email} a fresh account activation link.
        slots:
          email: requestBody.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/reset_email/'].post
  update:
    x-apievangelist-phrasing:
      intent: Request an email address reset
      effect: write
      questions:
      - How do I start the process of resetting the email on an account?
      - Can I request an email-change link for an account?
      instructions:
      - text: Request an email reset for account {email}.
        slots:
          email: requestBody.email
      - text: Send an email-change link to {email}.
        slots:
          email: requestBody.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/reset_email_confirm/'].post
  update:
    x-apievangelist-phrasing:
      intent: Confirm a new email address after reset
      effect: write
      questions:
      - What finishes an email reset by setting the new address?
      - Once I have the reset link, where do I submit my new email?
      instructions:
      - text: Confirm the email reset with new address {new_email}.
        slots:
          new_email: requestBody.new_email
      - text: Complete the email change to {new_email}.
        slots:
          new_email: requestBody.new_email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/reset_password/'].post
  update:
    x-apievangelist-phrasing:
      intent: Request a password reset email
      effect: write
      questions:
      - I forgot my password — how do I get a reset email?
      - Can I trigger a password reset link for an account?
      instructions:
      - text: Send a password reset email to {email}.
        slots:
          email: requestBody.email
      - text: Start a forgotten-password reset for {email}.
        slots:
          email: requestBody.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/reset_password_confirm/'].post
  update:
    x-apievangelist-phrasing:
      intent: Set a new password from a reset link
      effect: write
      questions:
      - What sets my new password using the uid and token from the reset email?
      - Do I have to enter the new password twice when resetting it?
      instructions:
      - text: Reset the password with uid {uid} and token {token} to {new_password}, confirmed as {re_new_password}.
        slots:
          uid: requestBody.uid
          token: requestBody.token
          new_password: requestBody.new_password
          re_new_password: requestBody.re_new_password
      - text: Finish the password reset for uid {uid}, token {token}, new password {new_password} repeated {re_new_password}.
        slots:
          uid: requestBody.uid
          token: requestBody.token
          new_password: requestBody.new_password
          re_new_password: requestBody.re_new_password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/set_email/'].post
  update:
    x-apievangelist-phrasing:
      intent: Change my email while logged in
      effect: write
      questions:
      - How do I change my login email if I know my current password?
      - Does changing my email require my current password?
      instructions:
      - text: Change my email to {new_email} using my current password {current_password}.
        slots:
          new_email: requestBody.new_email
          current_password: requestBody.current_password
      - text: Set my account email to {new_email}, verifying with {current_password}.
        slots:
          new_email: requestBody.new_email
          current_password: requestBody.current_password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/auth/users/set_password/'].post
  update:
    x-apievangelist-phrasing:
      intent: Change my password while logged in
      effect: write
      questions:
      - Can I change my password when I still know the old one?
      - What changes my password without going through a reset email?
      instructions:
      - text: Change my password from {current_password} to {new_password}, confirmed {re_new_password}.
        slots:
          current_password: requestBody.current_password
          new_password: requestBody.new_password
          re_new_password: requestBody.re_new_password
      - text: Update my password to {new_password} (repeat {re_new_password}) using current password {current_password}.
        slots:
          new_password: requestBody.new_password
          re_new_password: requestBody.re_new_password
          current_password: requestBody.current_password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/organisations/{organisation_pk}/groups/{group_pk}/users/{user_pk}/make-admin'].post
  update:
    x-apievangelist-phrasing:
      intent: Make a user a group admin
      effect: write
      questions:
      - How do I give someone admin rights over a user group?
      - Can a group member be promoted to group admin?
      instructions:
      - text: Make user {user_pk} an admin of group {group_pk} in organisation {organisation_pk}.
        slots:
          user_pk: path.user_pk
          group_pk: path.group_pk
          organisation_pk: path.organisation_pk
      - text: Promote {user_pk} to group admin on group {group_pk} in {organisation_pk}.
        slots:
          user_pk: path.user_pk
          group_pk: path.group_pk
          organisation_pk: path.organisation_pk
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/overlays/flagsmith-authentication-api-phrasing-overlay.yaml

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-authentication-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.