Hilt · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Hilt So Products API
13 actions
13 updates
phrasing
extends
openapi/hilt-so-products-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Hilt's API. It is a proposal applied on top of the contract, not a document Hilt publishes.
What the actions change
x-apievangelist-phrasing
Targets 13
$.info
$.paths['/v1/products'].get
$.paths['/v1/products'].post
$.paths['/v1/products/p/{slug}'].get
$.paths['/v1/products/p/{slug}/connect'].post
$.paths['/v1/products/p/{slug}/resolve-handoff'].post
$.paths['/v1/products/{product_id}/payments'].get
$.paths['/v1/products/{product_id}/analytics'].get
$.paths['/v1/products/{product_id}'].get
$.paths['/v1/products/{product_id}'].delete
$.paths['/v1/products/{product_id}'].patch
$.paths['/v1/products/{product_id}/handoff-link'].post
$.paths['/v1/payments/{payment_id}'].get
OpenAPI Overlay
# 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'