add_material_options
ChatGPTAdd or sync a material's colors, layer heights and infills. Append inserts, merge skips duplicates and replace syncs supplied option types. Infill percentages other than 100% are only valid for FDM.
add_or_update_quote_items
ChatGPTAdd new items to a quote or update existing items by item_id, then start pricing for each. Items are processed independently; check each result for success or failure. Use object keys from request_quote_upload_urls.
archive_bulk_discount
ChatGPTArchive a bulk discount and return the archived discount.
archive_discount
ChatGPTArchive a discount code and return the archived discount.
archive_material_options
ChatGPTArchive one or more material options by ID. Pass IDs in the matching colors, layer_heights or infills arrays.
archive_quote
ChatGPTArchive a quote (e.g. an abandoned cart) by its ID. Use when retiring an unused quote.
archive_shipping_method
ChatGPTArchive a shipping method and return the archived method.
archive_upsell
ChatGPTArchive an add-on and return the archived add-on.
archive_urgency_option
ChatGPTArchive an urgency option and return the archived option.
attach_material_upload
ChatGPTUse after the PUT to request_material_upload's URL. Checks the file and attaches it: images and videos join the gallery; a PDF replaces and deletes the current datasheet (or that locale's).
audit_catalog
ChatGPTReport unusable materials, missing options or pricing, duplicates and invalid layer-height pricing. Use when checking catalog health.
create_bulk_discount
ChatGPTCreate a quantity-tier bulk discount for a technology (one per tech). Tiers must have strictly increasing quantity and non-decreasing percent discount, e.g. [{quantity:10,discount:5},{quantity:50,discount:10}].
create_discount
ChatGPTCreate a discount code with its value, target, validity window and optional usage limits.
create_machine
ChatGPTCreate the machine for one technology. Width and depth up to 2000 mm. FDM height up to 1200 mm; MJF, SLS, DMLS, and SLA up to 2000 mm.
create_materials
ChatGPTCreate one or more materials and their options atomically. Pass a one-item array to create one material; validation errors prevent all writes. For SLA/SLS/MJF/DMLS, omit infills — solid 100% is implied.
create_quote
ChatGPTCreate an empty customer quote. Then request upload URLs with request_quote_upload_urls and add items with add_or_update_quote_items.
create_shipping_method
ChatGPTCreate a shipping method with its price, lead time and optional free-shipping threshold.
create_upsell
ChatGPTCreate an add-on fee. Value is a currency amount for fixed fees or a percentage for percentage fees.
create_urgency_option
ChatGPTCreate an urgency (rush) option. The amount is a fixed surcharge for flat options or a multiplier for dynamic options.
delete_machine
ChatGPTPermanently delete a machine config by ID. This is destructive and cannot be undone.
delete_material
ChatGPTPermanently delete an unreferenced material and its options. If it is referenced, archive it by setting archived with update_materials.
get_action_center
ChatGPTGet a snapshot of items needing attention: authorized charges, orders awaiting work, active prints, pending shipments and new quotes. Use when the user asks what needs attention or what to work on next.
get_customer
ChatGPTGet a single customer's profile plus their lifetime order count, total spent, and quote count. Identify the customer by their user ID (from list_customers).
get_default_material
ChatGPTGet the storefront's default configurator selection (material + layer height + infill + color), or null if not set.
get_email_template
ChatGPTUse this before editing a customer email. Returns its subject, preview text and HTML + Liquid (visual and built-in emails converted), presets, and on request every field it can use.
get_material
ChatGPTGet a material with its colors, layer heights and infills, including pricing and usability.
get_material_details
ChatGPTGet a material's Widget details: media, description (HTML and Markdown), tags, specs, datasheet, what hides them and its translations; pass locale to read one. Shown on Professional or Service Bureau plans.
get_order
ChatGPTGet an order by ID for a business, including paid line items.
get_quote
ChatGPTGet a quote by ID with parts, prices, selected options, discounts, taxes and totals. Pending pricing is refreshed automatically before return. Use when reviewing an existing quote or checking whether it is ready to send.
get_store_analytics
ChatGPTGet revenue, order status counts, quote conversion, popular materials, a revenue time series and prioritized optimization insights. Use when reviewing shop performance.
get_store_settings
ChatGPTGet store identity, locale, contact, quote-limit, checkout, tax and payment settings.
import_material_media_from_url
ChatGPTUse to add an image, video or PDF from a public https URL; checked like an upload. A PDF replaces the current datasheet. Not idempotent: retrying adds the image or video again.
list_bulk_discounts
ChatGPTList quantity-tier bulk discounts (one per technology). Each tier gives a percentage off when the order quantity reaches the tier.
list_businesses
ChatGPTList businesses the authenticated user can access. Use when choosing which business to operate on.
list_customers
ChatGPTList a business's customers (people who have a profile with the store), with name, email, phone and signup date. Paginated.
list_discounts
ChatGPTList the business's discount codes / coupons, including usage counts and validity windows.
list_email_templates
ChatGPTUse this when choosing which customer email to change. Lists each one with customized, enabled and format. has_plan false: custom emails need Professional or Service Bureaus.
list_machines
ChatGPTList the business's machines per technology: build volume (x/y/z in mm) and per-tech minimum job price.
list_materials
ChatGPTList materials with pricing, option counts and usability. Filter by technology, status, catalog issues or name; use get_material for options.
list_orders
ChatGPTList orders for a business with optional date range, status filters, and pagination.
list_quotes
ChatGPTList quotes for a business with optional date range and pagination. Use when browsing existing quotes.
list_shipping_methods
ChatGPTList the business's shipping methods (cost, free-over threshold, lead time, default flag).
list_upsells
ChatGPTList the business's upsells / add-on services (finishing, rush handling, etc.).
list_urgency_options
ChatGPTList urgency (rush) options for a business. Flat options add a fixed surcharge; dynamic options use a multiplier such as 1.1 for a 10% surcharge.
merge_duplicate_options
ChatGPTMerge duplicate colors, layer heights and infills within one or all materials. References move to the oldest option; dry_run previews counts.
merge_materials
ChatGPTMerge a source material into a destination, remap references and archive the source. Unique options can be copied; dry_run previews the merge.
preview_email_template
ChatGPTUse this to check a customer email, saved or with changes, without saving. Renders sample data or a real quote or order; returns subject, text and warnings. Errors list what to fix.
remove_material_datasheet
ChatGPTPermanently remove a material's PDF datasheet and delete the file; with locale, only that language's datasheet. Works without the plan.
remove_material_details_translation
ChatGPTPermanently delete a material's translation into one language: its text, alt text and datasheet. Buyers in that language then see the base content. Works without the plan.
remove_material_media
ChatGPTPermanently remove an image or video from a material's details and delete its files. Works without the plan, so lapsed Businesses can clean up.
remove_quote_item
ChatGPTRemove a line item from a quote and return the refreshed quote. The uploaded object is retained.
replace_material_options
ChatGPTSync supplied option types to a desired state. Matches update, missing options are created and extra active options are archived. Infill percentages other than 100% are only valid for FDM.
request_material_upload
ChatGPTUse when you can send an HTTP PUT (e.g. Claude Code); chat apps use import_material_media_from_url. Signs a URL for one image, video, poster or PDF; PUT it with required_headers, then attach it.
request_quote_upload_urls
ChatGPTRequest time-limited presigned upload URLs for quote model files (URLs expire after 15 minutes). Use before adding quote items: PUT each file to the returned URL with the required headers, then pass those object keys.
reset_email_template
ChatGPTUse this to go back to the built-in AutoQuote3D email. Deletes the business's version for good; to pause it instead, use update_email_template with enabled false.
send_quote
ChatGPTEmail a fully priced quote to its customer with a checkout link. If any item's pricing is pending or blocked, nothing is sent and the blocking state is returned as an error.
send_test_email
ChatGPTUse this when the user wants to see a customer email in their inbox. Sends it, saved or with changes, to the signed-in user only, never a customer. Rate limited; needs the plan.
set_default_material
ChatGPTSet the storefront's default material, layer height, infill and color. All option IDs must belong to the material; use get_material to find them.
set_order_notes
ChatGPTSet (or clear, with null) the internal notes on an order.
update_bulk_discount
ChatGPTReplace the tiers of an existing bulk discount by ID. Same tier rules as create.
update_email_template
ChatGPTUse this to save a customer email; customers get it right away. Omitted fields stay. Validated first; nothing saves on error. Needs Professional or Service Bureaus. Preview first.
update_layer_height
ChatGPTUpdate a layer height's supplied display or pricing fields. The merged pricing configuration is validated.
update_machine
ChatGPTUpdate a machine's build volume or minimum price. Width and depth up to 2000 mm. Height up to 2000 mm; FDM height is capped at 1200 mm.
update_material_details
ChatGPTSet a material's description (Markdown/HTML, max 5000 characters), tags or specs; others stay. Write in the Business's language, or pass locale and translated text to translate. Professional or Service Bureau plans.
update_material_media
ChatGPTSet alt text on and/or reorder a material's images and videos; with locale, alt text is saved as that language's translation. order must list every media_id once; the first image is the Widget cover.
update_material_option
ChatGPTUpdate a color or infill by ID. Use update_layer_height for layer-height changes.
update_materials
ChatGPTUpdate one or more materials. Each entry contains an ID and the fields to change; pass a one-item array to update one material.
update_order_status
ChatGPTMove an order through a valid fulfillment transition. Returns the previous, current and allowed next statuses. Use when advancing an order's fulfillment.
update_quote
ChatGPTUpdate a quote's metadata (notes, urgency, shipping method, requested date). Only supplied fields change; null clears a nullable field.
update_shipping_method
ChatGPTUpdate the supplied fields of a shipping method and return the updated method.
update_store_settings
ChatGPTUpdate the supplied store settings and return the full settings. Null clears nullable fields; currency, slug, ownership and Stripe connection cannot be changed.
update_upsell
ChatGPTUpdate the supplied fields of an add-on and return the updated add-on.
update_urgency_option
ChatGPTUpdate the supplied fields of an urgency option and return the updated option.
add_material_options
Claudeadd_or_update_quote_items
Claudearchive_bulk_discount
Claudearchive_discount
Claudearchive_material_options
Claudearchive_quote
Claudearchive_shipping_method
Claudearchive_upsell
Claudearchive_urgency_option
Claudeattach_material_upload
Claudeaudit_catalog
Claudecreate_bulk_discount
Claudecreate_discount
Claudecreate_machine
Claudecreate_materials
Claudecreate_quote
Claudecreate_shipping_method
Claudecreate_upsell
Claudecreate_urgency_option
Claudedelete_machine
Claudedelete_material
Claudeget_action_center
Claudeget_customer
Claudeget_default_material
Claudeget_email_template
Claudeget_material
Claudeget_material_details
Claudeget_order
Claudeget_quote
Claudeget_store_analytics
Claudeget_store_settings
Claudeimport_material_media_from_url
Claudelist_bulk_discounts
Claudelist_businesses
Claudelist_customers
Claudelist_discounts
Claudelist_email_templates
Claudelist_machines
Claudelist_materials
Claudelist_orders
Claudelist_quotes
Claudelist_shipping_methods
Claudelist_upsells
Claudelist_urgency_options
Claudemerge_duplicate_options
Claudemerge_materials
Claudepreview_email_template
Clauderemove_material_datasheet
Clauderemove_material_details_translation
Clauderemove_material_media
Clauderemove_quote_item
Claudereplace_material_options
Clauderequest_material_upload
Clauderequest_quote_upload_urls
Claudereset_email_template
Claudesend_quote
Claudesend_test_email
Claudeset_default_material
Claudeset_order_notes
Claudeupdate_bulk_discount
Claudeupdate_email_template
Claudeupdate_layer_height
Claudeupdate_machine
Claudeupdate_material_details
Claudeupdate_material_media
Claudeupdate_material_option
Claudeupdate_materials
Claudeupdate_order_status
Claudeupdate_quote
Claudeupdate_shipping_method
Claudeupdate_store_settings
Claudeupdate_upsell
Claudeupdate_urgency_option
Claude