Stripe · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Stripe Plans API

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

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/v1/plans'].get
$.paths['/v1/plans'].post
$.paths['/v1/plans/{plan}'].get
$.paths['/v1/plans/{plan}'].post
$.paths['/v1/plans/{plan}'].delete

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 Stripe Plans API
  version: 1.0.0
extends: openapi/stripe-plans-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: 5
- target: $.paths['/v1/plans'].get
  update:
    x-apievangelist-phrasing:
      intent: List subscription plans
      effect: read
      questions:
      - How do I see all the subscription plans I've set up?
      - Can I list only active plans, or the plans for one product?
      instructions:
      - text: List my subscription plans.
      - text: List plans for product {product}.
        slots:
          product: query.product
      - text: List plans where active is {active}.
        slots:
          active: query.active
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/plans'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a subscription plan
      effect: write
      questions:
      - How do I create a monthly or yearly plan to bill subscribers?
      - Can a plan include a free trial period or tiered, usage-based pricing?
      - How do I create a new recurring billing plan?
      instructions:
      - text: Create a plan charging {amount} {currency} every {interval} for product {product}.
        slots:
          amount: requestBody.amount
          currency: requestBody.currency
          interval: requestBody.interval
          product: requestBody.product
      - text: Create a {interval} plan in {currency} with a {trial_period_days}-day free trial.
        slots:
          interval: requestBody.interval
          currency: requestBody.currency
          trial_period_days: requestBody.trial_period_days
      - text: Create a metered {interval} plan in {currency} with usage type {usage_type}.
        slots:
          interval: requestBody.interval
          currency: requestBody.currency
          usage_type: requestBody.usage_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/plans/{plan}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a subscription plan
      effect: read
      questions:
      - How do I check the price and billing interval of one plan?
      - What trial period is set on a particular plan?
      instructions:
      - text: Get plan {plan}.
        slots:
          plan: path.plan
      - text: Show me the amount and interval of plan {plan}.
        slots:
          plan: path.plan
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/plans/{plan}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a subscription plan
      effect: write
      questions:
      - Can I change a plan's price or billing cycle after creating it?
      - How do I rename a plan or change its trial length?
      instructions:
      - text: Rename plan {plan} to {nickname}.
        slots:
          plan: path.plan
          nickname: requestBody.nickname
      - text: Set the trial on plan {plan} to {trial_period_days} days.
        slots:
          plan: path.plan
          trial_period_days: requestBody.trial_period_days
      - text: Set plan {plan} active to {active}.
        slots:
          plan: path.plan
          active: requestBody.active
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/plans/{plan}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a subscription plan
      effect: destructive
      questions:
      - How do I stop new customers from signing up to an old plan?
      - What happens to existing subscribers when I delete a plan?
      instructions:
      - text: Delete plan {plan}.
        slots:
          plan: path.plan
      - text: Delete plan {plan} so no new subscribers can join.
        slots:
          plan: path.plan
      method: generated
      generated: '2026-09-26'