Every tool your AI can use in Vendor.
Vendor speaks the Model Context Protocol. Connect Claude to your store and it gets the tools on this page: to answer questions, and to make changes you approve. ChatGPT is coming soon.
https://mcp.vendorecommerce.com/s/<store-id>/mcp- Read
- 42
- Change
- 47
- Replace
- 15
Three kinds of tool. Two ask first.
Every tool is marked by what it does to your store. An assistant can look around freely, but a tool that writes shows you its plan and waits.
- Read42Looks, never touchesSales, orders, products, stock, settings. Runs as soon as the assistant needs an answer.
- Change47Adds or editsA new product, a shipping rate, a published page. Returns a plan first; nothing is saved until you say yes.
- Replace15Overwrites what is thereA page document, a menu, a batch of rows, a full import. The same plan and the same approval.
- 1You ask"Raise the price of every Bosch dishwasher by 5%."
- 2Vendor returns a planThe tool is called without confirmation. It answers with what it would do, and changes nothing.
- 3You approveThe assistant puts the plan to you in plain words and waits for a clear yes.
- 4The change is madeThe same tool runs again, confirmed. Many rows of one kind are one plan and one approval.
The tool catalog
Grouped by the part of the store each tool works on. Open a tool for what it does and the inputs it takes.
104 of 104 tools
Sales and orders5
Ask how the store is doing and look into any order.
get_sales_overviewReadKPI snapshot for a period: orders, revenue, fulfilment and customers.
The first thing to call for "how did the store do".
- period
compare_periodsReadPeriod-vs-period KPI comparison: current, previous and the delta.
Use it for "better or worse than last month".
- period
get_topReadTop-N ranking for one dimension, by the requested metric.
Use it to pick products for a homepage block, or to answer "what sells".
- dimension
- metric
- limit
- period
list_ordersReadAdmin order list with filters.
Use it to triage: unpaid, stuck, or a date window.
- status
- created_at_from
- created_at_to
- page
- per_page
get_orderReadOne order in full.
The payload carries available_actions — every admin action with whether it is available, a reason when locked, and exactly one flagged primary (the recommended next step). Read that instead of reasoning about the lifecycle yourself.
- id
Catalogue12
Find, create and correct products, brands, categories and attributes.
search_productsReadSearch the catalog.
Filters are POSITIVE only — there is no "missing brand" or "no image" filter, so to find gaps you must page through and inspect.
- keyword
- sku
- brand_ids
- category_ids
- status
- visibility
- min_price
- max_price
- order_by
- order
- page
- per_page
get_productReadOne product or variation in full, by id, slug or SKU.
- type
- value
audit_catalogReadSweep the catalogue for the gaps that keep products from selling: no brand, no category, no image, no description, no price, no SEO title.
The API has no "missing X" filter, so this pages through and inspects — keep the sample modest on a large catalogue.
- max_products
- status
create_productChangeCreate a product with its variations, prices and opening stock.
One variation is still required for a simple product — that is where the SKU, the price and the stock live. Set import.create_missing_brand or create_missing_attribute_options to let the backend fill gaps rather than failing.
- title
- slug
- status
- visibility
- brand_id
- brand_title
- categories
- description
- short_description
- seo
- is_featured
- related_product_ids
- upsell_product_ids
- crosssell_product_ids
- thumbnail_media_id
- media_gallery
- variations
- create_missing_brand
- create_missing_attribute_options
add_variationChangeAdd a variation to an existing product — another size, colour or pack.
Needs its own SKU, price and stock.
- product_id
- sku
- title
- regular_price
- sale_price
- availability
- attributes
- stock
fix_productChangeCorrect fields on one product — title, description, brand, categories, status, visibility, SEO.
Shows a before/after diff before writing.
- id
- changes
set_product_relationsChangeSet related, upsell and cross-sell products.
Each list replaces the previous one, so send the full set you want.
- product_id
- related_product_ids
- upsell_product_ids
- crosssell_product_ids
create_categoriesChangeCreate categories, optionally several at once as a tree.
Build the structure before importing products, or every product lands uncategorised and has to be fixed afterwards.
- categories
create_brandChangeCreate a brand.
Products reference it by id, so create brands before importing a catalogue that mentions them.
- title
- slug
- description
- link
- visibility
create_attributeChangeCreate an attribute and its options — size, colour, material.
Attributes do double duty: they are the axes variations differ on and the filters shoppers use, so is_filterable is worth a thought.
- title
- slug
- type
- is_filterable
- split_listing
- options
create_smart_collectionChangeCreate a smart archive — a collection defined by a saved query rather than a fixed list, so it stays current as the catalogue changes.
Manual include and exclude lists override the rules.
- name
- title
- slug
- description
- rules
- include_product_ids
- exclude_product_ids
- visibility
reindex_catalogChangeRebuild the search index.
Needed after bulk catalog changes or a new locale, otherwise search keeps serving the old data.
- target
- locale
Bulk changes4
Change many rows with one plan and one approval.
bulk_updateReplaceUpdate up to 40 products, variations, categories or brands in ONE call, each row with its own changes — descriptions, titles, SEO, status, brand, categories, prices, SKUs.
Use this instead of calling fix_product / set_seo row by row: the plan covers every row and the owner approves once. For the SAME value on many rows chosen by a filter, bulk_fix_products is cheaper. A job larger than 40 rows is several calls of this tool.
- entity
- items
- reindex
bulk_create_productsChangeCreate up to 25 products in ONE call, each with its variations, prices and opening stock — the same fields as create_product.
Use it when loading a catalogue: the plan lists every product and the owner approves once. Brands, categories and attributes must exist first (or pass create_missing_brand / create_missing_attribute_options per product).
- products
- reindex
get_bulk_change_optionsReadThe authoritative list of what a bulk change can set and what it can select on, straight from the backend.
Call this before bulk_fix_products: the filter keys are not guessable, and the negative ones (without_brand, without_category, without_media, without_description) are what turn an audit finding into one operation.
bulk_fix_productsReplaceChange one field across many products, selected by filter.
The backend dry-runs this for real, so the plan is an exact count rather than an estimate.
- field
- verb
- value
- filters
Stock2
See what is running out. Stock itself is changed in the dashboard or by your ERP.
get_stock_summaryReadInventory KPIs: counter totals, alert counts and a 30-day movements trend.
list_stock_levelsReadPer-variation stock levels.
Pass status=low to answer "what is running out".
- status
- search
- page
- per_page
Pages and homepage11
Build and publish the homepage, landing pages, forms and legal pages.
list_pagesReadCMS pages.
Filter tag=front-page to find the homepage (it is also the row with is_default=true).
- tag
- locale
- status
- is_default
- per_page
get_page_documentReadOne page with its page-builder document.
template: "designed" plus a pageBuilder object with a content array means a Puck (v2) page; a bare array is a legacy v1 document and must not be edited in place.
- id
describe_page_blocksReadThe page-builder block catalog: every block type, its props, and the document shape.
Read this BEFORE authoring or editing any page document — the props are not guessable and a wrong key is silently dropped. Pass type to get one block in full: every field with its kind, its allowed option values, the fields of its list items, and its defaults.
- group
- type
list_homepage_templatesReadThe 27 ready-made homepage starter templates (9 industries × classic / catalog / products).
Fetch one to see its full document before proposing it.
create_homepage_from_templateReplaceReplace the storefront homepage with one of the 27 starter templates, published immediately.
Destructive: it overwrites the current homepage document.
- template_key
write_page_documentReplaceReplace a page's builder document.
Replace a page’s builder document. Use for "rebuild my homepage" once you know what you want: author the content array from describe_page_blocks. Fetch the current document first with get_page_document so you do not discard sections by accident.
- page_id
- document
- publish
create_pageChangeCreate a CMS page — an About, a landing page, a contact page.
For a contact page, create the form first with create_contact_form and put its id in a Contact Form block.
- title
- permalink
- document
- tag
- locale
- publish
publish_pageChangePublish or unpublish a page, and purge the storefront so the change is visible.
- page_id
- status
create_contact_formChangeCreate a ready-to-use contact form (name, email, phone, subject, message) and return its id for a Contact Form block.
Pass fields to override the default set.
- title
- fields
- locale
list_legal_templatesReadThe ready-made legal policy templates — privacy, terms, returns, shipping, cookies, GDPR.
Each is markdown carrying {{tokens}} that the storefront fills from store settings at render time.
create_legal_pagesChangePublish legal pages from the platform templates.
The {{tokens}} in them resolve from your company and policy settings, so fill those first with configure_company_identity and configure_policies — otherwise the pages publish with holes in them.
- policies
- locale
- publish
Custom blocks, header and footer17
Author your own page sections, product card, header and footer.
list_block_primitivesReadEverything a custom page-builder block may use: the Liquid objects, filters and tags the storefront supports, the setting types, data sources and limits.
Read this BEFORE writing a block template — anything not listed here will not render.
validate_blockReadCheck a block locally with the same Liquid engine the storefront uses: parses it, renders it with sample settings, and reports errors and warnings.
Writes nothing. Run it before save_block_version and fix every error.
- template
- css
- snippets
- schema
- data_sources
list_custom_blocksReadThe store's custom page-builder blocks with their version summaries (draft / published / retired).
The store’s custom page-builder blocks with their version summaries (draft / published / retired).
- s
- status
get_custom_blockReadOne custom block.
Pass version_id to also get that version’s template, snippets and schema — read it before proposing a change to it.
- id
- version_id
create_custom_blockChangeRegister a new custom block (its identity only — no code yet).
The key is permanent. Follow with save_block_version.
- key
- label
- description
- group
- enabled_on
save_block_versionChangeSave a block's code as a DRAFT version: creates a new draft when given version, or updates an existing draft when given version_id.
Save a block’s code as a DRAFT version: creates a new draft when given version, or updates an existing draft when given version_id. The source is checked locally first and refused if it has errors. A draft is not visible anywhere until published.
- block_id
- version
- version_id
- template
- css
- snippets
- schema
- data_sources
- notes
publish_block_versionChangePublish a draft version.
It becomes immutable and appears in the editor palette. It still shows nowhere on the storefront until it is placed on a page with write_page_document.
- block_id
- version_id
retire_block_versionReplaceRetire a published version: it leaves the editor palette but keeps rendering on pages already pinned to it.
- block_id
- version_id
get_block_theme_cssReadThe store's shared stylesheet for custom blocks: brand type, colour variables and utility classes that every custom block can use.
The store’s shared stylesheet for custom blocks: brand type, colour variables and utility classes that every custom block can use. Read it before writing a block so you reuse what is there instead of repeating it.
write_block_theme_cssReplaceReplace the store's shared stylesheet for custom blocks.
Replace the store’s shared stylesheet for custom blocks. Put here what several blocks share (CSS variables for brand colours, type classes, buttons) so each block’s own stylesheet stays small. It applies to every custom block on the store, and to nothing else.
- css
get_product_cardReadWhich product card the store uses wherever products are listed: the built-in one, or a custom card block (with the settings it was given).
set_product_cardReplaceUse a custom block as the product card EVERYWHERE products are listed (shop, categories, search, product carousels), or go back to the built-in card.
The block must be published and created with "card" in enabled_on. Its template reads the product as product (see list_block_primitives → product_card).
- card
- settings
get_site_regionReadThe store's custom header or footer, if it has one: its status and page-builder document.
The store’s custom header or footer, if it has one: its status and page-builder document. "built-in" means the store uses the storefront’s own header or footer.
- region
write_site_regionReplaceReplace the store's header or footer with a page-builder document, on EVERY page.
Replace the store’s header or footer with a page-builder document, on EVERY page. It may contain ONLY custom blocks created with that region in enabled_on, at the top level: no Row and no built-in blocks. A store has ONE saved header and ONE saved footer (no separate draft beside a live one): when the current one is live, writing it changes what visitors see now unless publish is false, and publish: false takes the live one down (visitors see the built-in one) until it is published again. Read the current one with get_site_region first.
- region
- document
- publish
reset_site_regionReplaceRemove a custom header or footer so the storefront shows its built-in one again.
- region
export_blocksReadExport the store's custom blocks as one portable JSON bundle: the latest published version of each block, plus (optionally) the shared block stylesheet and the custom header and footer.
Export the store’s custom blocks as one portable JSON bundle: the latest published version of each block, plus (optionally) the shared block stylesheet and the custom header and footer. The bundle carries no ids, so import_blocks can load it into any store. Writes nothing.
- keys
- include_theme_css
- include_regions
import_blocksReplaceLoad a bundle made by export_blocks into this store: registers the blocks it does not have, adds the versions it is missing and publishes them.
A version the store already has is never overwritten; when the code differs, the incoming block gets the next free version. Every block is checked with the storefront’s Liquid engine first, and nothing is written if any of them fails.
- bundle
- namespace
- theme_css
- regions
Shipping7
Where the store delivers, how, and what it costs.
get_shipping_setupReadThe store's whole shipping setup in one call: zones (where it delivers), delivery methods, and rates (what each costs and when), with the problems that stop shoppers from getting a price…
The store’s whole shipping setup in one call: zones (where it delivers), delivery methods, and rates (what each costs and when), with the problems that stop shoppers from getting a price — a zone with no rate, a rate that can never be reached. Read this before any shipping change.
set_up_shippingChangeSet up shipping in one step, for a store that has none or is adding countries: a zone per country, a "Standard delivery" method, a flat price per order, and optionally free delivery…
Set up shipping in one step, for a store that has none or is adding countries: a zone per country, a "Standard delivery" method, a flat price per order, and optionally free delivery above a cart total. Safe to run again — what already exists is kept. Use the single-piece tools afterwards for anything more specific.
- countries
- flat_price
- free_over
create_shipping_zoneChangeCreate a delivery zone — an area the store delivers to, by country and optionally by city or postcode.
A zone offers nothing until it has a rate: follow with create_shipping_rate.
- title
- countries
- cities
- postcodes
- postcode_mode
- priority
- is_active
create_shipping_methodChangeCreate a delivery method — what the shopper chooses at checkout: courier delivery, pickup in store.
A method is only offered where it has a rate that fits the cart.
- title
- type
- checkout_label
- checkout_description
- is_default
- carrier_id
set_zone_methodsReplaceChoose which delivery methods a zone offers, and in what order.
The list REPLACES the zone’s current one. A zone with no methods chosen falls back to the store’s default methods.
- zone_id
- method_ids
create_shipping_rateChangeCreate a rate — what a delivery method costs, and for which carts.
Leave zone_id out for a rate that applies everywhere. Order matters: rates on the same method and zone are tried lowest priority number first and the first that fits wins, so "free above 3000" needs a LOWER number than the flat rate it sits beside.
- shipping_method_id
- shipping_zone_id
- title
- calculation_type
- condition_type
- price
- priority
- min_cart_total
- max_cart_total
- min_weight
- max_weight
- min_items
- max_items
- min_quantity
- max_quantity
- free_shipping_threshold
- per_item_amount
- per_weight_amount
- step_weight
- per_volume_amount
- step_volume
- currency
update_shippingChangeChange a zone, a delivery method or a rate: a price, a limit, a priority, the countries of a zone, or switch it off with is_active false.
Nothing is deleted through the assistant — switching off is how a zone, method or rate is retired.
- entity
- id
- changes
Images and files4
Bring product photos, logos and banners into the store, from the web or from a computer, and find the ones already there.
list_mediaReadImages and files already in the store's media library, newest first: id, address, size and alt text.
Images and files already in the store’s media library, newest first: id, address, size and alt text. Use it to find the id of a photo or logo before placing it on a product, a page or a setting.
- search
- type
- limit
- page
upload_mediaChangeBring up to 10 images or PDFs into the store's media library from public web addresses — product photos, a logo, a banner.
Bring up to 10 images or PDFs into the store’s media library from public web addresses — product photos, a logo, a banner. Each is fetched and stored by the store, which returns its id and its new address. Use the id on products (thumbnail_media_id, media_gallery) and the new address in settings and page blocks; never keep pointing at the original address. Only upload what the owner has the right to use.
- items
- purpose
start_file_uploadChangeUpload files that are on a computer, not on the web: product photos in a folder, a logo on the desktop.
For up to 10 files this returns a one-time upload address and the exact command that sends each file there. Run the commands if you have a shell; otherwise give them to the owner to run. Then call finish_file_upload with the tickets. The addresses stop working after 15 minutes. Without a shell and without an owner willing to run a command, the file has to be uploaded in the dashboard.
- files
- purpose
finish_file_uploadChangeRegister files sent with start_file_upload: the store checks each one arrived, adds it to the media library and returns its id and address.
Call it once the upload commands have run. A ticket whose file did not arrive is reported, and the others still register.
- files
Blog and custom content4
Post types, taxonomies and entries: a blog, a podcast, recipes.
create_content_typeChangeRegister a custom post type — blog, podcast, recipes, case studies.
The key is immutable once created: it is baked into entry URLs, cache keys and SDK filters.
- key
- label
- label_plural
- archive_base
- description
- editor
- is_public
create_content_taxonomyChangeAdd a classification axis to one or more post types — category, tag, guest, topic.
The storefront ANDs across axes and ORs within one.
- key
- label
- label_plural
- type_keys
- is_hierarchical
- is_multiple
- is_public
create_content_termsChangeAdd terms to a taxonomy.
A term keeps one identity across locales and translates its fields, so do not create one per language.
- taxonomy_id
- terms
write_postChangeWrite an entry of a custom post type — a blog article, a podcast episode.
Entries are per-locale rows, so a translation is a separate entry joined by translation_group_id.
- type
- title
- slug
- excerpt
- content
- locale
- term_ids
- featured_media_id
- seo
- is_featured
- publish
Translations and SEO3
Translate what is missing and set search and social metadata.
find_missing_translationsReadWhich rows of a model have no translation for a locale.
Start every translation job here — it is the difference between translating what is missing and re-translating everything.
- model
- locale
- limit
write_translationsChangeStore translations for one (model, locale).
You do the translating — this only persists it. Keep brand names, SKUs, sizes and units untranslated.
- model
- locale
- items
set_seoChangeSet the SEO / social overlay on a product, category or brand.
The whole object is replaced, so include every key you want kept.
- entity
- id
- seo
Store setup19
Everything a store needs before it opens.
get_feature_mapReadThe store's effective feature map.
Call this first in a session: it says which capabilities the plan unlocks, so you never offer something the store cannot do.
get_store_readinessReadOnboarding readiness: 15 steps across essentials / ecommerce / catalog / go-live, each satisfied or not.
Use it to answer "is my store ready to launch" and "what is still missing".
get_store_configReadThe store's whole configuration in one call: every reserved setting with its label, current value, type and allowed options, grouped by area.
The store’s whole configuration in one call: every reserved setting with its label, current value, type and allowed options, grouped by area. Read this before configuring anything — it is the difference between setting a value and guessing a key.
- area
get_settings_schemaReadThe reserved-settings schema: which keys exist, their types and defaults.
Read it before writing any setting — a typo in a key silently creates a setting nothing reads.
configure_essentialsChangeCurrency, language and timezone — the first three readiness steps, and what blocks creating products and going live.
Nothing else in the store behaves correctly until these are set.
- currency
- currency_symbol_position
- currency_space
- decimal_separator
- thousands_separator
- default_language
- enabled_languages
- timezone
- store_country
configure_company_identityChangeWho the store legally is: name, registration and VAT numbers, address, contact email.
These fill the store-identity readiness step and are substituted into the legal policy templates, so getting them right once fixes the footer, invoices and policy pages together.
- site_title
- display_name
- legal_name
- company_id
- vat
- address
- zip
- city
- country
- website
- contact_email
configure_policiesChangeReturns, delivery and data-protection details.
These are the values the legal policy templates interpolate, so a shop with blank fields publishes policy pages with holes in them.
- returns_address
- returns_email
- return_window_days
- refund_period_days
- order_processing_time
- delivery_timeframe
- delivery_partners
- free_shipping_note
- delivery_areas_note
- data_controller_name
- data_controller_email
- data_controller_phone
- data_controller_address
- privacy_email
- data_request_response_days
- data_retention_period
- supervisory_authority_name
- supervisory_authority_url
configure_order_handlingChangeHow orders are processed and who hears about them: fulfilment mode, the operational-flow preset, notification recipients, whether tax is charged.
Call get_store_config first — store_operational_flow_preset is an enum and its options are the only legal values.
- fulfillment_mode
- operational_flow_preset
- charges_tax
- primary_notifications_recipient
- secondary_notifications_recipient
- notifications_bcc_recipient
- express_checkout_enabled
configure_commerce_modeChangeWhether the store sells or only displays: catalog mode, price visibility, and members-only sale pricing.
Catalog mode turns a shop into a brochure — say so plainly before switching it on.
- catalog_mode
- show_prices
- sale_price_members_only
- sale_price_members_note
configure_appearanceChangeStorefront layout and styling: boxed or full-width pages, max width, background, button styles, archive headers.
Enum values come from get_store_config — invented ones are refused rather than silently stored.
- page_layout_mode
- page_max_width
- page_custom_width
- page_bg_color
- page_box_bg_color
- archive_header_enabled
- archive_header_bg_color
- archive_header_text_color
- checkout_btn_style
- add_to_cart_btn_style
- product_card_btn_style
configure_product_listingChangeCategory and search page defaults: which filters appear, sidebar behaviour, grid density, brand bar.
This is the single biggest lever on how a catalogue feels to shop.
- sidebar
- sidebar_mode
- tree_scope
- filter_module
- filter_price
- filter_brands
- filter_categories
- filter_attributes
- filter_stock
- filter_collection
- brand_bar
- view
- grid_columns
- cols_base
- cols_lg
write_settingsChangeWrite store settings in one batch.
Check get_settings_schema first: an unrecognised key is stored but read by nothing, which looks like a setting that does not work.
- settings
- public
create_locationChangeCreate a store, warehouse or pickup point.
Stock lives per location, so a store needs at least one before inventory means anything — this is the default_location readiness gate.
- title
- code
- type
- city
- country
- zip
- phone_number
- is_default
list_tax_classesReadThe tax classes a rate can attach to, and that products group under.
create_tax_ruleChangeCreate a tax rate and attach it to a tax class.
Products resolve their rate through the class, so the class matters more than the number — this is the tax readiness gate.
- title
- value
- tax_class_id
- applies_to_shipping
enable_payment_methodChangeAdd a payment method.
Credentials go in secrets and are stored encrypted — they are never echoed back, and this tool never prints them. Without at least one method a store can reach checkout and go no further.
- title
- code
- driver
- provider
- category
- checkout_label
- checkout_description
- is_active
- is_default
- sort_order
- environment
- requires_redirect
- supports_refund
- fee_type
- fee_amount
- secrets
Domains and email sending6
Connect the shop domain and the domain emails are sent from.
list_domainsReadThe store's custom domains and their current status.
The store’s custom domains and their current status.
connect_domainChangeProvision a merchant domain on Cloudflare and return the DNS records to publish.
Nothing works until those records exist at the registrar, so hand them over and expect to wait.
- domain
verify_domainChangeRe-poll Cloudflare for a domain's hostname and SSL status.
Re-poll Cloudflare for a domain’s hostname and SSL status. Use it after the DNS records have been published; it is a read, so call it as often as needed.
- custom_domain_id
list_sender_domainsReadSending domains attached to this store and their verification state.
connect_sender_domainChangeAttach a sending domain for transactional email and return its DKIM records.
Until this verifies, order confirmations go out from the platform default rather than the store’s own domain.
- domain
verify_sender_domainChangeRe-sync a sender domain from AWS — DKIM status and records.
A read, safe to repeat.
- sender_domain_id
Imports and migration10
Move a store from WooCommerce or the old Vendor platform, and keep it in sync until switch-over.
get_v1_migration_contractReadThe contract for migrating a store from the old Vendor platform (v1): the order of work, every import step and its options, the field-by-field mapping, the settings mapping, the known…
The contract for migrating a store from the old Vendor platform (v1): the order of work, every import step and its options, the field-by-field mapping, the settings mapping, the known faults and how to check for each, and the verification that ends a migration. Read the overview before the first import; read a section again before you act on it.
- section
read_v1_sourceReadRead from the old (v1) store: how many taxes, brands, categories, attributes, products, coupons, customers and orders it holds, or one page of a v1 resource (its settings, shipping…
Read from the old (v1) store: how many taxes, brands, categories, attributes, products, coupons, customers and orders it holds, or one page of a v1 resource (its settings, shipping methods, a sample of products). Read-only on both sides. The counts are what a finished migration is checked against.
- base_url
- token
- vendor_tenant
- resource
- page
- per_page
find_v1_changesReadWhat is new or changed in the old (v1) store since it was last imported, for one kind of record: which v1 rows are not here yet, which were edited in v1 after their import, which failed…
What is new or changed in the old (v1) store since it was last imported, for one kind of record: which v1 rows are not here yet, which were edited in v1 after their import, which failed to import, and which source pages they sit on — so the next import can be limited to exactly those pages. Read-only on both sides. This is the first step of every re-sync; read get_v1_migration_contract section delta_sync for what to do with the answer.
- base_url
- token
- vendor_tenant
- entity
- start_page
- max_pages
compare_v1_migrationReadAfter an import: the old store's counts next to the new store's, entity by entity, with the failed rows of the latest v1 run.
After an import: the old store’s counts next to the new store’s, entity by entity, with the failed rows of the latest v1 run. This is the check that ends a migration — do not call it done on the run status alone.
- base_url
- token
- vendor_tenant
import_from_vendor_v1ReplaceQueue an import from an old Vendor (v1) store.
Steps run in a fixed order: taxes, brands, categories, attributes, products, price_sync, stock_sync, coupons, customers, orders, pages, menus, seed_defaults. Long-running; it writes into the live catalogue, pages and menus. Read get_v1_migration_contract first — it says which steps to run together and what to check after each.
- base_url
- token
- vendor_tenant
- only
- skip
- from_step
- products
- price_sync
- stock_sync
- categories
- coupons
- customers
- orders
import_from_woocommerceReplaceQueue an import from a WooCommerce store: taxes, brands, categories, attributes, products.
Long-running and hard to undo — it writes into the live catalog.
- store_url
- consumer_key
- consumer_secret
- type
- only
- skip
get_import_runReadStatus and counters for one import run.
Poll this after queueing an import instead of assuming it finished.
- id
list_import_runsReadImport runs, newest first: migrations, CSV imports, bulk changes, customer-login runs.
Use it to see whether something is still running before starting another, and to find the run a migration should be resumed from.
- source
- status
- limit
list_import_mappingsReadThe row-level record of an import: which source record became which row here, and which failed and why.
Filter by status "failed" after a migration — each failed row carries the source record and an _error.
- source
- entity_type
- status
- import_id
- old_id
- limit
- page
provision_customer_loginsChangeGive imported customers a login.
After a migration, customers exist in the store but cannot sign in; this creates their accounts silently — no email is sent — and each customer sets a password the first time they try to log in. Safe to repeat: run it after every customer import or re-sync, and only the customers still without a login are touched.
- imported_only
- emails
- limit
Connect your store to AI.
Add the connector to Claude in a few clicks, then ask your store a question.
Ready to get started?
Launch a store yourself, or talk to us about connecting ecommerce to the systems you already run.
Vendor Standard
Everything you need to launch, manage and grow an online store. From €39/month.
Explore CommerceVendor Pro
Larger catalogs, advanced pricing, complex operations and deeper integrations.
Explore Scale