Closed beta · run Worlds on your machineBrowse worlds →
Docs menu · BigCommerce API

Worlds / Commerce

BigCommerce API

A local BigCommerce store with catalog products, variants, channels, carts, orders and shipments. Test the agent that updates catalog data, manages channel listings and moves orders to shipped.

Base path
/stores/{store_hash}
Auth
X-Auth-Token header, the world key
Endpoints
14
Status
Active today

This reference previews the surface the BigCommerce world serves in the closed beta. Paths mirror the public BigCommerce API; the exact subset is confirmed when your workflow is scoped.

Connect

The run gives your agent these bindings. Keep your SDK; change only where it sends requests.

bindingmeaning
WORLDS_BIGCOMMERCE_URLThis world's origin followed by /stores/{store_hash}
WORLDS_API_KEYThe world key, accepted wherever BigCommerce expects a credential
WORLDS_WORLD_IDThe isolated world's identity
js · fetch
const base = process.env.WORLDS_BIGCOMMERCE_URL;
const headers = {
  "X-Auth-Token": process.env.WORLDS_API_KEY,
  Accept: "application/json",
};

const res = await fetch(base + "/stores/abc123/v3/catalog/products?limit=10", { headers });
const { data } = await res.json();

API reference

Products

Catalog items.

  • GET/stores/{store_hash}/v3/catalog/productsGet all products
  • POST/stores/{store_hash}/v3/catalog/productsCreate a product
  • GET/stores/{store_hash}/v3/catalog/products/{product_id}Get a product
  • PUT/stores/{store_hash}/v3/catalog/products/{product_id}Update a product
  • DELETE/stores/{store_hash}/v3/catalog/products/{product_id}Delete a product
Fields · 6
idintegerProduct id
namestringName
skustringStock keeping unit
pricenumberPrice
inventory_levelintegerUnits in stock
is_visiblebooleanShown on the storefront

Orders

Customer orders (v2 API).

  • GET/stores/{store_hash}/v2/ordersList orders
  • POST/stores/{store_hash}/v2/ordersCreate an order
  • GET/stores/{store_hash}/v2/orders/{order_id}Get an order
  • PUT/stores/{store_hash}/v2/orders/{order_id}Update an order
Fields · 5
idintegerOrder id
status_idintegerOrder status id
total_inc_taxstringTotal with tax
customer_idintegerCustomer
date_createdstringRFC 2822 date

Customers

Shoppers with accounts.

  • GET/stores/{store_hash}/v3/customersGet all customers
  • POST/stores/{store_hash}/v3/customersCreate customers
  • PUT/stores/{store_hash}/v3/customersUpdate customers
Fields · 5
idintegerCustomer id
emailstringEmail address
first_namestringFirst name
last_namestringLast name
customer_group_idintegerGroup

Order shipments

Shipments sent for an order.

  • GET/stores/{store_hash}/v2/orders/{order_id}/shipmentsList shipments
  • POST/stores/{store_hash}/v2/orders/{order_id}/shipmentsCreate a shipment
Fields · 5
idintegerShipment id
order_idintegerOrder
tracking_numberstringTracking number
shipping_providerstringCarrier
itemsarrayItems shipped

Test workflow

  1. Prepare. Select the BigCommerce setup for your workflow and review its starting records, including products, orders, customers.
  2. Connect. Configure your agent with this world's URL and key using the SDK example. Check that it reaches the intended API before running a test.
  3. Define. Describe the task, expected final changes and records that must stay untouched. Keep expected outcomes separate from the agent's instructions.
  4. Run and inspect. Use the dashboard or your workflow's generated CLI setup. Review final records and changes, then rerun from the same starting setup with the relevant failure conditions. Use Deployment and CI to automate the same workflow.

What to verify

  • #100231 Shipped with a tracking number
  • #100233 still Awaiting Payment
  • #100234 Partially Shipped for in stock items
  • No variant price changed
  • Channel listings unchanged

Test file

A task file names the jobs, the policy your agent is given and what the grader reads back from the world's final state. The agent never sees the expected outcomes.

yaml · worlds/tasks.yaml
# worlds/tasks.yaml · BigCommerce
version: 2
connector: bigcommerce
seed: bigcommerce-starter
mode: isolated
policy: >
  Ship today's paid orders. Create shipments with tracking only for orders in
  Awaiting Fulfillment. Ortiz Labs gets a partial shipment for the items in
  stock.
tasks:
  - id: update-price-or-inventory-on-a-variant
    prompt: Update price or inventory on a variant
  - id: list-or-unlist-a-product-on-a-channel
    prompt: List or unlist a product on a channel
  - id: create-a-shipment-and-move-the-order-to-shipped
    prompt: Create a shipment and move the order to Shipped
expected:
  - "#100231 Shipped with a tracking number"
  - "#100233 still Awaiting Payment"
  - "#100234 Partially Shipped for in stock items"
  - No variant price changed
  - Channel listings unchanged
scenarios:
  - rate-limited
  - validation-error
  - token-revoked

See Tasks and outcomes for every field, and Deployment and CI to run the file on every pull request.

Failure conditions

Each one fires before the handler, at the same step on every run.

conditionwhat the agent sees
rate-limited429 with X-Rate-Limit-Time-Reset-Ms
validation-error422 when the shipment quantity exceeds the order line
token-revoked401 when the store API account is removed
webhook-twicestore/order/statusUpdated arrives two times

Starting data

Start each run from the same records and relationships. The overview below describes the BigCommerce starter; use the setup supplied for your workflow when preparing your own snapshot.

RecordsStarting setup
products40 with 120 variants and categories
channelsStorefront, a marketplace channel and a POS channel
orders50 across Awaiting Payment, Awaiting Fulfillment, Shipped and Refunded
carts15 abandoned carts
price listsWholesale and Retail

The record shapes below reuse this world's API field definitions. They show illustrative values and placeholders, not an importable seed. API responses and seed input can differ; include all required records and references in the accepted import format for your workflow.

Products records

Products

Catalog items.

FieldTypeMeaning / relationship
idintegerProduct id
namestringName
skustringStock keeping unit
pricenumberPrice
inventory_levelintegerUnits in stock
is_visiblebooleanShown on the storefront
json · illustrative record shape
{
  "id": 1,
  "name": "<Name>",
  "sku": "<Stock keeping unit>",
  "price": 1,
  "inventory_level": 1,
  "is_visible": false
}

See products operations

Orders records

Orders

Customer orders (v2 API).

FieldTypeMeaning / relationship
idintegerOrder id
status_idintegerOrder status id
total_inc_taxstringTotal with tax
customer_idintegerCustomer
date_createdstringRFC 2822 date
json · illustrative record shape
{
  "id": 1,
  "status_id": 1,
  "total_inc_tax": "<Total with tax>",
  "customer_id": 1,
  "date_created": "<RFC 2822 date>"
}

See orders operations

Customers records

Customers

Shoppers with accounts.

FieldTypeMeaning / relationship
idintegerCustomer id
emailstringEmail address
first_namestringFirst name
last_namestringLast name
customer_group_idintegerGroup
json · illustrative record shape
{
  "id": 1,
  "email": "person@example.test",
  "first_name": "<First name>",
  "last_name": "<Last name>",
  "customer_group_id": 1
}

See customers operations

Order shipments records

Order shipments

Shipments sent for an order.

FieldTypeMeaning / relationship
idintegerShipment id
order_idintegerOrder
tracking_numberstringTracking number
shipping_providerstringCarrier
itemsarrayItems shipped
json · illustrative record shape
{
  "id": 1,
  "order_id": 1,
  "tracking_number": "<Tracking number>",
  "shipping_provider": "<Carrier>",
  "items": []
}

See order shipments operations

See the BigCommerce world in the catalog