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