Drippay · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Drip Customers API
18 actions
18 updates
phrasing
extends
openapi/drippay-customers-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Drippay's API. It is a proposal applied on top of the contract, not a document Drippay publishes.
What the actions change
x-apievangelist-phrasing
Targets 18 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/customers'].get
$.paths['/v1/customers'].post
$.paths['/v1/customers/{id}'].get
$.paths['/v1/customers/{id}'].patch
$.paths['/v1/customers/{id}/billing-history'].get
$.paths['/v1/customers/{id}/revops-summary'].get
$.paths['/v1/customers/{id}/sync-balance'].post
$.paths['/v1/customers/{id}/provision'].post
$.paths['/v1/customers/{id}/spending-cap'].put
$.paths['/v1/customers/{id}/spending-caps'].get
$.paths['/v1/customers/{id}/spending-caps/{capId}'].delete
$.paths['/v1/customers/{id}/attach-plan'].post
$.paths['/v1/customers/{id}/sync-stripe-customer'].post
$.paths['/v1/customers/{id}/hierarchy'].get
$.paths['/v1/customers/{id}/rollup'].get
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 Drip Customers API
version: 1.0.0
extends: openapi/drippay-customers-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: 17
- target: $.paths['/v1/customers'].get
update:
x-apievangelist-phrasing:
intent: List customers
effect: read
questions:
- How do I list all the customers on my Drip business account?
- Can I filter my customer list down to only internal test customers?
- Which of my customers have a particular on-chain wallet address attached?
instructions:
- text: List my newest customers.
- text: List customers with status {status}, {limit} at a time.
slots:
status: query.status
limit: query.limit
- text: Find the customer whose on-chain address is {onchainAddress}.
slots:
onchainAddress: query.onchainAddress
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers'].post
update:
x-apievangelist-phrasing:
intent: Create a customer
effect: write
questions:
- What's the minimum I need to send to register a new billing customer?
- Can I create a customer using my own user ID and add a wallet address later?
instructions:
- text: Create a customer for my user {externalCustomerId}.
slots:
externalCustomerId: requestBody.externalCustomerId
- text: Add a new customer {externalCustomerId} with email {email}.
slots:
externalCustomerId: requestBody.externalCustomerId
email: requestBody.email
- text: Create an internal, non-billed customer {externalCustomerId}.
slots:
externalCustomerId: requestBody.externalCustomerId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a customer
effect: read
questions:
- Can I look up a single customer's record by their Drip ID?
- What details are stored on one specific customer?
instructions:
- text: Show me customer {id}.
slots:
id: path.id
- text: Fetch the customer record for {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a customer
effect: write
questions:
- Can I change the details on an existing customer?
- How do I edit a customer record after it has been created?
instructions:
- text: Update customer {id}.
slots:
id: path.id
- text: Edit the details saved on customer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/billing-history'].get
update:
x-apievangelist-phrasing:
intent: View a customer's billing-field change history
effect: read
questions:
- Can I see every past version of a customer's billing name and email?
- When did a customer's billing email change, and what was it before?
instructions:
- text: Show the billing-field history for customer {id}.
slots:
id: path.id
- text: List every name and email snapshot recorded for customer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/revops-summary'].get
update:
x-apievangelist-phrasing:
intent: Get a customer's RevOps summary
effect: read
questions:
- What is a customer's lifetime revenue and gross margin?
- Which reputation band is a customer in, and what's their success rate?
instructions:
- text: Give me the RevOps summary for customer {id}.
slots:
id: path.id
- text: Show lifetime revenue, cost and top unit types for customer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/sync-balance'].post
update:
x-apievangelist-phrasing:
intent: Refresh a customer's on-chain balance
effect: write
questions:
- A customer just deposited funds on-chain — how do I get the new balance picked up right away?
- Can I force a fresh balance read from the chain before I charge someone?
instructions:
- text: Sync the on-chain balance for customer {id} now.
slots:
id: path.id
- text: Pull the latest on-chain balance into the snapshot for {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/provision'].post
update:
x-apievangelist-phrasing:
intent: Provision a customer's smart account
effect: write
questions:
- How do I deploy an ERC-4337 smart account for a customer?
- Does provisioning a smart account on testnet mint test USDC automatically?
instructions:
- text: Provision a smart account for customer {id}.
slots:
id: path.id
- text: Deploy a smart account for {id} and deposit {deposit_amount_usdc} USDC into billing.
slots:
id: path.id
deposit_amount_usdc: requestBody.deposit_amount_usdc
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/spending-cap'].put
update:
x-apievangelist-phrasing:
intent: Set a customer spending cap
effect: write
questions:
- Can I limit how much a single customer can be charged per day or per month?
- What happens to charges once a customer hits their spending cap?
instructions:
- text: Set a {capType} cap of {limitValue} on customer {id}.
slots:
capType: requestBody.capType
limitValue: requestBody.limitValue
id: path.id
- text: Cap customer {id} at {limitValue} as a {capType} limit with auto-block set to {autoBlock}.
slots:
id: path.id
limitValue: requestBody.limitValue
capType: requestBody.capType
autoBlock: requestBody.autoBlock
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/spending-caps'].get
update:
x-apievangelist-phrasing:
intent: List a customer's spending caps
effect: read
questions:
- Which spending caps are active on a customer and how close are they to each limit?
- What alert level has a customer's spending cap last triggered?
instructions:
- text: List the spending caps on customer {id}.
slots:
id: path.id
- text: Show current usage against each spending cap for {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/spending-caps/{capId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a customer spending cap
effect: destructive
questions:
- How do I lift a spending cap I put on a customer?
- Can I deactivate just one of a customer's spending caps?
instructions:
- text: Remove spending cap {capId} from customer {id}.
slots:
capId: path.capId
id: path.id
- text: Deactivate cap {capId} for {id}.
slots:
capId: path.capId
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/attach-plan'].post
update:
x-apievangelist-phrasing:
intent: Attach a Drip-managed plan to a customer
effect: write
questions:
- How do I put a customer on a Drip-managed plan so a Stripe subscription gets created?
- Does a plan need to be provisioned on Stripe before I can attach it to a customer?
instructions:
- text: Attach plan {planId} to customer {id}.
slots:
planId: requestBody.planId
id: path.id
- text: Subscribe customer {id} to plan {planId} on Stripe, billing {customerEmailOverride}.
slots:
id: path.id
planId: requestBody.planId
customerEmailOverride: requestBody.customerEmailOverride
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/sync-stripe-customer'].post
update:
x-apievangelist-phrasing:
intent: Link a customer to a Stripe customer
effect: write
questions:
- How do I create a matching Stripe customer for one of my Drip customers?
- Is it safe to call the Stripe customer sync twice for the same customer?
instructions:
- text: Create and link a Stripe customer for {id}.
slots:
id: path.id
- text: Sync customer {id} to Stripe using integration {integrationId} and email {emailOverride}.
slots:
id: path.id
integrationId: requestBody.integrationId
emailOverride: requestBody.emailOverride
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/hierarchy'].get
update:
x-apievangelist-phrasing:
intent: Get a customer's parent and child hierarchy
effect: read
questions:
- Which parent account does a customer sit under, and who are its sub-customers?
- Can I see the full account tree above and below a customer?
instructions:
- text: Show the account hierarchy for customer {id}.
slots:
id: path.id
- text: List the ancestors and descendants of {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/rollup'].get
update:
x-apievangelist-phrasing:
intent: Get roll-up totals for a customer and its children
effect: read
questions:
- What are the combined invoice totals for a parent account including all its sub-customers?
- Can I see usage rolled up across a customer's whole account tree?
instructions:
- text: Give me the roll-up stats for customer {id} and its descendants.
slots:
id: path.id
- text: Total invoices and usage across the account tree under {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/touches'].get
update:
x-apievangelist-phrasing:
intent: List recent touches for a customer
effect: read
questions:
- What are the latest touches the CLI pushed for a customer?
- Can I pull more than ten recent touches for one customer?
instructions:
- text: Show the recent touches for customer {id}.
slots:
id: path.id
- text: List the last {limit} touches for {id}.
slots:
limit: query.limit
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customers/{id}/balance'].get
update:
x-apievangelist-phrasing:
intent: Get a customer's cached balance
effect: read
questions:
- How much balance does a customer have right now?
- Is the customer balance I read real-time or a cached snapshot?
instructions:
- text: Check the current balance of customer {id}.
slots:
id: path.id
- text: Show the last cached balance for {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'