Triple Whale · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Triple Whale Data In API

11 actions 11 updates phrasing extends openapi/triple-whale-data-in-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Triple Whale's API. It is a proposal applied on top of the contract, not a document Triple Whale publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/data-in/ads'].post
$.paths['/data-in/orders'].post
$.paths['/data-in/bulk-orders'].post
$.paths['/data-in/subscriptions'].post
$.paths['/data-in/products'].post
$.paths['/data-in/pps'].post
$.paths['/data-in/customers'].post
$.paths['/data-in/orders-enrichment'].post
$.paths['/data-in/products-enrichment'].post
$.paths['/data-in/event'].post

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 Triple Whale Data In API
  version: 1.0.0
extends: openapi/triple-whale-data-in-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 10
- target: $.paths['/data-in/ads'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload ad performance data
      effect: write
      questions:
      - How do I send ad spend and performance from an unsupported ad platform into Triple Whale?
      - Can I upload campaign, ad set and ad level metrics for a single day?
      - What channel ID should I use when importing ads from a custom channel?
      instructions:
      - text: Upload ad metrics for {shop} on channel {channel} for {event_date} in {currency}.
        slots:
          shop: requestBody.shop
          channel: requestBody.channel
          event_date: requestBody.event_date
          currency: requestBody.currency
      - text: Record campaign {campaign} performance {metrics} from {channel} on {event_date} for {shop} in {currency}.
        slots:
          campaign: requestBody.campaign
          metrics: requestBody.metrics
          channel: requestBody.channel
          event_date: requestBody.event_date
          shop: requestBody.shop
          currency: requestBody.currency
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/orders'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload one order from a custom sales platform
      effect: write
      questions:
      - How do I push a single order from my custom storefront into Triple Whale?
      - Can I void an order I sent earlier so it and its refunds drop out of reporting?
      - What customer details are required when sending an order?
      instructions:
      - text: Send order {order_id} for {shop} placed at {created_at} with revenue {order_revenue} {currency} by customer {customer}.
        slots:
          order_id: requestBody.order_id
          shop: requestBody.shop
          created_at: requestBody.created_at
          order_revenue: requestBody.order_revenue
          currency: requestBody.currency
          customer: requestBody.customer
      - text: Resend order {order_id} for {shop} with void set to {void} to soft delete it.
        slots:
          order_id: requestBody.order_id
          shop: requestBody.shop
          void: requestBody.void
      - text: Upload order {order_id} with line items {line_items} and refunds {refunds}.
        slots:
          order_id: requestBody.order_id
          line_items: requestBody.line_items
          refunds: requestBody.refunds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/bulk-orders'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a batch of orders at once
      effect: write
      questions:
      - How can I backfill thousands of historical orders from a custom platform in batches?
      - What is the maximum number of orders I can send in one bulk request?
      - Is there a faster way than sending orders one at a time?
      instructions:
      - text: Bulk upload these orders {orders} for shop {shop}.
        slots:
          orders: requestBody.orders
          shop: requestBody.shop
      - text: Import up to 1000 orders in one batch from {orders} into {shop}.
        slots:
          orders: requestBody.orders
          shop: requestBody.shop
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/subscriptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a customer subscription
      effect: write
      questions:
      - How do I send subscription data from my subscription app into Triple Whale?
      - Can I record why a subscriber canceled and when it ended?
      - Which statuses can a subscription record have, like active or canceled?
      instructions:
      - text: Record subscription {subscription_id} for {shop} with status {status}, items {subscription_items}, customer {customer}, created {created_at} in {currency}.
        slots:
          subscription_id: requestBody.subscription_id
          shop: requestBody.shop
          status: requestBody.status
          subscription_items: requestBody.subscription_items
          customer: requestBody.customer
          created_at: requestBody.created_at
          currency: requestBody.currency
      - text: Mark subscription {subscription_id} canceled at {canceled_at} with reason {cancellation_reason}.
        slots:
          subscription_id: requestBody.subscription_id
          canceled_at: requestBody.canceled_at
          cancellation_reason: requestBody.cancellation_reason
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/products'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a product and its variants
      effect: write
      questions:
      - How do I add products from a custom sales platform to Triple Whale's catalog?
      - Do I need to include variants when a product has only one version?
      - Can product collections, tags and images be included in the upload?
      instructions:
      - text: Create product {product_id} titled {product_title} with variants {variants} for {shop}.
        slots:
          product_id: requestBody.product_id
          product_title: requestBody.product_title
          variants: requestBody.variants
          shop: requestBody.shop
      - text: Upload product {product_title} from vendor {vendor} with status {product_status}.
        slots:
          product_title: requestBody.product_title
          vendor: requestBody.vendor
          product_status: requestBody.product_status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/pps'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a post-purchase survey response
      effect: write
      questions:
      - How do I import post-purchase survey answers from my survey tool?
      - Can survey responses count toward Total Impact attribution?
      - What happens if I leave out the survey question ID?
      instructions:
      - text: Record the survey answer {response} to {question_text} for order {order_id} in {shop}.
        slots:
          response: requestBody.response
          question_text: requestBody.question_text
          order_id: requestBody.order_id
          shop: requestBody.shop
      - text: Upload a post-purchase survey response for order {order_id} attributed to source {source} and include it in attribution.
        slots:
          order_id: requestBody.order_id
          source: requestBody.source
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/customers'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a customer profile
      effect: write
      questions:
      - How do I send customer profiles with marketing consent into Triple Whale?
      - Can I include a customer's lifetime spend and order count?
      - Which address and SMS consent fields can a customer record carry?
      instructions:
      - text: Create customer {customer_id} with email {email_address} for shop {shop}.
        slots:
          customer_id: requestBody.customer_id
          email_address: requestBody.email_address
          shop: requestBody.shop
      - text: Upload customer {customer_id} with email consent status {email_marketing_consent_status}.
        slots:
          customer_id: requestBody.customer_id
          email_marketing_consent_status: requestBody.email_marketing_consent_status
      - text: Record that customer {customer_id} has placed {number_of_orders} orders spending {amount_spent}.
        slots:
          customer_id: requestBody.customer_id
          number_of_orders: requestBody.number_of_orders
          amount_spent: requestBody.amount_spent
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/orders-enrichment'].post
  update:
    x-apievangelist-phrasing:
      intent: Add costs or tags to an existing Shopify-style order
      effect: write
      questions:
      - How do I add shipping costs to orders that already came in from Shopify?
      - Can I exclude a test order from reporting without deleting it?
      - Can I set a custom net revenue or gross profit on an existing order?
      instructions:
      - text: Add shipping costs of {shipping_costs} to existing order {order_id} in {shop}.
        slots:
          shipping_costs: requestBody.shipping_costs
          order_id: requestBody.order_id
          shop: requestBody.shop
      - text: Flag order {order_id} in {shop} to be ignored in reporting.
        slots:
          order_id: requestBody.order_id
          shop: requestBody.shop
      - text: Set custom status {custom_status} on already-imported order {order_id}.
        slots:
          custom_status: requestBody.custom_status
          order_id: requestBody.order_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/products-enrichment'].post
  update:
    x-apievangelist-phrasing:
      intent: Add cost data to an existing product
      effect: write
      questions:
      - How do I add product costs from my ERP to items synced from my store?
      - Can I set the cost of a specific variant rather than the whole product?
      instructions:
      - text: Set the cost of variant {variant_id} of product {product_id} to {variant_cost} in {shop}.
        slots:
          variant_id: requestBody.variant_id
          product_id: requestBody.product_id
          variant_cost: requestBody.variant_cost
          shop: requestBody.shop
      - text: Enrich existing product {product_id} in {shop} with a cost of {variant_cost}.
        slots:
          product_id: requestBody.product_id
          shop: requestBody.shop
          variant_cost: requestBody.variant_cost
      method: generated
      generated: '2026-10-01'
- target: $.paths['/data-in/event'].post
  update:
    x-apievangelist-phrasing:
      intent: Send an offline or server-side Pixel event
      effect: write
      questions:
      - How do I send leads or booked demos from my CRM into the Triple Pixel?
      - What is the rate limit and payload size for offline events?
      - Can I send a custom event with my own properties and attribution source?
      instructions:
      - text: Send a {type} event for {profileIdentifiers} to {shop}.
        slots:
          type: requestBody.type
          profileIdentifiers: requestBody.profileIdentifiers
          shop: requestBody.shop
      - text: Record custom event {event_name} for {profileIdentifiers} in {shop} with source {source}.
        slots:
          event_name: requestBody.event_name
          profileIdentifiers: requestBody.profileIdentifiers
          shop: requestBody.shop
          source: requestBody.source
      - text: Log an mql event with id {eventId} at timestamp {timestamp}.
        slots:
          eventId: requestBody.eventId
          timestamp: requestBody.timestamp
      method: generated
      generated: '2026-10-01'