---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.0
alternate:
  - https://yandex.com/dev/market/partner-api/doc/en/reference/reports/generateGoodsMovementReport.md
  - https://yandex.com/dev/market/partner-api/doc/ru/reference/reports/generateGoodsMovementReport.md
  - https://yandex.com/dev/market/partner-api/doc/zh/reference/reports/generateGoodsMovementReport.md
  - href: en/reference/reports/generateGoodsMovementReport.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/market/partner-api/doc/en/llms.txt

{% note warning "The structure and content of the reports are subject to change without prior notice." %}

For example, a new column may be added or the name of the sheet may change.

{% endnote %}

<!-- source: en/api/reports/generateGoodsMovementReport.md -->
<div class="openapi">

# Report on the movement of goods

<!-- markdownlint-disable-file -->

{% list tabs %}

- Info

  
  <!-- source: en/_auto/method_scopes/generateGoodsMovementReport.md -->
  **The method is available for models: [FBY](https://yandex.com/dev/market/partner-api/doc/en/overview/fby.md) and [LaaS](https://yandex.com/dev/market/partner-api/doc/en/overview/laas.md).**

  {% cut "**If you are using an API Key token, one of the accesses in the list is required to call the method**" %}

  * inventory-and-order-processing — [Order processing and inventory](https://yandex.com/dev/market/partner-api/doc/en/_auto/scopes_summary/pages/inventory-and-order-processing.md)
  * inventory-and-order-processing:read-only — [View order information](https://yandex.com/dev/market/partner-api/doc/en/_auto/scopes_summary/pages/inventory-and-order-processing_read-only.md)
  * offers-and-cards-management — [Manage products and cards](https://yandex.com/dev/market/partner-api/doc/en/_auto/scopes_summary/pages/offers-and-cards-management.md)
  * offers-and-cards-management:read-only — [View products and cards](https://yandex.com/dev/market/partner-api/doc/en/_auto/scopes_summary/pages/offers-and-cards-management_read-only.md)
  * all-methods — Full account management
  * all-methods:read-only — View all data

  {% endcut %}
  <!-- endsource: en/_auto/method_scopes/generateGoodsMovementReport.md -->
  
  
  Starts the generation of a report on the movement of goods. [What kind of report is this](https://yandex.ru/support/marketplace/analytics/reports-fby-fbs.html#flow)
  
  You can find out the generation status and get a link to the finished report using a request. [GET v2/reports/info/{reportId}](https://yandex.com/dev/market/partner-api/doc/en/reference/reports/getReportInfo.md).
  
  
  <!-- source: en/_auto/reports/sku/movement/movement_config.md -->
  Explanation of the report columns:

  {% cut "Sheet **Отчет по движению товаров** (file **movement_by_sku**)" %}

  #|
  || **CSV column name** | **JSON column name** | **XLSX column name** | **Value type** ||
  || SHOP_SKU | shopSku | SKU | string ||
  || SKU_NAME | skuName | Название товара | string ||
  || SHIPMENTS_INCOME | shipmentsIncome | Поставки | integer ||
  || RETURNS_INCOME | returnsIncome | Возвраты | integer ||
  || INVENTORY_SURPLUS | inventorySurplus | Излишки при инвентаризации | integer ||
  || ORDERS_OUTCOME | ordersOutcome | Заказы | integer ||
  || WAREHOUSE_WITHDRAWAL | warehouseWithdrawal | Вывоз со склада | integer ||
  || RECYCLING | recycling | Утилизация | integer ||
  || INVENTORY_SHORTAGE | inventoryShortage | Недостача при инвентаризации | integer ||
  || WAREHOUSE_NAME | warehouseName | Склад | string ||
  |#

  {% endcut %}

  {% cut "Sheet **Отчет по движению товара** (file **movement_by_type**)" %}

  #|
  || **CSV column name** | **JSON column name** | **XLSX column name** | **Value type** ||
  || MOVEMENT_TYPE | movementType | Cобытие | string ||
  || MOVEMENT_NUMBER | movementNumber | Номер документа | integer ||
  || ORDER_ID | orderId | Номер заказа | integer ||
  || DATE | date | Дата | string ||
  || INCOME | income | Поступило | integer ||
  || OUTCOME | outcome | Выбыло | integer ||
  || WAREHOUSE_NAME | warehouseName | Склад | string ||
  |#

  {% endcut %}
  <!-- endsource: en/_auto/reports/sku/movement/movement_config.md -->
  
  
  
  <!-- source: en/_includes/common/report-data-period-unchanged.md -->
  {% note warning "Ограничения по тарифному плану" %}


  The data upload period and the number of reports generated at the same time depend on your data plan:
  * **Without subscription or the "Light" tariff** — data for the last 90 days is available, and 1 report can be generated at a time
  * **The "Medium" tariff** — Up to 10 reports can be generated simultaneously.

  Read more about the subscription for sellers [in the Help of the Market for sellers](https://yandex.ru/support/marketplace/ru/marketing/subscription).


  {% endnote %}
  <!-- endsource: en/_includes/common/report-data-period-unchanged.md -->
  
  
  
  <!-- source: en/_auto/method_limits/generateGoodsMovementReport.md -->
  |<div style="text-align: left;">**⚙️ Limit without subscription:** 1 request per 2 minutes<br>**⭐️ [Limit with Medium subscription](https://yandex.ru/support/marketplace/ru/marketing/subscription):** 1 request per minute</div>|
  |-|
  <!-- endsource: en/_auto/method_limits/generateGoodsMovementReport.md -->
  
  
  
  ## Request
  
  <div class="openapi__requests">
  
  <div class="openapi__request__wrapper" style="--method: var(--dc-openapi-methods-post);margin-bottom: 12px">
  
  <div class="openapi__request">
  
  POST {.openapi__method}
  ```text translate=no
  https://api.partner.market.yandex.ru/v2/reports/goods-movement/generate
  ```
  
  </div>
  
  </div>
  
  </div>
  
  ### Query parameters
  
  #|
  || **Name** | **Description** ||
  ||
  
  _format_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string
  
  The format of the report or document.
  Report format:
  
  * `FILE` — the spreadsheet file (XLSX).
  * `CSV` — A ZIP archive with CSV files for each report sheet.
  * `JSON` — A ZIP archive with JSON files for each report sheet.
  
  
  _Default:_{.json-schema-reset .json-schema-value} `FILE`
  
  _Enum:_{.json-schema-reset .json-schema-value} `FILE`, `CSV`, `JSON`
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "campaignId": 1,
    "dateFrom": "2025-08-22",
    "dateTo": "2025-09-22",
    "shopSku": "example"
  }
  ```
  
  {% endcut %}
  
  #|
  || **Name** | **Description** ||
  ||
  
  _campaignId_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  **Type**: integer
  
  The ID of the campaign (store) — The technical identifier that represents your store in the Yandex Market system when working through the API. It is uniquely linked to your store, but it is intended only for automated interaction.
  
  You can find it using a query [GET v2/campaigns](https://yandex.com/dev/market/partner-api/doc/en/reference/campaigns/getCampaigns.md) or find it in the seller's office on the Market. Click on your account icon → **Settings** and in the menu on the left, select **APIs and modules**:
  
  * block **Campaign ID**;
  * tab **Query log** → drop-down list in the block **Show logs**.
  
  ⚠️ Do not confuse it with:
  - the store's identifier, which is displayed in the merchant's personal account.
  - advertising campaigns.
  
  
  _Min value:_{.json-schema-reset .json-schema-assertion} `1`
  {.table-cell}
  ||
  ||
  
  _dateFrom_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  **Type**: string&lt;date&gt;
  
  The beginning of the period, inclusive.
  
  Date format: `YYYY-MM-DD`.
  
  
  _Example:_{.json-schema-reset .json-schema-example} `2025-08-22`
  {.table-cell}
  ||
  ||
  
  _dateTo_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  **Type**: string&lt;date&gt;
  
  End of the period, inclusive.
  
  Date format: `YYYY-MM-DD`.
  
  
  _Example:_{.json-schema-reset .json-schema-example} `2025-09-22`
  {.table-cell}
  ||
  ||
  
  _shopSku_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string
  
  Your SKU — the product ID in your system.
  
  Usage rules SKU:
  
  * For each product SKU there must be one.
  
  * Already set SKU it cannot be released and reused for another product. Each product should receive a new identifier that has never been used in your catalog before.
  
  SKU The product can be changed in the seller's account on the Market. Read about how to do this. [in the Help of the Market for sellers](https://yandex.ru/support2/marketplace/ru/assortment/operations/edit-sku).
  
  
  {% note warning %}
  
  
  Spaces at the beginning and end of the value are automatically deleted. For example, `"  SKU123  "` and `"SKU123"` they will be treated as identical values.
  
  
  {% endnote %}
  
  
  [What is SKU and how to assign it](https://yandex.ru/support/marketplace/assortment/add/index.html#fields)
  
  
  _Min length:_{.json-schema-reset .json-schema-assertion} `1`
  
  _Max length:_{.json-schema-reset .json-schema-assertion} `255`
  
  _Pattern:_{.json-schema-reset .json-schema-assertion} `^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$`
  
  _Example:_{.json-schema-reset .json-schema-example} `example`
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  </div>
  
  ## Responses
  
  <div class="openapi__response__code__200">
  
  ## 200 OK
  
  In response, you receive an identifier that allows you to find out the generation status and download the finished report.
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "result": {
      "reportId": "example",
      "estimatedGenerationTime": 0
    }
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
  - {% cut "**Type**: object" %}
  
    #|
    ||
  
    _status_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    The type of response.
    Possible values:
    * `OK` — There are no errors.
    * `ERROR` — an error occurred while processing the request.
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The standard wrapper for server responses.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK"
    }
    ```
  
    {% endcut %}
  
  - {% cut "**Type**: object" %}
  
    #|
    ||
  
    _result_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object" %}
  
    #|
    ||
  
    _estimatedGenerationTime_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: integer
  
    Expected generation time in milliseconds.
    {.table-cell}
    ||
    ||
  
    _reportId_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    The ID that will be needed to track the generation status and receive the finished report or document.
  
    _Example:_{.json-schema-reset .json-schema-example} `example`
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    The ID that will be needed to track the generation status and receive the finished report or document.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "reportId": "example",
      "estimatedGenerationTime": 0
    }
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "result": {
        "reportId": "example",
        "estimatedGenerationTime": 0
      }
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__400">
  
  ## 400 Bad Request
  
  The request contains incorrect data. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#400)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__401">
  
  ## 401 Unauthorized
  
  The authorization data is not specified in the request. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#401)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__403">
  
  ## 403 Forbidden
  
  The authorization data is incorrect or access to the resource is prohibited. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#403)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__420">
  
  ## 420 Method Failure
  
  The resource access limit has been exceeded. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#420)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
  
  <div class="openapi__response__code__500">
  
  ## 500 Internal Server Error
  
  Internal error of Yandex. Market. [More information about the error](https://yandex.com/dev/market/partner-api/doc/en/concepts/error-codes.md#500)
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "errors": [
      {
        "code": "example",
        "message": "example"
      }
    ]
  }
  ```
  
  {% endcut %}
  
  **Type**: object
  
  {% cut "**All of 1 type**" %}{.json-schema-combinators data-marker=and}
  
  - **Type**: object
  
    {% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}
  
    - **Type**: object
  
      #|
      ||
  
      _status_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The type of response.
      Possible values:
      * `OK` — There are no errors.
      * `ERROR` — an error occurred while processing the request.
  
  
      _Enum:_{.json-schema-reset .json-schema-value} `OK`, `ERROR`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      The standard wrapper for server responses.
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "status": "OK"
      }
      ```
  
      {% endcut %}
  
    - **Type**: object
  
      #|
      ||
  
      _errors_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      {% cut "**Type**: object[]" %}
  
      #|
      ||
  
      _code_{.json-schema-reset .json-schema-property .json-schema-required}
      {.table-cell}|
      **Type**: string
  
      The error code.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      ||
  
      _message_{.json-schema-reset .json-schema-property}
      {.table-cell}|
      **Type**: string
  
      Description of the error.
  
      _Example:_{.json-schema-reset .json-schema-example} `example`
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% endcut %}
  
      A list of errors.
  
      _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      [
        {
          "code": "example",
          "message": "example"
        }
      ]
      ```
  
      {% endcut %}
      {.table-cell}
      ||
      |#{.json-schema-properties}
  
      {% cut "**Example**" %}{.json-schema-example}
  
      ```json translate=no
      {
        "errors": [
          {
            "code": "example",
            "message": "example"
          }
        ]
      }
      ```
  
      {% endcut %}
  
    {% endcut %}
  
    A standard wrapper for server errors.
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    ```
  
    {% endcut %}
  
  {% endcut %}
  
  </div>
  
  </div>
        

- Console

  ```openapi-sandbox translate=no
  pathParams: []
  searchParams:
    - description: The format of the report or document.
      name: format
      in: query
      required: false
      schema:
        description: >
          Report format:
  
  
          * `FILE` — the spreadsheet file
          (XLSX).
  
          * `CSV` — A ZIP archive with CSV files for
          each report sheet.
  
          * `JSON` — A ZIP archive with JSON files
          for each report sheet.
        type: string
        enum:
          - FILE
          - CSV
          - JSON
        default: FILE
  headers: []
  body: |-
    {
      "campaignId": 1,
      "dateFrom": "2025-08-22",
      "dateTo": "2025-09-22",
      "shopSku": "example"
    }
  schema:
    description: The data required to generate the report.
    type: object
    required:
      - campaignId
      - dateFrom
      - dateTo
    properties:
      campaignId:
        description: "The ID of the campaign (store) — The technical identifier that represents your store in the Yandex Market system when working through the API. It is uniquely linked to your store, but it is intended only for automated interaction.\n\nYou can find it using a query [GET\_v2/campaigns](../../reference/campaigns/getCampaigns.md) or find it in the seller's office on the Market. Click on your account icon → **Settings** and in the menu on the left, select **APIs and modules**:\n\n* block **Campaign ID**;\n* tab **Query log** → drop-down list in the block **Show logs**.\n\n⚠️ Do not confuse it with:\n- the store's identifier, which is displayed in the merchant's personal account.\n- advertising campaigns.\n"
        type: integer
        format: int64
        minimum: 1
      dateFrom:
        type: string
        format: date
        description: |
          The beginning of the period, inclusive.
  
          Date format: `YYYY-MM-DD`.
        example: '2025-08-22'
      dateTo:
        type: string
        format: date
        description: |
          End of the period, inclusive.
  
          Date format: `YYYY-MM-DD`.
        example: '2025-09-22'
      shopSku:
        description: "Your SKU —\_the product ID in your system.\n\nUsage rules SKU:\n\n* For each product SKU there must be one.\n\n* Already set SKU it cannot be released and reused for another product. Each product should receive a new identifier that has never been used in your catalog before.\n\nSKU The product can be changed in the seller's account on the Market. Read about how to do this. [in the Help of the Market for sellers](https://yandex.ru/support2/marketplace/ru/assortment/operations/edit-sku).\n\n\n:::no-translate\n{% note warning %}\n:::\n\n\nSpaces at the beginning and end of the value are automatically deleted. For example, `\"  SKU123  \"` and `\"SKU123\"` they will be treated as identical values.\n\n\n:::no-translate\n{% endnote %}\n:::\n\n\n[What is SKU and how to assign it](https://yandex.ru/support/marketplace/assortment/add/index.html#fields)\n"
        type: string
        pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$
        x-transform: trim
        minLength: 1
        maxLength: 255
  bodyType: application/json
  method: post
  security:
    - type: apiKey
      name: 'Api-Key'
      in: header
    - type: oauth2
      x-inline: true
      flows:
        implicit:
          authorizationUrl: https://oauth.yandex.ru/authorize
          scopes:
            market:partner-api: API Яндекс.Маркета / Поиска по товарам для партнеров
  path: v2/reports/goods-movement/generate
  host: https://api.partner.market.yandex.ru
  
  ```
        

{% endlist %}


</div>
<!-- endsource: en/api/reports/generateGoodsMovementReport.md -->


[*Deprecated]: No longer supported, please use an alternative and newer version.