canonical: https://jentic.com/apis/api2cart.com/api2cart-api2cart-com

# Api2cart Swagger API2Cart

Jentic publishes the only available OpenAPI specification for API2Cart, keeping it validated and agent-ready. API2Cart is a unified shopping-cart integration layer: a single API that connects to dozens of ecommerce platforms - Shopify, Magento, WooCommerce, BigCommerce, OpenCart, and others. Use it to add or update products, manage attributes and attribute sets, and read connected-store metadata across many storefronts without writing a separate integration per platform. The 146-endpoint surface covers the core ecommerce object model in a normalised shape.

## For AI agents

Read and update products, attributes, and store configuration across many ecommerce platforms through API2Cart's unified shopping-cart abstraction.

## Scope

Does not handle storefront UI rendering, payment capture, or carrier label printing - use for unified product, attribute, and store-configuration operations across connected ecommerce platforms only.

## Capabilities

- Add a connected store to an API2Cart account so a single agent can drive Shopify, Magento, and WooCommerce through one API
- Add an attribute to a product across the connected storefronts in one normalised call
- Assign an attribute to an attribute group or set so it shows up consistently in the storefront UI
- Count attributes per store to size catalog migration work before kicking it off
- List failed webhooks for a store and replay them after fixing downstream consumers
- Inspect supported platforms for the account to confirm coverage for a new connector

## Use cases

### Multi-Platform Catalog Updates from One Agent

A retailer running storefronts on Shopify, Magento, and WooCommerce wants to add a new product attribute across all of them. Rather than calling each platform's API separately, an agent posts to /attribute.add.json on API2Cart once per store, and the change propagates through API2Cart's normalised layer. Catalog updates that used to take hours of per-platform work shrink to a single batch.

Example prompt: POST /attribute.add.json once per connected store with the attribute name and type

### Onboarding a New Store Connection

When a merchant connects a new storefront, an agent calls /account.cart.add.json with the platform credentials and store URL. API2Cart performs the connection and adds the store to the account.cart.list. Subsequent product, order, and inventory operations flow through the same unified API.

Example prompt: POST /account.cart.add.json with the platform name, store URL, and connection credentials

### Webhook Recovery After Outages

When a downstream consumer goes offline, API2Cart records the failed webhooks. An agent calls /account.failed_webhooks.json to read the queue, fixes the receiving service, and replays the missed events. No catalog changes get lost during downstream outages.

Example prompt: GET /account.failed_webhooks.json, replay each entry once the receiver is healthy, and confirm the queue clears

### Catalog Migration Sizing

Before migrating a merchant from one platform to another, an agent needs to know catalog scope. /attribute.count.json and /attribute.attributeset.list.json provide attribute counts and attribute-set structure across the source store, so migration plans get accurate scope without manual catalog walking.

Example prompt: Call /attribute.count.json and /attribute.attributeset.list.json for the source store to size the migration before kickoff

### AI Agent Multi-Storefront Operations via Jentic

An AI agent that manages catalog work for a multi-platform retailer uses Jentic to find the right API2Cart operation by intent. Add an attribute, look up failed webhooks, or list connected stores - Jentic returns the matching operation across the 146-endpoint surface so the agent doesn't memorise the API2Cart reference.

Example prompt: Use Jentic to find the API2Cart attribute-add operation, execute it for each connected store, and confirm the new attribute is visible

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/account.cart.add.json` | Add a connected store to the account |
| GET | `/account.cart.list.json` | List connected store carts |
| GET | `/account.failed_webhooks.json` | List failed webhooks pending replay |
| GET | `/account.supported_platforms.json` | List ecommerce platforms supported by the account |
| POST | `/attribute.add.json` | Add a product attribute |
| POST | `/attribute.assign.group.json` | Assign an attribute to a group |
| POST | `/attribute.assign.set.json` | Assign an attribute to a set |
| GET | `/attribute.count.json` | Count attributes on a store |

## Key resources

- **Account and Carts** — API2Cart account, connected store carts, and failed webhook queue
- **Attributes** — Product attributes, attribute groups, and attribute sets across stores
- **Products** — Normalised product objects across connected platforms
- **Configuration** — Account configuration and supported platform metadata

## Why Jentic

- **Setup:** Wiring API2Cart by hand means setting up its API key and store key parameters, learning the operation-name endpoint style, and normalising product and attribute calls across carts yourself. Through Jentic you install once, import API2Cart from the API Directory, store the keys once, and your agent calls it.
- **Permission scoping:** API2Cart addresses each operation by a named endpoint and passes targets as parameters, so scope the agent to the operations it needs, such as listing carts and adding attributes, and leave out others unless you add them. You choose the allowed operations, so the agent only calls what you list.
- **Credential handling:** Your API2Cart keys are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list connected carts' or 'add a product attribute', and Jentic returns the matching API2Cart operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Shopify** — Shopify offers a single-platform native API; API2Cart wraps Shopify alongside other carts behind one normalised surface.
- **Magento** — Magento exposes its own REST and GraphQL APIs; API2Cart abstracts Magento behind a unified ecommerce model.
- **ShipStation** — ShipStation handles label generation downstream of orders that API2Cart syncs across stores.

## FAQ

### Why is there no official OpenAPI spec for API2Cart?

API2Cart does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Swagger API2Cart via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the API2Cart API use?

API2Cart uses two API keys per request: an `api_key` that identifies the API2Cart account and a `store_key` that identifies the connected storefront. Both are sent as query parameters or headers on each call. Through Jentic, both keys are held in the credential vault and injected at execution time.

### Can I add a product attribute across multiple stores in one workflow?

Yes. POST /attribute.add.json normalises the call so the same agent run can add an attribute to a Shopify store, a Magento store, and a WooCommerce store using each store's store_key. /attribute.assign.group.json and /attribute.assign.set.json then place the attribute in the correct group and set.

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

The spec does not declare numeric rate limits; API2Cart enforces account-level throttling depending on plan. Build retries with backoff on 429, and prefer count endpoints (/attribute.count.json) when sizing work before issuing many writes.

### How do I connect a new store with the API2Cart API through Jentic?

Install the SDK with `pip install jentic`. Search Jentic for `connect a new store to api2cart`, load the schema for POST /account.cart.add.json, and execute it with the platform name, store URL, and connection credentials. Jentic handles the api_key while you supply the store details.

### How do I handle failed webhooks?

Call GET /account.failed_webhooks.json to inspect the queue of webhook events that downstream consumers failed to process. Replay or acknowledge entries after fixing the receiver to keep storefront events flowing into the rest of your stack.

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

Yes. Because you run Jentic One yourself, your own rules decide which API2Cart operations and credentials the agent can use. API2Cart addresses each operation by a named endpoint, so you can allow just the ones the agent needs, such as listing connected carts with /account.cart.list.json and adding attributes with /attribute.add.json, while leaving out writes like /account.cart.add.json unless you add them. The agent can only call the operations you list and only with the keys you provide.
