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.
View Overlay File View on GitHub Overlay Specification

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

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