Documentation

API Documentation

RESTful API documentation for developers

Quick Info
Base URL
https://api.lotscommerce.com
Authentication

API Key (Bearer token or X-API-Key header)

Total Endpoints

66

Getting Started

Authentication

All API requests require authentication using an API key. You can create an API key from your dashboard.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lotscommerce.com/api/v1/lotsstore/stores/:id/analytics

analytics

GET
/api/v1/lotsstore/stores/:id/analytics

Get Store Analytics

get_store_analytics

Revenue, orders, average order value and the visit-to-order funnel for one store over a date range, with daily rows and the totals compared with the previous period of the same length.

billing

POST
/api/v1/lotsstore/checkout

Choose a LotsCommerce plan or add credits

create_checkout

Create a checkout link. Pass plan (starter, pro or business) and cycle (monthly or annual) for a plan, or amount_usd (10 to 1000) to add LotsTech Credits. Give the link to the person to pay in their browser; never ask for card details in chat.

GET
/api/v1/lotsstore/billing

Get LotsCommerce billing

get_billing

Show how the caller's stores are paid for: the plan (if any), whether today is covered or paid from LotsTech Credits, the credit balance, and the plans to choose from. Each store needs room on a plan or credits; an unfunded store keeps its storefront and data but pauses new orders and becomes read-only until funded.

customers

GET
/api/v1/lotsstore/stores/:id/customers/:customerId

Get Customer

get_customer

Gets one store customer, addresses, and store-scoped order summary after customer-group ownership checks.

GET
/api/v1/lotsstore/stores/:id/customers

List Customers

list_customers

List a store's customers with search and paging.

discounts

POST
/api/v1/lotsstore/stores/:id/promotions

Create Discount

create_promotion

Creates a standard fixed or percentage order discount scoped to the store sales channel.

DELETE
/api/v1/lotsstore/stores/:id/promotions/:promotionId

Delete Discount

delete_promotion

Deletes a store-owned discount code.

GET
/api/v1/lotsstore/stores/:id/promotions

List Discounts

list_promotions

List a store's discount codes.

PATCH
/api/v1/lotsstore/stores/:id/promotions/:promotionId

Update Discount

update_promotion

Changes the status of a store-owned discount code.

domains

POST
/api/v1/lotsstore/stores/:id/domains

Add Custom Domain

add_custom_domain

Connect the person's own domain (for example shop.example.com) to a store. Returns one CNAME record pointing to customers.lotscommerce.com for the owner to add at their DNS provider; HTTPS is set up automatically.

DELETE
/api/v1/lotsstore/domains/:id

Delete Custom Domain

delete_custom_domain

Removes a custom domain from a store and its storefront deployment.

GET
/api/v1/lotsstore/stores/:id/domains

List Custom Domains

list_custom_domains

Lists custom domains configured for a store.

POST
/api/v1/lotsstore/domains/:id/verify

Verify Custom Domain

verify_custom_domain

Check a connected domain: reports whether DNS is in place, the security certificate is being issued, or the store is live on the domain.

inventory

GET
/api/v1/lotsstore/stores/:id/inventory

List Inventory

list_inventory

List stock per product variant: in stock, reserved by open orders, incoming and available.

PATCH
/api/v1/lotsstore/stores/:id/inventory

Update Inventory

update_inventory

Set the stock of a product variant.

orders

GET
/api/v1/lotsstore/stores/:id/checkout-orders/:checkoutOrderId

Get Checkout Order

get_checkout_order

Gets a tenant-scoped checkout order request, payment attempts, and timeline.

GET
/api/v1/lotsstore/stores/:id/orders/:orderId

Get Order

get_order

Get one confirmed order: items, totals, customer, addresses, payment and fulfilment.

GET
/api/v1/lotsstore/stores/:id/checkout-orders

List Checkout Orders

list_checkout_orders

Lists pre-fulfillment checkout order requests and their independent payment/acceptance states.

GET
/api/v1/lotsstore/stores/:id/orders

List Orders

list_orders

List a store's confirmed orders with paging and filters.

POST
/api/v1/lotsstore/stores/:id/checkout-orders/:checkoutOrderId/operations

Operate Checkout Order

operate_checkout_order

Applies fulfillment, shipment, cancellation, tracking, invoice, and manual refund actions.

PATCH
/api/v1/lotsstore/stores/:id/checkout-orders/:checkoutOrderId

Update Checkout Order

update_checkout_order

Applies an audited payment verification or seller acceptance action.

payments

POST
/api/v1/lotsstore/stores/:id/payments/razorpay/connect

Connect Razorpay

connect_razorpay

Record the store's own Razorpay account after the owner connects it. Prefer start_payment_oauth, which gives the owner a Razorpay sign-in link.

POST
/api/v1/lotsstore/stores/:id/payments/stripe/connect

Connect Stripe

connect_stripe

Connect the store owner's own Stripe account. Returns the store's Payments page, where the owner pastes one Stripe restricted key, and the steps page for creating that key. Never ask for or accept a Stripe key in chat. Charges run on the owner's Stripe account and settle to their Stripe balance; LotsCommerce takes 0% of sales. Stripe works in the countries Stripe supports.

GET
/api/v1/lotsstore/stores/:id/payment-settings

Get Payment Settings

get_payment_settings

Gets safe payment method and order acceptance settings for a store.

POST
/api/v1/lotsstore/stores/:id/payment-connections/:provider/start

Start Payment Provider Connection

start_payment_oauth

Start connecting the store's own Razorpay account: returns a Razorpay sign-in and consent link for the store owner to open in their browser. Payments settle straight to the merchant's Razorpay account.

POST
/api/v1/lotsstore/stores/:id/payment-connections/razorpay/onboarding/start

Start Razorpay Account Onboarding

start_razorpay_onboarding

Get a link for the store owner to open in their browser to sign in to Razorpay, or create a Razorpay account, and connect it to the store. For businesses registered in India. Money from online payments then settles to the owner's own Razorpay account.

PATCH
/api/v1/lotsstore/stores/:id/payment-settings

Update Payment Settings

update_payment_settings

Turn checkout on or off, choose test or live mode, and set which payment methods the store offers (Stripe, Razorpay, UPI to a UPI ID, WhatsApp orders) and whether verified payments are accepted automatically. A Stripe key is pasted by the owner on the Payments page, never sent here from a chat.

products

POST
/api/v1/lotsstore/stores/:id/products

Add Product

add_product

Add a product to a store with its variants (for example sizes or colours), prices in minor units of the store currency, stock, images and category. Products start as drafts unless status is published.

POST
/api/v1/lotsstore/stores/:id/products/:productId/variants

Add Product Variant

add_product_variant

Creates a variant with options, pricing, identifiers, dimensions, and inventory behavior on an owned product.

POST
/api/v1/lotsstore/stores/:id/products/bulk

Bulk Add Products

bulk_add_products

Add up to 100 products to a store in one call, each with the same fields as add_product.

POST
/api/v1/lotsstore/stores/:id/categories

create Category

create_category

Create a product category, optionally under a parent category.

POST
/api/v1/lotsstore/stores/:id/collections

create Collection

create_collection

Create a product collection, such as Summer or Best sellers.

DELETE
/api/v1/lotsstore/stores/:id/categories/:categoryId

delete Category

delete_category

Delete a product category. Products in it are kept.

DELETE
/api/v1/lotsstore/stores/:id/collections/:collectionId

delete Collection

delete_collection

Delete a product collection. Its products are kept.

DELETE
/api/v1/lotsstore/stores/:id/products/:productId

Delete Product

delete_product

Deletes a product and its derived Lots snapshot after validating store ownership.

DELETE
/api/v1/lotsstore/stores/:id/products/:productId/variants/:variantId

Delete Product Variant

delete_product_variant

Deletes a variant after validating store and product ownership.

GET
/api/v1/lotsstore/stores/:id/products/:productId

Get Product

get_product

Get one product with its variants, prices, stock settings, images and categories.

GET
/api/v1/lotsstore/stores/:id/categories

list Categories

list_categories

List a store's product categories, including parent and subcategories and their order.

GET
/api/v1/lotsstore/stores/:id/collections

list Collections

list_collections

List a store's product collections.

GET
/api/v1/lotsstore/stores/:id/products

List Products

list_products

List a store's products with search, status filter and paging.

PATCH
/api/v1/lotsstore/stores/:id/categories/:categoryId

update Category

update_category

Rename, move or reorder a product category.

PATCH
/api/v1/lotsstore/stores/:id/collections/:collectionId

update Collection

update_collection

Rename a product collection or change its handle.

PATCH
/api/v1/lotsstore/stores/:id/products/:productId

Update Product

update_product

Change a product: title, description, status, prices, variants, images, categories, SEO and more.

PATCH
/api/v1/lotsstore/stores/:id/products/:productId/variants/:variantId

Update Product Variant

update_product_variant

Updates a variant and its prices after validating store and product ownership.

reviews

GET
/api/v1/lotsstore/stores/:id/reviews

List Product Reviews

list_product_reviews

Lists tenant-scoped product reviews for merchant moderation.

PATCH
/api/v1/lotsstore/stores/:id/reviews/:reviewId

Moderate Product Review

moderate_product_review

Publishes or rejects a tenant-owned product review.

POST
/api/v1/lotsstore/stores/:id/reviews/:reviewId/reply

Reply to Product Review

reply_product_review

Adds or updates the merchant reply on a tenant-owned review.

shipping

GET
/api/v1/lotsstore/stores/:id/shipping-settings

Get Shipping Settings

get_shipping_settings

Gets tenant-safe business origin, zones, methods, and provider connection summaries.

PATCH
/api/v1/lotsstore/stores/:id/shipping-settings

Update Shipping Settings

update_shipping_settings

Updates business origin, zones, and manual shipping methods.

stores

POST
/api/v1/lotsstore/stores/:id/archive

Archive a store

archive_store

Archive a store: owner only, confirmed by typing the store name in confirm_name. The storefront goes offline and billing for the store stops; nothing is deleted. The owner can restore it for 30 days. Show the person what this does and get their go-ahead first.

POST
/api/v1/lotsstore/stores

Create Store

create_store

Create a store with a free name.lotscommerce.com address. Needs room on the person's LotsCommerce plan or LotsTech Credits (check get_billing). The country decides the store currency (for example US sells in USD, IN in INR) and cannot change later. The store starts as a draft; publish_store puts it live.

GET
/api/v1/lotsstore/stores/:id

Get Store

get_store

Gets one LotsCommerce tenant, storefront settings, user role, and public URL.

GET
/api/v1/lotsstore/stores/:id/activity

List Store Activity

list_store_activity

Lists recent merchant and commerce activity for an accessible store.

GET
/api/v1/lotsstore/stores

List Stores

list_stores

Lists LotsCommerce tenants where the authenticated user is an active member.

POST
/api/v1/lotsstore/stores/:id/publish

Publish Store

publish_store

Put a store's storefront live at its address so shoppers can browse and buy.

POST
/api/v1/lotsstore/stores/:id/restore

Restore an archived store

restore_store

Restore a store archived in the last 30 days: owner only. It needs room on the person's plan or LotsTech Credits; the storefront comes back online.

PATCH
/api/v1/lotsstore/stores/:id

Update Store

update_store

Update a store's name, description, settings or status. Set status to archived to stop billing for the store and take its storefront offline (nothing is deleted); set it back to draft or active to restore it, which needs room on your plan or LotsTech Credits.

PATCH
/api/v1/lotsstore/stores/:id/storefront

Update Storefront Settings

update_storefront_settings

Saves, publishes, or resets versioned storefront appearance, content, navigation, policies, and SEO settings.

taxes

GET
/api/v1/lotsstore/stores/:id/tax-settings

Get Tax Settings

get_tax_settings

Gets tenant-safe GST/tax, invoice, and category configuration.

PATCH
/api/v1/lotsstore/stores/:id/tax-settings

Update Tax Settings

update_tax_settings

Updates GST registration, pricing, shipping tax, invoice, and tax categories.

team

POST
/api/v1/lotsstore/invitations/accept

Accept a store invitation

accept_store_invitation

Accept an invitation to a store's team with the token from the invitation link. The signed-in account's email must match the invitation.

POST
/api/v1/lotsstore/stores/:id/team

Invite a store teammate

add_store_member

Invite a teammate to a store by email with a role (admin, manager, staff or viewer). They get an email with a link and have access only after they accept it, signed in with that email. Returns invite_url to share if the email does not arrive. Inviting someone again sends a fresh link.

POST
/api/v1/lotsstore/stores/:id/leave

Leave a store

leave_store

Leave a store's team. Anyone except the owner can leave; the owner archives the store instead. Rejoining needs a new invitation.

GET
/api/v1/lotsstore/stores/:id/team

List Store Team Members

list_store_members

Lists a store's team: active members, pending invitations (with when they expire) and removed members.

DELETE
/api/v1/lotsstore/stores/:id/team/:memberId

Remove Store Team Member

remove_store_member

Deactivates a store team member without deleting audit history.

PATCH
/api/v1/lotsstore/stores/:id/team/:memberId

Update Store Team Member

update_store_member

Updates a store team member role or active status.