Bitrix24 E-Commerce API

The E-Commerce API from Bitrix24 — 139 operation(s) for e-commerce.

Operations 139

POST /sale.basketitem.add Add Item (Position) to the Cart of an Existing Order sale.basketitem.add #
POST /sale.basketitem.addCatalogProduct Add a position with a product or service from the catalog module to the cart of an existing order sale.basketitem.addCatalogProduct #
POST /sale.basketitem.delete Remove item (position) from the cart using sale.basketitem.delete #
POST /sale.basketitem.get Get Information About a Basket Item (Position) sale.basketitem.get #
POST /sale.basketitem.getFields Get Available Fields of the Basket Item (sale.basketitem.getFields) #
POST /sale.basketitem.getFieldsCatalogProduct Get Available Fields of a Basket Item (Product from Catalog) sale.basketitem.getFieldsCatalogProduct #
POST /sale.basketitem.list Get a List of Items (Positions) in the Cart sale.basketitem.list #
POST /sale.basketitem.update Change the position of the basket in an existing order sale.basketitem.update #
POST /sale.basketitem.updateCatalogProduct Change the basket item position (catalog product) of an existing order sale.basketitem.updateCatalogProduct #
POST /sale.basketproperties.add Create a property for a basket item sale.basketproperties.add #
POST /sale.basketproperties.delete Delete Basket Property sale.basketproperties.delete #
POST /sale.basketproperties.get Get the value of the basket property sale.basketproperties.get #
POST /sale.basketproperties.getFields Get Fields of Basket Properties sale.basketproperties.getFields #
POST /sale.basketproperties.list Get a List of Basket Properties sale.basketproperties.list #
POST /sale.basketproperties.update Change the property of the basket item sale.basketproperties.update #
POST /sale.businessValuePersonDomain.add Add Correspondence to a Natural or Legal Person sale.businessValuePersonDomain.add #
POST /sale.businessValuePersonDomain.deleteByFilter Delete the correspondence with a natural or legal person sale.businessValuePersonDomain.deleteByFilter #
POST /sale.businessValuePersonDomain.getFields Get Fields Corresponding to a Natural or Legal Person sale.businessValuePersonDomain.getFields #
POST /sale.businessValuePersonDomain.list Get a list of matches for a natural or legal person sale.businessValuePersonDomain.list #
POST /sale.cashbox.add Add Cash Register sale.cashbox.add #
POST /sale.cashbox.check.apply Save the result of printing the receipt sale.cashbox.check.apply #
POST /sale.cashbox.delete Delete cash register sale.cashbox.delete #
POST /sale.cashbox.handler.add Add Cashbox Handler sale.cashbox.handler.add #
POST /sale.cashbox.handler.delete Delete Cashbox Handler sale.cashbox.handler.delete #
POST /sale.cashbox.handler.list Get a list of available cash register handlers sale.cashbox.handler.list #
POST /sale.cashbox.handler.update Update Cash Register Handler sale.cashbox.handler.update #
POST /sale.cashbox.list Get a list of configured cash registers sale.cashbox.list #
POST /sale.cashbox.update Update Existing Cash Register sale.cashbox.update #
POST /sale.delivery.add Add Delivery Service sale.delivery.add #
POST /sale.delivery.config.get Get Delivery Service Settings sale.delivery.config.get #
POST /sale.delivery.config.update Update Delivery Service Settings sale.delivery.config.update #
POST /sale.delivery.delete Delete Delivery Service sale.delivery.delete #
POST /sale.delivery.extra.service.add Add Delivery Service sale.delivery.extra.service.add #
POST /sale.delivery.extra.service.delete Delete the delivery service sale.delivery.extra.service.delete #
POST /sale.delivery.extra.service.get Get Information About All Services of a Specific Delivery Service sale.delivery.extra.service.get #
POST /sale.delivery.extra.service.update Update Delivery Service sale.delivery.extra.service.update #
POST /sale.delivery.getlist Get a list of delivery services sale.delivery.getlist #
POST /sale.delivery.handler.add Add Delivery Service Handler sale.delivery.handler.add #
POST /sale.delivery.handler.delete Delete Delivery Service Handler sale.delivery.handler.delete #
POST /sale.delivery.handler.list Get a list of delivery service handlers sale.delivery.handler.list #
POST /sale.delivery.handler.update Update Delivery Service Handler sale.delivery.handler.update #
POST /sale.delivery.request.delete Delete Delivery Request sale.delivery.request.delete #
POST /sale.delivery.request.sendmessage Create Notifications for Delivery Request sale.delivery.request.sendmessage #
POST /sale.delivery.request.update Update Delivery Request sale.delivery.request.update #
POST /sale.delivery.update Update Delivery Service sale.delivery.update #
POST /sale.order.add Add Order sale.order.add #
POST /sale.order.delete Delete Order and Related Objects sale.order.delete #
POST /sale.order.get Get Order Field Values and Related Objects sale.order.get #
POST /sale.order.getfields Get Order Fields sale.order.getfields #
POST /sale.order.list Get the list of orders sale.order.list #
POST /sale.order.update Update Order sale.order.update #
POST /sale.payment.add Add Payment sale.payment.add #
POST /sale.payment.delete Delete Payment sale.payment.delete #
POST /sale.payment.get Get Payment by Id sale.payment.get #
POST /sale.payment.getFields Get Payment Fields sale.payment.getFields #
POST /sale.payment.list Get the list of payments sale.payment.list #
POST /sale.payment.update Update Payment sale.payment.update #
POST /sale.paymentItemShipment.add Add Payment Binding to Shipment sale.paymentItemShipment.add #
POST /sale.paymentItemShipment.delete Remove the binding sale.paymentItemShipment.delete #
POST /sale.paymentItemShipment.get Get Payment Binding by Id sale.paymentItemShipment.get #
POST /sale.paymentItemShipment.getFields Get Fields for sale.paymentItemShipment.getFields #
POST /sale.paymentItemShipment.list Get a list of bindings sale.paymentItemShipment.list #
POST /sale.paymentItemShipment.update Change Payment Binding to Shipment sale.paymentItemShipment.update #
POST /sale.paymentitembasket.add Add Basket Item Binding to Payment sale.paymentitembasket.add #
POST /sale.paymentitembasket.delete Delete the binding of the cart item to the payment sale.paymentitembasket.delete #
POST /sale.paymentitembasket.get Get Values of All Fields for the Basket Item Binding to Payment sale.paymentitembasket.get #
POST /sale.paymentitembasket.getfields Get Available Fields for Payment Item Basket Bindings sale.paymentitembasket.getfields #
POST /sale.paymentitembasket.list Get a list of basket item bindings to payments sale.paymentitembasket.list #
POST /sale.paymentitembasket.update Update the binding of the cart item to the payment sale.paymentitembasket.update #
POST /sale.persontype.add Add payer type sale.persontype.add #
POST /sale.persontype.delete Delete payer type sale.persontype.delete #
POST /sale.persontype.get Get the payer type by Id sale.persontype.get #
POST /sale.persontype.getFields Get Fields of the Payer Type sale.persontype.getFields #
POST /sale.persontype.list Get a list of payer types sale.persontype.list #
POST /sale.persontype.update Change the payer type sale.persontype.update #
POST /sale.property.add Add Order Property sale.property.add #
POST /sale.property.delete Delete Order Property sale.property.delete #
POST /sale.property.get Get Order Property sale.property.get #
POST /sale.property.getfieldsbytype Get Fields and Settings of Order Properties for a Specific Property Type sale.property.getfieldsbytype #
POST /sale.property.list Get the list of order properties sale.property.list #
POST /sale.property.update Update Order Property sale.property.update #
POST /sale.propertyRelation.add Add Property Binding sale.propertyRelation.add #
POST /sale.propertyRelation.deleteByFilter Remove Property Relation with sale.propertyRelation.deleteByFilter #
POST /sale.propertyRelation.getFields Get Fields of Property Binding sale.propertyRelation.getFields #
POST /sale.propertyRelation.list Get a list of property bindings sale.propertyRelation.list #
POST /sale.propertygroup.add Create Property Group sale.propertygroup.add #
POST /sale.propertygroup.delete Delete Property Group sale.propertygroup.delete #
POST /sale.propertygroup.get Get Values of All Fields in a Property Group by ID sale.propertygroup.get #
POST /sale.propertygroup.getFields Get Available Fields of Property Groups sale.propertygroup.getFields #
POST /sale.propertygroup.list Get a list of property groups sale.propertygroup.list #
POST /sale.propertygroup.update Update Property Group Fields sale.propertygroup.update #
POST /sale.propertyvalue.delete Delete Order Property Value sale.propertyvalue.delete #
POST /sale.propertyvalue.get Get Property Value with sale.propertyvalue.get #
POST /sale.propertyvalue.getfields Get Available Fields of the Property Value sale.propertyvalue.getfields #
POST /sale.propertyvalue.list Get a list of property values sale.propertyvalue.list #
POST /sale.propertyvalue.modify Change the Value of the Property sale.propertyvalue.modify #
POST /sale.propertyvariant.add Add Property Variant sale.propertyvariant.add #
POST /sale.propertyvariant.delete Delete Property Variant sale.propertyvariant.delete #
POST /sale.propertyvariant.get Get Property Variant Value by ID sale.propertyvariant.get #
POST /sale.propertyvariant.getFields Get Available Fields of Property Variant sale.propertyvariant.getFields #
POST /sale.propertyvariant.list Get a list of property variants sale.propertyvariant.list #
POST /sale.propertyvariant.update Update Property Variant Fields sale.propertyvariant.update #
POST /sale.shipment.add Add Shipment sale.shipment.add #
POST /sale.shipment.delete Delete Shipment sale.shipment.delete #
POST /sale.shipment.get Get Shipment Fields sale.shipment.get #
POST /sale.shipment.getfields Get Available Shipment Fields sale.shipment.getfields #
POST /sale.shipment.list Get the list of shipments sale.shipment.list #
POST /sale.shipment.update Update Shipment sale.shipment.update #
POST /sale.shipmentitem.add Add an item to the shipment table part sale.shipmentitem.add #
POST /sale.shipmentitem.delete Delete Shipment Item from Collection sale.shipmentitem.delete #
POST /sale.shipmentitem.get Accessing Fields of the sale.shipmentitem.get Element #
POST /sale.shipmentitem.getfields Get Fields of Shipment Item from sale.shipmentitem.getfields #
POST /sale.shipmentitem.list Get a list of shipment item table elements sale.shipmentitem.list #
POST /sale.shipmentitem.update Update an item in the shipment table part sale.shipmentitem.update #
POST /sale.shipmentproperty.add Add Shipment Property sale.shipmentproperty.add #
POST /sale.shipmentproperty.delete Delete Shipment Property sale.shipmentproperty.delete #
POST /sale.shipmentproperty.get Get Shipment Property sale.shipmentproperty.get #
POST /sale.shipmentproperty.getfieldsbytype Get Fields and Settings of Shipment Property for a Specific Property Type sale.shipmentproperty.getfieldsbytype #
POST /sale.shipmentproperty.list Get a list of shipment properties sale.shipmentproperty.list #
POST /sale.shipmentproperty.update Update Shipment Property sale.shipmentproperty.update #
POST /sale.shipmentpropertyvalue.delete Delete Shipment Property Value sale.shipmentpropertyvalue.delete #
POST /sale.shipmentpropertyvalue.get Get Shipment Property Value by ID sale.shipmentpropertyvalue.get #
POST /sale.shipmentpropertyvalue.getfields Get Available Fields of Shipment Property Values sale.shipmentpropertyvalue.getfields #
POST /sale.shipmentpropertyvalue.list Get a list of shipment property values sale.shipmentpropertyvalue.list #
POST /sale.shipmentpropertyvalue.modify Update Shipment Property Values sale.shipmentpropertyvalue.modify #
POST /sale.status.add Create status sale.status.add #
POST /sale.status.delete Delete Status sale.status.delete #
POST /sale.status.get Get Values of All Status Fields by ID sale.status.get #
POST /sale.status.list Get the list of statuses sale.status.list #
POST /sale.status.update Update status sale.status.update #
POST /sale.statusLang.add Add Localization sale.statusLang.add #
POST /sale.statusLang.deleteByFilter Delete localization sale.statusLang.deleteByFilter #
POST /sale.statusLang.getFields Get Localization Fields for Statuses sale.statusLang.getFields #
POST /sale.statusLang.getListLangs Get the list of languages for localization sale.statusLang.getListLangs #
POST /sale.statusLang.list Get a list of localizations for sale.statusLang.list #
POST /sale.tradeBinding.getFields Get Available Order Fields from sale.tradeBinding.getFields #
POST /sale.tradeBinding.list Get a list of orders from sources sale.tradeBinding.list #
POST /sale.tradePlatform.getFields Get Available Fields of Order Sources sale.tradePlatform.getFields #
POST /sale.tradePlatform.list Get a List of Order Sources: sale.tradePlatform.list #

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/bitrix24-e-commerce-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

bitrix24-e-commerce-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bitrix24 REST BIconnector E Commerce API
  version: 1.0.0
  description: 'Bitrix24 REST API provides access to CRM, tasks, drive, chats, telephony, e-commerce, automation, and other modules. Documentation: https://apidocs.bitrix24.com'
  contact:
    name: Bitrix24 Developer Support
    url: https://apidocs.bitrix24.com/support.html
  license:
    name: MIT
    url: https://github.com/bitrix-tools/b24-rest-docs/blob/main/LICENSE
  x-logo:
    url: https://apidocs.bitrix24.com/_images/bitrix24logo.svg
servers:
- url: https://{portal}.bitrix24.com/rest
  description: Your Bitrix24 portal (cloud)
  variables:
    portal:
      default: your-portal
      description: Subdomain of your Bitrix24 portal
- url: https://{host}/rest
  description: On-Premise Bitrix24 installation
  variables:
    host:
      default: your-bitrix24.example.com
      description: Host of your on-premise installation
security:
- AccessToken: []
tags:
- name: E-Commerce
paths:
  /sale.basketitem.add:
    post:
      summary: Add Item (Position) to the Cart of an Existing Order sale.basketitem.add
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method adds an item to the cart of an existing order.
      operationId: sale_basketitem_add
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-add.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                  description: '| Field values for creating an item (position) in the cart of the order ||'
                orderId:
                  type: string
                  description: '| Order identifier ||'
                sort:
                  type: integer
                  description: '| Position in the list of order items ||'
                productid:
                  type: string
                  description: '| Product/variation identifier.'
                price:
                  type: number
                  format: double
                  description: '| Price including markups and discounts (see the `customPrice` field below).'
                basePrice:
                  type: number
                  format: double
                  description: '| Original price excluding markups and discounts (see the `customPrice` field below).'
                discountPrice:
                  type: number
                  format: double
                  description: '| Amount of the final discount or markup (see the `customPrice` field below).'
                currency:
                  type: string
                  description: '| Currency of the price. Must match the currency of the order ||'
                customPrice:
                  type: string
                  description: '| Is the price specified manually. Possible values:'
                quantity:
                  type: number
                  format: double
                  description: '| Quantity of the product ||'
                xmlId:
                  type: string
                  description: '| External code of the cart item ||'
              required:
              - fields
              - orderId
              - productid
              - currency
              - quantity
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                fields:
                  type: object
                  description: '| Field values for creating an item (position) in the cart of the order ||'
                orderId:
                  type: string
                  description: '| Order identifier ||'
                sort:
                  type: integer
                  description: '| Position in the list of order items ||'
                productid:
                  type: string
                  description: '| Product/variation identifier.'
                price:
                  type: number
                  format: double
                  description: '| Price including markups and discounts (see the `customPrice` field below).'
                basePrice:
                  type: number
                  format: double
                  description: '| Original price excluding markups and discounts (see the `customPrice` field below).'
                discountPrice:
                  type: number
                  format: double
                  description: '| Amount of the final discount or markup (see the `customPrice` field below).'
                currency:
                  type: string
                  description: '| Currency of the price. Must match the currency of the order ||'
                customPrice:
                  type: string
                  description: '| Is the price specified manually. Possible values:'
                quantity:
                  type: number
                  format: double
                  description: '| Quantity of the product ||'
                xmlId:
                  type: string
                  description: '| External code of the cart item ||'
              required:
              - fields
              - orderId
              - productid
              - currency
              - quantity
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.addCatalogProduct:
    post:
      summary: Add a position with a product or service from the catalog module to the cart of an existing order sale.basketitem.addCatalogProduct
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method adds a position (item) with a product or service from the catalog module to the cart of an existing order.
      operationId: sale_basketitem_addCatalogProduct
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-add-catalog-product.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                  description: '| Field values for creating an item (position) in the order cart ||'
                orderId:
                  type: string
                  description: '| Order identifier. Can only be specified when creating a cart position.'
                sort:
                  type: integer
                  description: '| Position in the order item list ||'
                productid:
                  type: string
                  description: '| Identifier of the product/variation'
                price:
                  type: number
                  format: double
                  description: '| Price considering markups and discounts (see the `customPrice` field below). If not specified, it will be calculated based on catalog data.'
                basePrice:
                  type: number
                  format: double
                  description: '| Original price without considering markups and discounts (see the `customPrice` field below). If not specified, it will be calculated based on catalog data.'
                discountPrice:
                  type: number
                  format: double
                  description: '| Amount of the final discount or markup (see the `customPrice` field below). If not specified, it will be calculated based on catalog data.'
                currency:
                  type: string
                  description: '| Currency of the price. Must match the currency of the order ||'
                customPrice:
                  type: string
                  description: '| Is the price specified manually:'
                quantity:
                  type: number
                  format: double
                  description: '| Quantity of the product ||'
                xmlId:
                  type: string
                  description: '| External code of the cart position ||'
                name:
                  type: string
                  description: '| Name of the product ||'
              required:
              - fields
              - orderId
              - productid
              - currency
              - quantity
              - name
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                fields:
                  type: object
                  description: '| Field values for creating an item (position) in the order cart ||'
                orderId:
                  type: string
                  description: '| Order identifier. Can only be specified when creating a cart position.'
                sort:
                  type: integer
                  description: '| Position in the order item list ||'
                productid:
                  type: string
                  description: '| Identifier of the product/variation'
                price:
                  type: number
                  format: double
                  description: '| Price considering markups and discounts (see the `customPrice` field below). If not specified, it will be calculated based on catalog data.'
                basePrice:
                  type: number
                  format: double
                  description: '| Original price without considering markups and discounts (see the `customPrice` field below). If not specified, it will be calculated based on catalog data.'
                discountPrice:
                  type: number
                  format: double
                  description: '| Amount of the final discount or markup (see the `customPrice` field below). If not specified, it will be calculated based on catalog data.'
                currency:
                  type: string
                  description: '| Currency of the price. Must match the currency of the order ||'
                customPrice:
                  type: string
                  description: '| Is the price specified manually:'
                quantity:
                  type: number
                  format: double
                  description: '| Quantity of the product ||'
                xmlId:
                  type: string
                  description: '| External code of the cart position ||'
                name:
                  type: string
                  description: '| Name of the product ||'
              required:
              - fields
              - orderId
              - productid
              - currency
              - quantity
              - name
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.delete:
    post:
      summary: Remove item (position) from the cart using sale.basketitem.delete
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method removes an item (position) from the cart in the order.
      operationId: sale_basketitem_delete
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-delete.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the cart item (position).'
              required:
              - id
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the cart item (position).'
              required:
              - id
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.get:
    post:
      summary: Get Information About a Basket Item (Position) sale.basketitem.get
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method retrieves information about a basket item (position).
      operationId: sale_basketitem_get
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-get.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the basket item (position).'
              required:
              - id
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the basket item (position).'
              required:
              - id
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.getFields:
    post:
      summary: Get Available Fields of the Basket Item (sale.basketitem.getFields)
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method returns a list of available fields of the basket item. Each field is described as a field settings structure [rest_field_description](../data-types.md). No parameters.
      operationId: sale_basketitem_getFields
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-get-fields.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                result:
                  type: object
                  description: '| Root element of the response ||'
                basketItem:
                  type: object
                  description: '| Object in the format `{"field_1": "value_1", ... "field_N": "value_N"}`, where `field` is the identifier of the object sale_basket_item, and `value` is an object of type rest_field_description'
                time:
                  type: string
                  description: '| Information about the request execution time ||'
                Code:
                  type: string
                  description: '| Description ||'
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                result:
                  type: object
                  description: '| Root element of the response ||'
                basketItem:
                  type: object
                  description: '| Object in the format `{"field_1": "value_1", ... "field_N": "value_N"}`, where `field` is the identifier of the object sale_basket_item, and `value` is an object of type rest_field_description'
                time:
                  type: string
                  description: '| Information about the request execution time ||'
                Code:
                  type: string
                  description: '| Description ||'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.getFieldsCatalogProduct:
    post:
      summary: Get Available Fields of a Basket Item (Product from Catalog) sale.basketitem.getFieldsCatalogProduct
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method returns a list of available fields for a basket item (position) for the methods [sale.basketitem.addCatalogProduct](./sale-basket-item-add-catalog-product.md) and [sale.basketitem.updateCatalogProduct](./sale-basket-item-update-catalog-product.md) — these methods only work with products from the catalog module in basket items (positions). Unlike [sale.basketitem.getFields](./sale-basket-item-get-fields.md), the method `sale.basketitem.getFieldsCatalogProduct` returns the minimum necessary list of fields for operation. No parameters required.
      operationId: sale_basketitem_getFieldsCatalogProduct
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-get-catalog-product-fields.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                result:
                  type: object
                  description: '| Root element of the response ||'
                basketItem:
                  type: object
                  description: '| Object in the format `{"field_1": "value_1", ... "field_N": "value_N"}`, where `field` is the identifier of the field of the sale_basket_item, and `value` is an object of type rest_field_description'
                time:
                  type: string
                  description: '| Information about the request execution time ||'
                Code:
                  type: string
                  description: '| Description ||'
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                result:
                  type: object
                  description: '| Root element of the response ||'
                basketItem:
                  type: object
                  description: '| Object in the format `{"field_1": "value_1", ... "field_N": "value_N"}`, where `field` is the identifier of the field of the sale_basket_item, and `value` is an object of type rest_field_description'
                time:
                  type: string
                  description: '| Information about the request execution time ||'
                Code:
                  type: string
                  description: '| Description ||'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.list:
    post:
      summary: Get a List of Items (Positions) in the Cart sale.basketitem.list
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method returns a set of items (positions) in the cart filtered by the specified criteria.
      operationId: sale_basketitem_list
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-list.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                select:
                  type: array
                  items: {}
                  description: '|'
                filter:
                  type: object
                  description: '| An object for filtering the selected records in the format `{"field_1": "value_1", ... "field_N": "value_N"}`.'
                order:
                  type: object
                  description: '|'
                start:
                  type: integer
                  description: '| This parameter is used to manage pagination.'
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                select:
                  type: array
                  items: {}
                  description: '|'
                filter:
                  type: object
                  description: '| An object for filtering the selected records in the format `{"field_1": "value_1", ... "field_N": "value_N"}`.'
                order:
                  type: object
                  description: '|'
                start:
                  type: integer
                  description: '| This parameter is used to manage pagination.'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.update:
    post:
      summary: Change the position of the basket in an existing order sale.basketitem.update
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method modifies the position of the basket in an existing order.
      operationId: sale_basketitem_update
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-update.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the order item ||'
                fields:
                  type: object
                  description: '| Values of the fields to be modified ||'
                sort:
                  type: integer
                  description: '| Position in the list of order items ||'
                price:
                  type: number
                  format: double
                  description: '| Price including markups and discounts ||'
                basePrice:
                  type: number
                  format: double
                  description: '| Original price excluding markups and discounts ||'
                discountPrice:
                  type: number
                  format: double
                  description: '| Amount of the final discount or markup ||'
                quantity:
                  type: number
                  format: double
                  description: '| Quantity of the product ||'
                xmlId:
                  type: string
                  description: '| External code of the basket item ||'
                name:
                  type: string
                  description: '| Name of the product ||'
                weight:
                  type: integer
                  description: '| Weight of the product ||'
                dimensions:
                  type: string
                  description: '| Dimensions of the product (serialized array) ||'
                measureCode:
                  type: string
                  description: '| Code of the product''s unit of measure ||'
                measureName:
                  type: string
                  description: '| Name of the unit of measure ||'
                canBuy:
                  type: string
                  description: '| Availability flag of the product. Possible values:'
                vatRate:
                  type: number
                  format: double
                  description: '| Tax rate in percentage. To specify the "No VAT" rate, an empty string should be passed ||'
                vatIncluded:
                  type: string
                  description: '| Flag indicating whether VAT or tax is included in the product price. Possible values:'
                catalogXmlId:
                  type: string
                  description: '| External code of the product catalog ||'
                productXmlId:
                  type: string
                  description: '| External code of the product ||'
              required:
              - id
              - fields
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the order item ||'
                fields:
                  type: object
                  description: '| Values of the fields to be modified ||'
                sort:
                  type: integer
                  description: '| Position in the list of order items ||'
                price:
                  type: number
                  format: double
                  description: '| Price including markups and discounts ||'
                basePrice:
                  type: number
                  format: double
                  description: '| Original price excluding markups and discounts ||'
                discountPrice:
                  type: number
                  format: double
                  description: '| Amount of the final discount or markup ||'
                quantity:
                  type: number
                  format: double
                  description: '| Quantity of the product ||'
                xmlId:
                  type: string
                  description: '| External code of the basket item ||'
                name:
                  type: string
                  description: '| Name of the product ||'
                weight:
                  type: integer
                  description: '| Weight of the product ||'
                dimensions:
                  type: string
                  description: '| Dimensions of the product (serialized array) ||'
                measureCode:
                  type: string
                  description: '| Code of the product''s unit of measure ||'
                measureName:
                  type: string
                  description: '| Name of the unit of measure ||'
                canBuy:
                  type: string
                  description: '| Availability flag of the product. Possible values:'
                vatRate:
                  type: number
                  format: double
                  description: '| Tax rate in percentage. To specify the "No VAT" rate, an empty string should be passed ||'
                vatIncluded:
                  type: string
                  description: '| Flag indicating whether VAT or tax is included in the product price. Possible values:'
                catalogXmlId:
                  type: string
                  description: '| External code of the product catalog ||'
                productXmlId:
                  type: string
                  description: '| External code of the product ||'
              required:
              - id
              - fields
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - sale
  /sale.basketitem.updateCatalogProduct:
    post:
      summary: Change the basket item position (catalog product) of an existing order sale.basketitem.updateCatalogProduct
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. This method changes the basket item position (catalog product) of an existing order.
      operationId: sale_basketitem_updateCatalogProduct
      tags:
      - E-Commerce
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/sale/basket-item/sale-basket-item-update-catalog-product.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the basket item. Can be obtained using the methods sale.basketitem.addCatalogProduct and sale.basketitem.list ||'
                fields:
                  type: object
                  description: '| Object with modifiable fields ||'
                sort:
                  type: integer
                  description: '| Position in the order item list ||'
                quantity:
                  type: number
                  format: double
                  description: '| Quantity of the product ||'
                xmlId:
                  type: string
                  description: '| External code of the basket item ||'
              required:
              - id
              - fields
              - quantity
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: '| Identifier of the basket item. Can be obtain

# --- truncated at 32 KB (436 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitrix24/refs/heads/main/openapi/bitrix24-e-commerce-api-openapi.yml