Stripe · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Stripe Subscription Subscriptions API
9 actions
9 updates
phrasing
extends
openapi/stripe-subscriptions-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.
What the actions change
x-apievangelist-phrasing
Targets 9
$.info
$.paths['/v1/subscriptions'].get
$.paths['/v1/subscriptions'].post
$.paths['/v1/subscriptions/search'].get
$.paths['/v1/subscriptions/{subscription_exposed_id}'].get
$.paths['/v1/subscriptions/{subscription_exposed_id}'].post
$.paths['/v1/subscriptions/{subscription_exposed_id}'].delete
$.paths['/v1/subscriptions/{subscription_exposed_id}/discount'].delete
$.paths['/v1/subscriptions/{subscription}/resume'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Stripe Subscription Subscriptions API
version: 1.0.0
extends: openapi/stripe-subscriptions-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: 8
- target: $.paths['/v1/subscriptions'].get
update:
x-apievangelist-phrasing:
intent: List subscriptions
effect: read
questions:
- How do I see all active subscriptions for a customer?
- Can I list canceled or past-due subscriptions?
- Which subscriptions renew in the next billing period?
instructions:
- text: List subscriptions for customer {customer}.
slots:
customer: query.customer
- text: Show subscriptions with status {status}.
slots:
status: query.status
- text: List subscriptions on price {price}.
slots:
price: query.price
- text: List subscriptions whose current period ends in {current_period_end}.
slots:
current_period_end: query.current_period_end
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/subscriptions'].post
update:
x-apievangelist-phrasing:
intent: Start a subscription for a customer
effect: write
questions:
- How do I sign a customer up for a recurring plan?
- Can I start a subscription with a free trial?
- How many subscriptions can one customer have?
instructions:
- text: Subscribe customer {customer} to {items}.
slots:
customer: requestBody.customer
items: requestBody.items
- text: Start {customer} on {items} with a {trial_period_days}-day trial.
slots:
customer: requestBody.customer
items: requestBody.items
trial_period_days: requestBody.trial_period_days
- text: Subscribe {customer} to {items} using promotion code {promotion_code}.
slots:
customer: requestBody.customer
items: requestBody.items
promotion_code: requestBody.promotion_code
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/subscriptions/search'].get
update:
x-apievangelist-phrasing:
intent: Search subscriptions
effect: read
questions:
- How do I find subscriptions matching a status or metadata value?
- Is subscription search up to date right after I make a change?
instructions:
- text: Search subscriptions for {query}.
slots:
query: query.query
- text: Find up to {limit} subscriptions matching {query}.
slots:
limit: query.limit
query: query.query
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/subscriptions/{subscription_exposed_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a subscription
effect: read
questions:
- How do I check a subscription's status and next renewal?
- What items and prices are on this subscription?
instructions:
- text: Show subscription {subscription_exposed_id}.
slots:
subscription_exposed_id: path.subscription_exposed_id
- text: Check when subscription {subscription_exposed_id} renews.
slots:
subscription_exposed_id: path.subscription_exposed_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/subscriptions/{subscription_exposed_id}'].post
update:
x-apievangelist-phrasing:
intent: Change a subscription
effect: write
questions:
- How do I upgrade or downgrade a customer's subscription?
- Can I cancel at the end of the billing period instead of right away?
- Can I pause payment collection on a subscription?
instructions:
- text: Change subscription {subscription_exposed_id} to items {items}.
slots:
subscription_exposed_id: path.subscription_exposed_id
items: requestBody.items
- text: 'Cancel subscription {subscription_exposed_id} at period end: {cancel_at_period_end}.'
slots:
subscription_exposed_id: path.subscription_exposed_id
cancel_at_period_end: requestBody.cancel_at_period_end
- text: Pause collection on subscription {subscription_exposed_id} with {pause_collection}.
slots:
subscription_exposed_id: path.subscription_exposed_id
pause_collection: requestBody.pause_collection
- text: Apply coupon {coupon} to subscription {subscription_exposed_id}.
slots:
coupon: requestBody.coupon
subscription_exposed_id: path.subscription_exposed_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/subscriptions/{subscription_exposed_id}'].delete
update:
x-apievangelist-phrasing:
intent: Cancel a subscription now
effect: destructive
questions:
- How do I cancel a customer's subscription immediately?
- Can I invoice outstanding usage when I cancel a subscription?
- Will the customer be charged again after cancellation?
instructions:
- text: Cancel subscription {subscription_exposed_id} immediately.
slots:
subscription_exposed_id: path.subscription_exposed_id
- text: 'Cancel subscription {subscription_exposed_id} and invoice now: {invoice_now}.'
slots:
subscription_exposed_id: path.subscription_exposed_id
invoice_now: requestBody.invoice_now
- text: Cancel subscription {subscription_exposed_id} with prorate {prorate}.
slots:
subscription_exposed_id: path.subscription_exposed_id
prorate: requestBody.prorate
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/subscriptions/{subscription_exposed_id}/discount'].delete
update:
x-apievangelist-phrasing:
intent: Remove a subscription's discount
effect: destructive
questions:
- How do I take a discount off a subscription?
- Can I end a coupon early on a customer's plan?
instructions:
- text: Remove the discount from subscription {subscription_exposed_id}.
slots:
subscription_exposed_id: path.subscription_exposed_id
- text: Stop the coupon on subscription {subscription_exposed_id}.
slots:
subscription_exposed_id: path.subscription_exposed_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/subscriptions/{subscription}/resume'].post
update:
x-apievangelist-phrasing:
intent: Resume a paused subscription
effect: write
questions:
- How do I restart a subscription that's paused?
- Can I reset the billing cycle when resuming a subscription?
instructions:
- text: Resume subscription {subscription}.
slots:
subscription: path.subscription
- text: Resume subscription {subscription} with billing cycle anchor {billing_cycle_anchor}.
slots:
subscription: path.subscription
billing_cycle_anchor: requestBody.billing_cycle_anchor
- text: Resume subscription {subscription} using proration {proration_behavior}.
slots:
subscription: path.subscription
proration_behavior: requestBody.proration_behavior
method: generated
generated: '2026-09-26'