# ecwid API

> ecwid API on Apizie: 42 endpoints (Create a new bulk download job (asynchronous), Fetch all the bulk jobs for an instance, Create an asynchronous bulk query job., Cancel an asynchronous bulk query job., …) returned as clean JSON through one API key. 42 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `ecommerce:cloud-elements-ecwid`
- Category: E-commerce
- Status: live
- Source: https://cloud-elements.com
- Page: https://zieapi.vercel.app/api/ecommerce/cloud-elements-ecwid
- OpenAPI: https://zieapi.vercel.app/api/ecommerce/cloud-elements-ecwid/openapi.json



## Endpoints

### Create a new bulk download job (asynchronous)
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-bulk-download`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Fetch all the bulk jobs for an instance
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-bulk-jobs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| where | string | no | The CEQL search expression, or the where clause, without the WHERE keyword, in a typical SQL query. For example to get all upload jobs the… |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| pageSize | integer | no | The page size for pagination, which defaults to 200 if not supplied |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Create an asynchronous bulk query job.
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-bulk-query`

| Parameter | Type | Required | Description |
|---|---|---|---|
| Elements-Async-Callback-Url | string | no | The Url to send the notification to when the Job is completed |
| q | string | no | The CEQL query. When this parameter is omitted, all objects of the given type are returned via the bulk job. Endpoint limiters may still… |
| lastRunDate | string | no | The last time this query was run. This is optional. You can also have this parameter in the query and leave this blank - optional eg.… |
| from | string | no | The created/updated date of the object to filter on - optional eg. '2014-10-06T13:22:17-08:00' |
| to | string | no | The created/updated date of the object to filter on - optional eg. '2014-10-06T13:22:17-08:00' |
| body | object | no | Form fields as a JSON object |

### Cancel an asynchronous bulk query job.
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/replace-bulk-cancel`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the bulk job to cancel. |

### Retrieve the errors of a bulk job.
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-bulk-errors`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the bulk job to retrieve its errors. |
| pageSize | integer | no | The page size for pagination, which defaults to 200 if not supplied |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Retrieve the status of a bulk job.
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-bulk-status`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the bulk job to retrieve its status. |

### Retrieve the results of an asynchronous bulk query.
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-bulk-by-object-name`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the bulk job |
| objectName | string | yes | The name of the object |

### Upload a file of objects to be bulk uploaded to the provider.
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-bulk-by-object-name`

| Parameter | Type | Required | Description |
|---|---|---|---|
| Elements-Async-Callback-Url | string | no | The Url to send the notification to when the Job is completed |
| objectName | string | yes | The name of the object for which data needs to be uploaded. |
| body | object | no | Form fields as a JSON object |

### Find customers in the eCommerce system, using the provided CEQL search expression. If no search expression…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-customers`

| Parameter | Type | Required | Description |
|---|---|---|---|
| where | string | no | The CEQL search expression, or the where clause, without the WHERE keyword, in a typical SQL query (i.e. field='value'). Supported search… |
| pageSize | integer | no | The number of results to fetch in a given page. When this parameter is omitted, a maximum of 200 results are returned |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Create a new customer in eCommerce system.With the exception of the 'id' field, the required fields…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-customer`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve a customer associated with a given ID from the eCommerce system. Specifying a customer with an ID…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-customer-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the customer to retrieve from the eCommerce system |

### Update an customer associated with a given ID in the eCommerce system.The update API uses the PATCH HTTP…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/update-customer-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the customer to update in the eCommerce system |
| body | object | yes | JSON request body |

### Delete a customer associated with a given ID from your eCommerce system. Specifying a customer associated…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/delete-customer-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the customer to delete from the eCommerce system |

### Find orders in the customer associated with a given ID. If the customer does not exist, an error response…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-customers-orders`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the customer to get orders form in the eCommerce system |
| pageSize | integer | no | The number of results to fetch in a given page. When this parameter is omitted, a maximum of 200 results are returned |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Get a list of all the available objects.
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-objects`

| Parameter | Type | Required | Description |
|---|---|---|---|
| Elements-Version | string | no | Elements Version to be used for getting metadata, possible options are Hydrogen, Helium. Default value is Hydrogen |

### Get swagger docs for an object.
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-objects-object-name-docs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| discovery | boolean | no | Include discovery metadata in definitions |
| resolveReferences | boolean | no | Optionally resolve swagger references for an inline object definition |
| basic | boolean | no | Include only OpenAPI / Swagger properties in definitions |
| version | string | no | The element swagger version to get the corresponding element swagger, Passing in "-1" gives latest element swagger |

### Get a list of all the field for an object.
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-objects-object-name-metadata`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| Elements-Version | string | no | Elements Version to be used for getting metadata, possible options are Hydrogen, Helium. Default value is Hydrogen |

### Find orders in the eCommerce system, using the provided CEQL search expression. If no search expression is…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-orders`

| Parameter | Type | Required | Description |
|---|---|---|---|
| where | string | no | The CEQL search expression, or the where clause, without the WHERE keyword, in a typical SQL query (i.e. field='value'). Supported search… |
| pageSize | integer | no | The number of results to fetch in a given page. When this parameter is omitted, a maximum of 200 results are returned |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Create an order in the eCommerce system.With the exception of the 'id' field, the required fields indicated…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-order`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve an order associated with a given ID from the eCommerce system. Specifying an order with an ID that…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-order-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the order to retrieve from the eCommerce system |

### Update an order associated with a given ID in the eCommerce system. The update API uses the PATCH HTTP verb,…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/update-order-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the order to update in the eCommerce system |
| action | string | no | An action to perform on the order: cancel, reopen or close. If left blank then the order is updated but no action is taken |
| body | object | yes | JSON request body |

### Delete an order associated with a given ID from your eCommerce system. Specifying an order associated with a…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/delete-order-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the order to delete from the eCommerce system |

### Retrieve the payments in the eCommerce system for the specified order
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-orders-payments`

| Parameter | Type | Required | Description |
|---|---|---|---|
| orderId | string | yes | The ID of the order to retrieve payments from in the eCommerce system |
| pageSize | integer | no | The number of results to fetch in a given page. When this parameter is omitted, a maximum of 200 results are returned |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Retrieve the refunds in the eCommerce system for the specified order
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-orders-refunds`

| Parameter | Type | Required | Description |
|---|---|---|---|
| orderId | string | yes | The ID of the order to retrieve refunds from in the eCommerce system |
| pageSize | integer | no | The number of results to fetch in a given page. When this parameter is omitted, a maximum of 200 results are returned |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Ping the Element to confirm that the Hub Element has a heartbeat. If the Element does not have a heartbeat,…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-ping`

### Find products in the eCommerce system, using the provided CEQL search expression. The search expression in…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-products`

| Parameter | Type | Required | Description |
|---|---|---|---|
| where | string | no | The CEQL search expression, or the where clause, without the WHERE keyword, in a typical SQL query (i.e. field='value'). Supported search… |
| pageSize | integer | no | The number of results to fetch in a given page. When this parameter is omitted, a maximum of 200 results are returned |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Create a new product in eCommerce system.With the exception of the 'id' field, the required fields indicated…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-product`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve a product associated with a given ID from the eCommerce system. Specifying a product with an ID…
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-product-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the product to retrieve from the eCommerce system |

### Update a product associated with a given ID in the eCommerce system. The update API uses the PATCH HTTP…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/update-product-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the product to update in the eCommerce system |
| body | object | yes | JSON request body |

### Delete a product associated with a given ID from your eCommerce system. Specifying a product associated with…
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/delete-product-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the product to delete from the eCommerce system |

### Search for {objectName}
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-by-object-name`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| where | string | no | The CEQL search expression. |
| pageSize | integer | no | The page size. Defaults to 200 if not provided. Maximum of 5000. |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Create an {objectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-by-object-name`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| body | object | yes | JSON request body |

### Retrieve an {objectName}
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-object-name-by-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| objectId | string | yes | The {objectName} ID |

### Update an {objectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/replace-object-name-by-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| objectId | string | yes | The {objectName} ID |
| body | object | yes | JSON request body |

### Update an {objectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/update-object-name-by-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| objectId | string | yes | The {objectName} ID |
| body | object | yes | JSON request body |

### Delete an {objectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/delete-object-name-by-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| objectId | string | yes | The {objectName} ID |

### Search for {childObjectName}
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-object-name-by-child-object-name`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| objectId | string | yes | The {objectName} ID |
| childObjectName | string | yes | The name of the childObjectName |
| where | string | no | The CEQL search expression. |
| pageSize | integer | no | The page size. Defaults to 200 if not provided. Maximum of 5000. |
| nextPage | string | no | The next page cursor, taken from the response header: `elements-next-page-token` |
| fields | string | no | The fields to return on the response. Can be a single field or a comma-separated list of fields |

### Create an {objectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-object-name-by-child-object-name`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| objectId | string | yes | The {objectName} ID |
| childObjectName | string | yes | The name of the object |
| body | object | yes | JSON request body |

### Retrieve an {childObjectName}
`GET https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/get-object-name-by-child-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| childObjectName | string | yes | The name of the childObjectName |
| objectId | string | yes | The {objectName} ID |
| childObjectId | string | yes | The {childObjectName} ID |

### Update an {childObjectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/replace-object-name-by-child-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| childObjectName | string | yes | The name of the childObjectName |
| objectId | string | yes | The {objectName} ID |
| childObjectId | string | yes | The {childObjectName} ID |
| body | object | yes | JSON request body |

### Update an {childObjectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/update-object-name-by-child-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| childObjectName | string | yes | The name of the childObjectName |
| objectId | string | yes | The {objectName} ID |
| childObjectId | string | yes | The {childObjectName} ID |
| body | object | yes | JSON request body |

### Delete an {childObjectName}
`POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/delete-object-name-by-child-object-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| objectName | string | yes | The name of the object |
| childObjectName | string | yes | The name of the childObjectName |
| objectId | string | yes | The {objectName} ID |
| childObjectId | string | yes | The {childObjectName} ID |

## Example
```
curl "https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-bulk-download" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the ecwid API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/ecommerce:cloud-elements-ecwid/create-bulk-download with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the ecwid API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the ecwid API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key ecommerce:cloud-elements-ecwid.

### What is the status of the ecwid API?
Live: works with just an Apizie key
