canonical: https://jentic.com/apis/ecwid.com/ecwid

# Ecwid API

Ecwid is a storefront platform that lets businesses sell across their own website, social channels, and marketplaces. Its REST API exposes 27 endpoints for managing the store profile, product catalogue, and orders, plus categories, customers, and discounts via tag groupings. Merchants use it to sync inventory, push new products, fulfil orders, and read customer records as part of broader commerce automations scoped to a specific storeId.

## For AI agents

Manage Ecwid store products, orders, customers, categories, and discounts with bearer-token authentication scoped to a storeId.

## Scope

Does not handle payment processing, shipping label generation, or marketing campaigns - use for managing Ecwid storefront products, orders, customers, categories, and discounts only.

## Capabilities

- Search, create, update, and delete products in an Ecwid store catalogue
- Manage orders end to end including search, retrieve, update, and delete by orderNumber
- Read and update the store profile to keep merchant settings in sync
- Manage customers and customer groups for personalised pricing and outreach
- Manage product categories and discounts that drive storefront merchandising

## Use cases

### Product Catalogue Sync

Merchants running Ecwid alongside an ERP or PIM need product records to flow in both directions. The Ecwid API exposes GET /products, POST /products, PUT `/products/{productId}`, and DELETE `/products/{productId}` so an integration can keep titles, prices, and stock numbers aligned. Each product call is scoped to the storeId in the base URL so multi-store merchants can run parallel syncs.

Example prompt: Pull the ERP product list, GET /products from Ecwid, and POST or PUT updates so titles, prices, and stock match.

### Order Fulfilment Pipeline

Fulfilment systems poll Ecwid for new orders, update status as packages move through the warehouse, and write tracking numbers back to the order record. The orders endpoints - GET /orders, GET `/orders/{orderNumber}`, PUT `/orders/{orderNumber}`, and DELETE `/orders/{orderNumber}` - cover the lifecycle. The merchant sees fulfilment progress directly in the Ecwid admin without manual updates.

Example prompt: GET /orders filtered by 'awaitingProcessing', PUT `/orders/{orderNumber}` with the new fulfilment status and tracking, and confirm the response.

### Customer Relationship Workflow

Ecwid stores hold customer records that downstream marketing and CRM systems want. The API surfaces customer records and groupings so an integration can segment by group, retrieve order history, and build targeted email or SMS flows in another tool. Customers stay scoped to the storeId, keeping multi-store deployments cleanly separated.

Example prompt: List Ecwid customers by group, push qualifying customers into the marketing CRM, and tag them with their Ecwid customer group.

### Storefront Profile and Discounts Management

Operations teams update Ecwid store settings and discounts through the API rather than the admin UI when they manage many stores. GET /profile and PUT /profile expose the store configuration, while the discounts resource manages coupon-style rules that apply at checkout. This is useful for chains of branded storefronts that share configuration patterns.

Example prompt: GET /profile for each storeId in scope, compare against the canonical settings, and PUT /profile to bring outliers back in line.

### AI Agent Storefront Operations

An AI agent embedded in a merchant's operations stack can use Jentic to discover Ecwid product, order, and customer endpoints and run a multi-step workflow - adjust pricing, fulfil orders, and update customer notes - based on natural-language requests. Jentic delivers the bearer token and operation schemas into the agent's context for each step.

Example prompt: Through Jentic, search 'list ecwid orders' and 'update ecwid product price', load the schemas, and execute the chosen flow against the merchant's storeId.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/products` | Search products |
| POST | `/products` | Create a product |
| PUT | `/products/{productId}` | Update a product |
| GET | `/orders` | Search orders |
| GET | `/orders/{orderNumber}` | Retrieve an order |
| PUT | `/orders/{orderNumber}` | Update an order |
| GET | `/profile` | Get store profile |

## Key resources

- **Products** — Search, create, update, and delete products
- **Orders** — Search, retrieve, update, and delete orders by orderNumber
- **Customers** — Manage customer records and customer groups
- **Categories** — Manage storefront product categories
- **Discounts** — Manage discount and coupon rules
- **Store** — Read and update the store profile

## Why Jentic

- **Setup:** Wiring the Ecwid API by hand means managing its bearer token, embedding your storeId in the app.ecwid.com base path, and setting the Authorization header on every request across products, orders, and customer endpoints. Through Jentic you install once, import the Ecwid API from the API Directory, store the bearer token once, and your agent calls it.
- **Permission scoping:** Ecwid operations put the resource id in the URL path, such as `/products/{productId}` and `/orders/{orderNumber}`, so a rule can pin your agent to one product or one order. You choose the operations it may call, so you can allow reading orders and updating product prices while leaving broader writes out unless you add them.
- **Credential handling:** Your Ecwid bearer token, scoped to a specific storeId, is stored once, encrypted, by your own Jentic One instance and injected as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list Ecwid orders' or 'update an Ecwid product price', and Jentic returns the matching /orders or /products operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Shopify Admin API** — Larger e-commerce platform with deeper merchant tooling and apps
- **eBay Fulfillment API** — Marketplace order management for merchants who also list on eBay
- **ECOMMPAY API** — Payments orchestration that can sit beneath an Ecwid storefront

## FAQ

### What authentication does the Ecwid API use?

The Ecwid API uses HTTP bearer-token authentication (the bearerAuth scheme) with a token scoped to a specific storeId in the base URL. Through Jentic, the bearer token is stored encrypted in your Jentic One instance and injected into the Authorization header at call time.

### Can I create products in an Ecwid store via the API?

Yes. POST /products accepts the product payload (title, price, stock, images) and the response returns the new productId. PUT `/products/{productId}` handles subsequent updates.

### What are the rate limits for the Ecwid API?

The OpenAPI spec does not declare rate limits. Ecwid applies platform-level throttling per storeId; for high-volume sync jobs, batch reads via GET /products with pagination rather than fetching products individually.

### How do I update an Ecwid order's status through Jentic?

Search 'update ecwid order' in Jentic, load the PUT `/orders/{orderNumber}` schema, pass the new fulfilment status and tracking number, and Jentic submits the call against the merchant's storeId.

### Does the Ecwid API support multi-store merchants?

Yes. The base URL https://app.ecwid.com/api/v3/{storeId} embeds the storeId, and the bearer token is scoped to that store. To work across multiple stores, an agent uses one credential per storeId.

### Can I limit what my agent is allowed to do with the Ecwid API?

Yes. Because you run Jentic One yourself, your own rules decide which Ecwid operations and credentials the agent may use, so you can pick exactly which endpoints it calls. You might allow reading orders with GET /orders and updating prices with PUT `/products/{productId}` while leaving broader writes like POST /products or DELETE out unless you add them. Since Ecwid puts the resource id in the path, such as `/products/{productId}` and `/orders/{orderNumber}`, a rule can also pin the agent to a single product or order, all scoped to your storeId.
