# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Hilt So Products API version: 1.0.0 extends: openapi/hilt-so-products-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: 12 - target: $.paths['/v1/products'].get update: x-apievangelist-phrasing: intent: List my products effect: read questions: - Which products have I created? - Can I filter my products by type or status? instructions: - text: List my products. - text: Show my {status} products of type {product_type}. slots: status: query.status product_type: query.product_type method: generated generated: '2026-09-26' - target: $.paths['/v1/products'].post update: x-apievangelist-phrasing: intent: Create a payment product effect: write questions: - How do I create a product buyers can pay for in crypto? - Can I cap how many times a product can be bought? - Can a product deliver access such as a membership? instructions: - text: Create a {product_type} product called {title} paid to wallet {merchant_wallet}. slots: product_type: requestBody.product_type title: requestBody.title merchant_wallet: requestBody.merchant_wallet - text: Create product {title} of type {product_type} for {amount_minor_units} paid to {merchant_wallet}. slots: title: requestBody.title product_type: requestBody.product_type amount_minor_units: requestBody.amount_minor_units merchant_wallet: requestBody.merchant_wallet method: generated generated: '2026-09-26' - target: $.paths['/v1/products/p/{slug}'].get update: x-apievangelist-phrasing: intent: View a product's public page effect: read questions: - What does a buyer see on my product's public page? - Can I load a product by its public slug? instructions: - text: Show the public product page {slug}. slots: slug: path.slug - text: View product {slug} as a buyer. slots: slug: path.slug method: generated generated: '2026-09-26' - target: $.paths['/v1/products/p/{slug}/connect'].post update: x-apievangelist-phrasing: intent: Start a checkout session for a product effect: write questions: - How does a buyer start paying for a product? - Can a checkout session be started with a custom amount? instructions: - text: Start a checkout session for product {slug}. slots: slug: path.slug - text: Start checkout on {slug} for wallet {payer_wallet} paying {amount_minor_units}. slots: slug: path.slug payer_wallet: requestBody.payer_wallet amount_minor_units: requestBody.amount_minor_units method: generated generated: '2026-09-26' - target: $.paths['/v1/products/p/{slug}/resolve-handoff'].post update: x-apievangelist-phrasing: intent: Resolve a signed buyer handoff link effect: write questions: - What buyer identity is encoded in a signed checkout handoff? - How does checkout read a handoff token from a buyer link? instructions: - text: Resolve handoff token {handoff_token} for product {slug}. slots: handoff_token: requestBody.handoff_token slug: path.slug - text: Decode the buyer handoff {handoff_token} on {slug}. slots: handoff_token: requestBody.handoff_token slug: path.slug method: generated generated: '2026-09-26' - target: $.paths['/v1/products/{product_id}/payments'].get update: x-apievangelist-phrasing: intent: List payments for a product effect: read questions: - Who has paid for this product? - Can I see only confirmed or failed payments for a product? instructions: - text: List payments for product {product_id}. slots: product_id: path.product_id - text: Show {status} payments on product {product_id}. slots: status: query.status product_id: path.product_id method: generated generated: '2026-09-26' - target: $.paths['/v1/products/{product_id}/analytics'].get update: x-apievangelist-phrasing: intent: View payment analytics for a product effect: read questions: - How much has a single product earned? - What are the conversion and payment stats for one product? instructions: - text: Show analytics for product {product_id}. slots: product_id: path.product_id - text: Summarize payment performance of product {product_id}. slots: product_id: path.product_id method: generated generated: '2026-09-26' - target: $.paths['/v1/products/{product_id}'].get update: x-apievangelist-phrasing: intent: Get a product by ID effect: read questions: - What are the full settings of one of my products? - Can I fetch a product's private details by its ID? instructions: - text: Get product {product_id}. slots: product_id: path.product_id - text: Show the configuration of product {product_id}. slots: product_id: path.product_id method: generated generated: '2026-09-26' - target: $.paths['/v1/products/{product_id}'].delete update: x-apievangelist-phrasing: intent: Archive a product effect: destructive questions: - How do I stop selling a product? - Can I archive a product I no longer offer? instructions: - text: Archive product {product_id}. slots: product_id: path.product_id - text: Take product {product_id} off sale. slots: product_id: path.product_id method: generated generated: '2026-09-26' - target: $.paths['/v1/products/{product_id}'].patch update: x-apievangelist-phrasing: intent: Update a product effect: write questions: - Can I change the price of an existing product? - Can I switch the payout wallet on a product I already made? instructions: - text: Change the price of product {product_id} to {amount_minor_units}. slots: product_id: path.product_id amount_minor_units: requestBody.amount_minor_units - text: Rename product {product_id} to {title}. slots: product_id: path.product_id title: requestBody.title - text: Set payout wallet of product {product_id} to {merchant_wallet}. slots: product_id: path.product_id merchant_wallet: requestBody.merchant_wallet method: generated generated: '2026-09-26' - target: $.paths['/v1/products/{product_id}/handoff-link'].post update: x-apievangelist-phrasing: intent: Create a signed checkout link for a buyer effect: write questions: - Can I send a buyer a personalized checkout link tied to their identity? - How long does a signed buyer checkout link last? instructions: - text: Create a checkout link for product {product_id} for buyer {identity_value}. slots: product_id: path.product_id identity_value: requestBody.identity_value - text: Make a buyer link for {identity_value} on product {product_id} expiring in {expires_in_minutes} minutes. slots: identity_value: requestBody.identity_value product_id: path.product_id expires_in_minutes: requestBody.expires_in_minutes method: generated generated: '2026-09-26' - target: $.paths['/v1/payments/{payment_id}'].get update: x-apievangelist-phrasing: intent: Poll a payment's status effect: read questions: - Has my checkout payment gone through after signing in Phantom? - What's the current status of a payment? instructions: - text: Check status of payment {payment_id}. slots: payment_id: path.payment_id - text: Poll payment {payment_id} until it confirms. slots: payment_id: path.payment_id method: generated generated: '2026-09-26'