Emporix Execute API

Run a chain of existing cart operations in one request.

Business capability
Cart & Checkout AE-140.20

Operations 1

POST /cart/{tenant}/carts/{cartId}/execute Executing a chain of cart commands #

Documentation

📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-1
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-23
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-6
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-7
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-5
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-8
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-17
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-25
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-37
📖
Documentation
https://developer.emporix.io/api-references/readme/approval-api-reference
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-15
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-13
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-16
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-14
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-41
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-9
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-10
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-12
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-19
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-38
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-40
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-36
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-22
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-3
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-20
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-24
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-29
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-26
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-39
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-4
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-21
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-27
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-28
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-11
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-30
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-18
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-35
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-2
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-33
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-31
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-32
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-34
📖
Documentation
https://developer.emporix.io/api-references/readme/api-reference-42

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-metadata-filter-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-agent-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-job-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-conversation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-agent-analytics-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-agent-template-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-rag-emporix-native-tool-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-access-token-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-access-token-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-create-catalog-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-catalog-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-update-catalog-properties-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-update-catalog-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-object-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-create-catalog-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-category-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-category-tree-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-category-deprecated-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-category-create-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-category-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-category-partial-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-cart-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-cart-item-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-cart-item-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-update-cart-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-discount-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-create-cart-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-request-checkout-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-request-from-quote-checkout-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-response-checkout-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-fee-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-item-fee-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-item-yrns-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-search-item-fee-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-search-items-fee-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-item-fee-creation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-payment-mode-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-payment-method-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-refund-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-initialize-payment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-authorize-frontend-payment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-authorize-payment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-get-shopping-list-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-employee-shopping-list-create-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-own-shopping-list-create-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-own-shopping-list-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-get-shopping-lists-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-approval-id-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-legal-entity-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-legal-entity-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-contact-assignment-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-contact-assignment-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-location-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-location-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-customer-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-exchange-auth-token-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-customer-signup-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-address-create-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-validate-token-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-refresh-customer-token-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-category-tree-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-item-assignment-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-patch-operation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-customer-assignment-b2-cresponse-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-group-assignment-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-bulk-assignment-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-customer-for-seller-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-address-2-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-address-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-password-migration-retention-config-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-customer-bulk-item-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-password-migration-retention-config-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-vendor-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-vendor-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-client-configuration-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-configuration-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-country-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-currency-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-currency-retrieval-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-currency-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-exchange-rate-retrieval-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-exchange-rate-creation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-exchange-rate-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-index-configuration-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-reindex-job-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-index-public-configuration-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-reindex-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-reindex-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-index-creation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-site-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-mixin-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-mixins-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-resource-location-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-base-unit-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-conversion-factor-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-conversion-factor-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-conversion-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-update-unit-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-conversion-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-basic-delivery-time-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-slot-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-slot-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-method-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-patch-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-upload-session-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-download-url-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-upload-session-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-asset-create-link-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-asset-update-link-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-availability-with-bundle-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-availability-bulk-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-availability-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-location-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-bulk-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-location-search-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-job-status-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-job-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-order-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-sales-order-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-order-entries-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-sales-order-creation-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-order-update-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-historical-transitions-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-return-id-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-match-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-price-model-definition-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-match-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-search-prices-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-create-price-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-price-model-definition-retrieval-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-tax-calculation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-tax-calculation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-tax-retrieval-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-tax-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-tax-creation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-tax-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-brand-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-brand-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-update-brand-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-brands-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-label-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-label-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-label-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-dynamic-variant-product-with-id-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-dynamic-variant-recalculation-job-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-dynamic-variant-recalculation-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-dynamic-variant-recalculation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-bundle-product-with-id-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-parent-variant-product-with-id-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-create-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-history-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-create-from-cart-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-reason-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-quote-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-referral-coupon-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-base-coupon-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-coupon-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-redemption-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-coupon-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-redemption-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-redeem-option-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-added-points-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-redeemed-points-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-points-summary-out-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-new-customer-in-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-redeem-coupon-out-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-user-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-access-control-query-document-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-group-create-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-group-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-groups-query-document-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-access-control-upsert-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-changelog-history-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-import-run-schema.json
📊
JSONSchema
https://artifacts.apis.io/emporix/json-schema/emporix-import-stream-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/emporix:emporix-execute-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

emporix-execute-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Emporix Execute API
  version: ''
  contact:
    email: documentation@emporix.com
  description: 'Operations tagged Execute across 2 of this provider''s published API definitions: emporix-cart-openapi.yml, emporix-cart-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.emporix.io
security:
- OAuth2: []
tags:
- name: Execute
  description: Run a chain of existing cart operations in one request.
paths:
  /cart/{tenant}/carts/{cartId}/execute:
    parameters:
    - $ref: '#/components/parameters/cartId'
    - $ref: '#/components/parameters/trait_tenant'
    post:
      tags:
      - Execute
      summary: Executing a chain of cart commands
      operationId: POST-cart-execute
      description: 'Runs a sequence of existing cart operations in one HTTP request. Cart, item, and discount REST endpoints stay unchanged.

        `POST /cart/{tenant}/carts/{cartId}/execute` is an additional, opt-in way to call the same operations. The cart id is the path

        parameter. The service copies it onto every command. One request is one cart.


        A typical storefront flow is `AddCartItem` followed by `GetCart` with `expandCalculation` set to `true`. The 207 `results`

        array already contains the created item and the calculated cart, so the client does not send a second `GET` unless it wants a

        later refresh. The two-call sequence (`POST .../items` then `GET .../carts/{cartId}`) continues to work.


        Request duration is approximately the sum of the chained commands. The client saves a network round trip, not the calculation

        work. Clients and API gateways must set timeouts for the full chain, especially when a command runs cart calculation.


        The service does not send HTTP requests to the existing REST URLs. Downstream calls inside those operations (price, product,

        cart calculation) still happen, the same as in the equivalent REST calls.


        For command types, error handling, session and legal entity, versioning, and whole-request validation errors, see

        How to add an item and retrieve the calculated cart in one request.


        ### Additional scopes information


        * `cart.cart_manage` – Use when a service token manages carts that do not belong to the request customer.

        * `cart.cart_manage_external_prices` – Use when a command payload includes an external price, product, fee, or discount.'
      security:
      - CustomerAccessToken: []
      - OAuth2:
        - cart.cart_manage
      parameters:
      - $ref: '#/components/parameters/trait_tenant'
      - name: onError
        in: query
        required: false
        description: 'Controls whether the chain stops after the first non-2xx command.


          Possible values:

          * `fail` – Stop after the first non-2xx command. `results` contains only the commands that ran, including the failed one.

          * `resume` – Run every command. Later commands still see earlier successful mutations.


          An invalid value returns **400** for the whole request before any command runs.

          '
        schema:
          type: string
          enum:
          - fail
          - resume
          default: fail
      - name: versioning
        in: query
        required: false
        description: 'If-Match strategy for participating writes (`AddCartItem`, `UpdateCartItem`, `UpdateCart`, `ApplyCartDiscount`).


          Possible values:

          * `skip` – Never pass a version. Ignore `options.resourceVersion` if present.

          * `explicit` – Every participating command must send `options.resourceVersion`. Missing version on any participating write returns **400** for the whole request (preflight). This is not `skip`.

          * `follow` – Seed from the first participating write, then use that cursor for later writes. After the cursor exists, a successful `RefreshCart`, delete, or itemsBatch also bumps it.


          An invalid value returns **400** for the whole request before any command runs.

          '
        schema:
          type: string
          enum:
          - skip
          - explicit
          - follow
          default: skip
      - name: session-id
        in: header
        required: false
        schema:
          type: string
        description: 'Anonymous customer unique session identifier. Shared by every command in the chain. Commands cannot override this header.

          '
      - name: legal-entity-id
        in: header
        required: false
        schema:
          type: string
        description: 'Legal entity of the shopper context. Shared by every command in the chain. Commands cannot override this header. To act as a different legal entity, send another request.

          '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/executeRequest'
            examples:
              Add item then calculated cart:
                summary: Storefront add then GET with expandCalculation
                value:
                  commands:
                  - type: AddCartItem
                    data:
                      itemYrn: urn:yaas:saasag:caasproduct:product:yourTenant;mobile-phone-s24-gross
                      quantity: 2
                      price:
                        priceId: 679ca63dbcdefe5b380c98bc
                        originalAmount: 350
                        effectiveAmount: 350
                        currency: EUR
                  - type: GetCart
                    options:
                      expandCalculation: true
              Follow resource versions:
                summary: Seed version 5 then omit resourceVersion on later writes
                value:
                  commands:
                  - type: UpdateCartItem
                    data:
                      quantity: 2
                    options:
                      itemId: '1'
                      resourceVersion: 5
                  - type: UpdateCartItem
                    data:
                      quantity: 1
                    options:
                      itemId: '2'
                  - type: GetCart
                    options:
                      expandCalculation: true
                  - type: UpdateCartItem
                    data:
                      quantity: 3
                    options:
                      itemId: '3'
      responses:
        '207':
          description: The command chain was accepted and executed. `results` lists each command that ran. This status is used for all-2xx chains and for partial failures.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/executeResponse'
              examples:
                Add item then calculated cart:
                  summary: All commands succeeded
                  description: '`GetCart` `data` is the cart from `GET /cart/{tenant}/carts/{cartId}` with `expandCalculation=true`.

                    This sample is that cart for the added line. Discount and fee fields are omitted because this cart has none.'
                  value:
                    results:
                    - index: 0
                      type: AddCartItem
                      code: 201
                      status: Created
                      data:
                        itemId: '3'
                        yrn: urn:yaas:saasag:caascart:item:yourTenant;6a86b20c2f5961330a8b3eb6;3
                    - index: 1
                      type: GetCart
                      code: 200
                      status: OK
                      data:
                        id: 6a86b20c2f5961330a8b3eb6
                        currency: EUR
                        siteCode: main
                        type: shopping
                        items:
                        - id: '3'
                          quantity: 2
                          effectiveQuantity: 2
                          itemYrn: urn:yaas:saasag:caasproduct:product:yourTenant;mobile-phone-s24-gross
                          unitPrice:
                            netValue: 294.118
                            grossValue: 350
                            taxValue: 55.882
                            taxCode: STANDARD
                            taxRate: 19
                          calculatedPrice:
                            price:
                              netValue: 588.235
                              grossValue: 700
                              taxValue: 111.765
                              taxCode: STANDARD
                              taxRate: 19
                              calculated: INTERNAL
                            finalPrice:
                              netValue: 588.235
                              grossValue: 700
                              taxValue: 111.765
                              taxCode: STANDARD
                              taxRate: 19
                              calculated: INTERNAL
                        calculatedPrice:
                          price:
                            netValue: 588.235
                            grossValue: 700
                            taxValue: 111.765
                          finalPrice:
                            netValue: 588.235
                            grossValue: 700
                            taxValue: 111.765
                Stop after first failure:
                  summary: onError=fail omits later commands from results
                  value:
                    results:
                    - index: 0
                      type: AddCartItem
                      code: 201
                      status: Created
                      data:
                        itemId: '3'
                        yrn: urn:yaas:saasag:caascart:item:yourTenant;6a86b20c2f5961330a8b3eb6;3
                    - index: 1
                      type: UpdateCartItem
                      code: 404
                      status: Not Found
                      data:
                        code: 404
                        status: Not Found
                        message: Cart item not found in cart 6a86b20c2f5961330a8b3eb6 with code 9
                No-content write:
                  summary: 204 commands omit data
                  value:
                    results:
                    - index: 0
                      type: UpdateCartItem
                      code: 204
                      status: No Content
                    - index: 1
                      type: GetCart
                      code: 200
                      status: OK
                      data:
                        id: 612cc4783cff1d66f699b6a1
                        items:
                        - id: '1'
                          quantity: 2
        '400':
          description: The execute request is invalid. No command ran. `results` is not returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Too many commands:
                  value:
                    code: 400
                    status: Bad Request
                    message: commands must contain at most 10 entries
                Empty commands:
                  value:
                    code: 400
                    status: Bad Request
                    message: commands must contain between 1 and 10 entries
                Unknown type:
                  value:
                    code: 400
                    status: Bad Request
                    message: 'Unknown command type: CreateCart'
                Invalid versioning:
                  value:
                    code: 400
                    status: Bad Request
                    message: 'Invalid versioning value: lock. Expected skip, explicit, or follow'
                Explicit preflight:
                  value:
                    code: 400
                    status: Bad Request
                    message: versioning=explicit requires options.resourceVersion on participating command type AddCartItem
        '401':
          $ref: '#/components/responses/trait_401'
        '403':
          $ref: '#/components/responses/trait_403'
        '500':
          $ref: '#/components/responses/trait_500'
    servers:
    - url: https://api.emporix.io
components:
  schemas:
    executeCommandOptions:
      type: object
      description: Remaining path and query equivalents for the command. Required fields depend on `type`. The cart id is the execute path parameter, not an option.
      properties:
        itemId:
          type: string
          description: 'Cart item unique identifier generated when the product is added to the cart.


            Required for `UpdateCartItem` and `DeleteCartItem`.

            '
        partial:
          type: boolean
          default: false
          description: 'When `true`, only the provided item or batch fields are updated. Same default as the REST `partial` query parameter (`false`).


            Used by `UpdateCartItem` and `UpdateCartItemsBatch`.

            '
        expandCalculation:
          type: boolean
          default: true
          description: 'When `true`, `GetCart` returns a fully calculated cart. Same default as the REST `expandCalculation` query parameter (`true`).


            Used by `GetCart`.

            '
        zipCode:
          type: string
          minLength: 1
          maxLength: 9
          description: 'Zip code of the shipping address, used for tax calculations, shipping cost estimations, and pricing. Provide together with `countryCode` if either is specified.


            Used by `GetCart`.

            '
        countryCode:
          type: string
          minLength: 2
          maxLength: 2
          description: 'Two-letter country code of the shipping address. Provide together with `zipCode` if either is specified.


            Used by `GetCart`.

            '
        resourceVersion:
          type: integer
          description: 'Cart resource version used as If-Match for participating writes (`AddCartItem`, `UpdateCartItem`, `UpdateCart`, `ApplyCartDiscount`).


            * `versioning=skip` – ignored

            * `versioning=explicit` – required on every participating command (whole-request preflight)

            * `versioning=follow` – required to seed the first participating write; omit on later writes


            Extra `resourceVersion` on `GetCart`, `ValidateCart`, `RefreshCart`, deletes, and itemsBatch is ignored.

            '
        codes:
          type: array
          items:
            type: string
          example:
          - code1
          - code2
          description: 'Discount codes to remove. If omitted, `DeleteCartDiscounts` removes all discounts. Same meaning as the REST `codes` query parameter.


            Used by `DeleteCartDiscounts`.

            '
        discountIndex:
          type: string
          description: 'Index of the discount in the cart discounts array.


            Required for `DeleteCartDiscount`.

            '
    ErrorMessage:
      title: error
      description: Schema for API-specific errors.
      type: object
      properties:
        code:
          description: Original HTTP error code. It should be consistent with the HTTP response code.
          type: integer
        status:
          description: HTTP Status
          type: string
        message:
          description: Descriptive error message for debugging purposes.
          type: string
    executeRequest:
      type: object
      description: Body of `POST /cart/{tenant}/carts/{cartId}/execute`. Between 1 and 10 commands.
      required:
      - commands
      properties:
        commands:
          type: array
          minItems: 1
          maxItems: 10
          description: 'Commands to run sequentially. Maximum 10. Request duration is approximately the sum of the chained commands.


            Each item needs `type`. `data` is the REST request body and is omitted for commands that have no body. The cart id is the path parameter. `options` holds remaining path and query equivalents (`itemId`, `partial`, `expandCalculation`, `zipCode`, `countryCode`, `resourceVersion`, `codes`, `discountIndex`).

            '
          items:
            $ref: '#/components/schemas/executeCommand'
    executeCommandResult:
      type: object
      description: Result of one command in the execute chain. `data` matches the REST response body for that command.
      required:
      - index
      - type
      - code
      - status
      properties:
        index:
          type: integer
          minimum: 0
          description: Zero-based index of the command in the request `commands` array.
        type:
          type: string
          description: Command type that produced this result.
        code:
          type: integer
          description: HTTP status code of the equivalent REST operation.
        status:
          type: string
          description: HTTP reason phrase that matches `code`.
        data:
          description: 'Response body of the equivalent REST operation. Omitted when that endpoint returns 204.


            A single-object body (`AddCartItem`, `GetCart`, `ApplyCartDiscount`, `ValidateCart`, or an error) is an object. `GetCartDiscounts`, `AddCartItemsBatch`, and `UpdateCartItemsBatch` return an array. Failures use the same error shape as REST (`code`, `status`, `message`).

            '
          oneOf:
          - type: object
            additionalProperties: true
          - type: array
            items:
              type: object
              additionalProperties: true
        headers:
          type: object
          additionalProperties:
            type: string
          description: 'Response headers for this command.


            When a participating write applied If-Match, this object contains `hybris-resource-version` set to the version after the write. `versioning=skip` does not send If-Match, so the header is absent.


            `AddCartItemsBatch` does not use this object for item locations. Each created item''s `data[].headers.location` uses the same location as REST `POST .../itemsBatch`.

            '
    executeCommand:
      type: object
      description: 'One operation in the execute chain. `type` selects the REST equivalent. `data` is that endpoint’s request body. The cart id is the execute path parameter. `options` fields are remaining path and query equivalents (`itemId`, `partial`, `expandCalculation`, `zipCode`, `countryCode`, `resourceVersion`, `codes`, `discountIndex`).


        Session and legal-entity identity are request headers, not command fields.

        '
      required:
      - type
      properties:
        type:
          type: string
          description: 'Operation to run.


            Possible values:

            * `AddCartItem`

            * `UpdateCartItem`

            * `DeleteCartItem`

            * `DeleteCartItems`

            * `GetCart`

            * `AddCartItemsBatch`

            * `UpdateCartItemsBatch`

            * `UpdateCart`

            * `ApplyCartDiscount`

            * `GetCartDiscounts`

            * `DeleteCartDiscounts`

            * `DeleteCartDiscount`

            * `RefreshCart`

            * `ValidateCart`

            '
          enum:
          - AddCartItem
          - UpdateCartItem
          - DeleteCartItem
          - DeleteCartItems
          - GetCart
          - AddCartItemsBatch
          - UpdateCartItemsBatch
          - UpdateCart
          - ApplyCartDiscount
          - GetCartDiscounts
          - DeleteCartDiscounts
          - DeleteCartDiscount
          - RefreshCart
          - ValidateCart
        data:
          description: 'Request body of the equivalent REST operation.


            * `AddCartItem` – cart item body

            * `UpdateCartItem` – cart item update body

            * `AddCartItemsBatch` – list of cart item bodies

            * `UpdateCartItemsBatch` – list of cart item updates (maximum 50)

            * `UpdateCart` – cart update body

            * `ApplyCartDiscount` – discount body


            Omit `data` for `GetCart`, `RefreshCart`, `ValidateCart`, deletes, `GetCartDiscounts`, `DeleteCartDiscounts`, and `DeleteCartDiscount`.


            The service selects the body type from `type`. A single item body is an object. Batch commands send an array.

            '
          oneOf:
          - type: object
            additionalProperties: true
          - type: array
            items:
              type: object
              additionalProperties: true
        options:
          $ref: '#/components/schemas/executeCommandOptions'
    executeResponse:
      type: object
      description: Body of a 207 execute response. Present only when the chain was accepted and executed.
      required:
      - results
      properties:
        results:
          type: array
          description: 'Ordered results for commands that ran. With `onError=fail`, the array stops after the first non-2xx command.

            '
          items:
            $ref: '#/components/schemas/executeCommandResult'
  responses:
    trait_403:
      description: Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            insufficient_permissions:
              value:
                status: Forbidden
                code: 403
                message: User not authorized.
    trait_401:
      description: 'Given request is unauthorized - the authorization token is invalid or has expired.


        Details will be provided in the response payload.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Access Token expired:
              value:
                fault:
                  faultstring: Access Token expired
                  detail:
                    errorcode: keymanagement.service.access_token_expired
            Invalid access token:
              value:
                fault:
                  faultstring: Invalid access token
                  detail:
                    errorcode: oauth.v2.InvalidAccessToken
    trait_500:
      description: Some server-side error occurred. Details will be provided in the response payload.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            internal_service_error:
              value:
                status: Internal Server Error
                code: 500
                message: Something went wrong while processing the request. The error has been logged under code 20210819_095055_677_vwurkrl.
  parameters:
    cartId:
      name: cartId
      in: path
      required: true
      schema:
        type: string
      description: Cart unique identifier generated when a cart is created.
    trait_tenant:
      name: tenant
      in: path
      required: true
      description: 'Your Emporix tenant name.


        **Note**: The tenant should always be written in lowercase.

        '
      schema:
        pattern: ^[a-z][a-z0-9]+$
        minLength: 3
        maxLength: 16
        type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.emporix.io/oauth/token
          scopes:
            cart.cart_manage: Needed to manage carts. This scope is only required for OAuth2 authorization method to authorize the request with the `access_token`.
            cart.cart_manage_external_prices: Needed to manage external prices, products, fees and discounts. It's required only when an external price, product, fee or discount is provided.
    CustomerAccessToken:
      type: http
      scheme: bearer
x-refined-from:
- emporix-cart-openapi.yml
- emporix-cart-openapi.yml