Stripe · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Stripe Invoice Invoices API
16 actions
16 updates
phrasing
extends
openapi/stripe-invoices-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 16
$.info
$.paths['/v1/invoices'].get
$.paths['/v1/invoices'].post
$.paths['/v1/invoices/search'].get
$.paths['/v1/invoices/upcoming'].get
$.paths['/v1/invoices/upcoming/lines'].get
$.paths['/v1/invoices/{invoice}'].get
$.paths['/v1/invoices/{invoice}'].post
$.paths['/v1/invoices/{invoice}'].delete
$.paths['/v1/invoices/{invoice}/finalize'].post
$.paths['/v1/invoices/{invoice}/lines'].get
$.paths['/v1/invoices/{invoice}/lines/{line_item_id}'].post
$.paths['/v1/invoices/{invoice}/mark_uncollectible'].post
$.paths['/v1/invoices/{invoice}/pay'].post
$.paths['/v1/invoices/{invoice}/send'].post
$.paths['/v1/invoices/{invoice}/void'].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 Invoice Invoices API
version: 1.0.0
extends: openapi/stripe-invoices-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: 15
- target: $.paths['/v1/invoices'].get
update:
x-apievangelist-phrasing:
intent: List invoices
effect: read
questions:
- How do I list all the invoices I've issued?
- Can I see only the unpaid or open invoices for one customer?
- Can I filter invoices by due date or by subscription?
instructions:
- text: List my most recent invoices.
- text: List invoices for customer {customer} with status {status}.
slots:
customer: query.customer
status: query.status
- text: Show invoices generated by subscription {subscription}.
slots:
subscription: query.subscription
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices'].post
update:
x-apievangelist-phrasing:
intent: Create a draft invoice
effect: write
questions:
- How do I create an invoice for a customer?
- Can I send an invoice for manual payment instead of charging the card automatically?
- Can I set a due date on a new invoice?
instructions:
- text: Create a draft invoice for customer {customer}.
slots:
customer: requestBody.customer
- text: Draft an invoice for customer {customer} due in {days_until_due} days, sent for manual payment.
slots:
customer: requestBody.customer
days_until_due: requestBody.days_until_due
- text: Create an invoice for customer {customer} with the memo {description}.
slots:
customer: requestBody.customer
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/search'].get
update:
x-apievangelist-phrasing:
intent: Search invoices with a query
effect: read
questions:
- How do I search invoices by amount, status or metadata?
- Is invoice search up to date immediately after I create an invoice?
instructions:
- text: Search invoices matching {query}.
slots:
query: query.query
- text: Find invoices where {query}, returning at most {limit}.
slots:
query: query.query
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/upcoming'].get
update:
x-apievangelist-phrasing:
intent: Preview a customer's upcoming invoice
effect: read
questions:
- How do I preview what a customer will be billed on their next invoice?
- Can I see the prorated cost of a plan change before I make it?
- Can I preview the next invoice with a coupon applied?
instructions:
- text: Preview the upcoming invoice for customer {customer}.
slots:
customer: query.customer
- text: Show the next invoice for subscription {subscription} if it switched to items {subscription_items}.
slots:
subscription: query.subscription
subscription_items: query.subscription_items
- text: Preview customer {customer}'s upcoming invoice with coupon {coupon} applied.
slots:
customer: query.customer
coupon: query.coupon
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/upcoming/lines'].get
update:
x-apievangelist-phrasing:
intent: List line items on an upcoming invoice
effect: read
questions:
- How do I page through every line item on a customer's next invoice?
- What if the upcoming invoice has more line items than the preview shows?
instructions:
- text: List the line items on customer {customer}'s upcoming invoice.
slots:
customer: query.customer
- text: Show the next {limit} upcoming invoice lines for subscription {subscription}.
slots:
limit: query.limit
subscription: query.subscription
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve an invoice
effect: read
questions:
- How do I look up a single invoice?
- Where do I check whether a specific invoice has been paid?
instructions:
- text: Get invoice {invoice}.
slots:
invoice: path.invoice
- text: Show me the status and totals of invoice {invoice}.
slots:
invoice: path.invoice
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}'].post
update:
x-apievangelist-phrasing:
intent: Edit an invoice
effect: write
questions:
- How do I change an invoice before it's finalized?
- What can I still edit on an invoice after it's finalized?
- Can I add a footer or custom memo to an invoice?
instructions:
- text: Change the due date of invoice {invoice} to {due_date}.
slots:
invoice: path.invoice
due_date: requestBody.due_date
- text: Set the memo on invoice {invoice} to {description}.
slots:
invoice: path.invoice
description: requestBody.description
- text: Add the footer {footer} to invoice {invoice}.
slots:
footer: requestBody.footer
invoice: path.invoice
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a draft invoice
effect: destructive
questions:
- How do I throw away a draft invoice I don't need?
- Can I delete an invoice that's already been finalized?
instructions:
- text: Delete draft invoice {invoice}.
slots:
invoice: path.invoice
- text: Discard the unfinalized invoice {invoice} permanently.
slots:
invoice: path.invoice
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}/finalize'].post
update:
x-apievangelist-phrasing:
intent: Finalize a draft invoice
effect: write
questions:
- How do I finalize a draft invoice manually?
- Can I finalize an invoice without it being collected automatically?
instructions:
- text: Finalize invoice {invoice}.
slots:
invoice: path.invoice
- text: Finalize draft {invoice} with automatic collection set to {auto_advance}.
slots:
invoice: path.invoice
auto_advance: requestBody.auto_advance
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}/lines'].get
update:
x-apievangelist-phrasing:
intent: List an invoice's line items
effect: read
questions:
- How do I get every line item on an invoice?
- What if an invoice has more line items than are returned with it?
instructions:
- text: List the line items on invoice {invoice}.
slots:
invoice: path.invoice
- text: Show {limit} line items from invoice {invoice}.
slots:
limit: query.limit
invoice: path.invoice
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}/lines/{line_item_id}'].post
update:
x-apievangelist-phrasing:
intent: Update a line item on an invoice
effect: write
questions:
- How do I change the quantity or price of one line on an invoice?
- Can I set tax amounts directly on an invoice line item?
instructions:
- text: Set the quantity of line {line_item_id} on invoice {invoice} to {quantity}.
slots:
line_item_id: path.line_item_id
invoice: path.invoice
quantity: requestBody.quantity
- text: Change the description of line {line_item_id} on invoice {invoice} to {description}.
slots:
line_item_id: path.line_item_id
invoice: path.invoice
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}/mark_uncollectible'].post
update:
x-apievangelist-phrasing:
intent: Write off an invoice as uncollectible
effect: write
questions:
- How do I write off an invoice a customer is never going to pay?
- Can I track bad debt by marking invoices uncollectible?
instructions:
- text: Mark invoice {invoice} as uncollectible.
slots:
invoice: path.invoice
- text: Write off invoice {invoice} as bad debt.
slots:
invoice: path.invoice
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}/pay'].post
update:
x-apievangelist-phrasing:
intent: Collect payment on an invoice
effect: write
questions:
- How do I charge an invoice right now instead of waiting for automatic collection?
- Can I mark an invoice as paid if the customer paid outside the platform?
- Can I pay an invoice with a different payment method than the default?
instructions:
- text: Pay invoice {invoice} now.
slots:
invoice: path.invoice
- text: Pay invoice {invoice} using payment method {payment_method}.
slots:
invoice: path.invoice
payment_method: requestBody.payment_method
- text: 'Mark invoice {invoice} as paid out of band: {paid_out_of_band}.'
slots:
invoice: path.invoice
paid_out_of_band: requestBody.paid_out_of_band
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}/send'].post
update:
x-apievangelist-phrasing:
intent: Email an invoice to the customer
effect: write
questions:
- How do I manually send an invoice to a customer?
- Can I resend an invoice email outside the normal subscription schedule?
instructions:
- text: Send invoice {invoice} to the customer.
slots:
invoice: path.invoice
- text: Email invoice {invoice} for manual payment now.
slots:
invoice: path.invoice
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/invoices/{invoice}/void'].post
update:
x-apievangelist-phrasing:
intent: Void a finalized invoice
effect: destructive
questions:
- How do I cancel an invoice that's already finalized?
- What's the difference between voiding and deleting an invoice?
instructions:
- text: Void invoice {invoice}.
slots:
invoice: path.invoice
- text: Cancel finalized invoice {invoice} by voiding it.
slots:
invoice: path.invoice
method: generated
generated: '2026-09-26'