# 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'