---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://yandex.ru/dev/market/partner-api/doc/en/reference/content/updateOfferContent.md
  - https://yandex.ru/dev/market/partner-api/doc/ru/reference/content/updateOfferContent.md
  - https://yandex.ru/dev/market/partner-api/doc/zh/reference/content/updateOfferContent.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/market/partner-api/doc/en/llms.txt

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

# Editing product category characteristics

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

{% list tabs %}

- Info

  
  <!-- source: en/_auto/method_scopes/updateOfferContent.md -->
  **The method is available for [all models](https://yandex.ru/dev/market/partner-api/doc/en/overview/business.md).**

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

  * offers-and-cards-management — [Manage products and cards](https://yandex.ru/dev/market/partner-api/doc/en/_auto/scopes_summary/pages/offers-and-cards-management.md)
  * all-methods — Full account management

  {% endcut %}
  <!-- endsource: en/_auto/method_scopes/updateOfferContent.md -->
  
  
  Edits product characteristics that are specific to the category it belongs to.
  
  
  {% note warning "Здесь только то, что относится к конкретной категории" %}
  
  
  If you need to change the main parameters of the product (name, description, images, video, manufacturer, barcode), use the request [POST v2/businesses/{businessId}/offer-mappings/update](https://yandex.ru/dev/market/partner-api/doc/en/reference/business-offer-mappings/updateOfferMappings.md).
  
  
  {% endnote %}
  
  
  To remove the characteristics that are set in the parameters with the type `string`, pass an empty value.
  
  
  {% note info "Данные в каталоге обновляются не мгновенно" %}
  
  
  It takes up to a few minutes.
  
  
  {% endnote %}
  
  
  
  <!-- source: en/_auto/method_limits/updateOfferContent.md -->
  |<div style="text-align: left;">**⚙️ Limit without subscription:** 5 000 offers per minute<br>**⭐️ [Limit with Medium subscription](https://yandex.ru/support/marketplace/ru/marketing/subscription):** 10 000 offers per minute</div>|
  |-|
  <!-- endsource: en/_auto/method_limits/updateOfferContent.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/businesses/{businessId}/offer-cards/update
  ```
  
  </div>
  
  </div>
  
  </div>
  
  ### Path parameters
  
  #|
  || **Name** | **Description** ||
  ||
  
  _businessId_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  **Type**: integer
  
  Cabinet ID.
  
  
  
  
  To find out, use the request [GET v2/campaigns](https://yandex.ru/dev/market/partner-api/doc/en/reference/campaigns/getCampaigns.md).
  
  ℹ️ [What is a cabinet and a store on the Market?](https://yandex.ru/support/marketplace/account/introduction.html)
  
  
  
  
  
  _Min value:_{.json-schema-reset .json-schema-assertion} `1`
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "offersContent": [
      {
        "offerId": "example",
        "categoryId": 0,
        "parameterValues": [
          {
            "parameterId": 1,
            "unitId": 0,
            "valueId": 0,
            "value": "example"
          }
        ]
      }
    ]
  }
  ```
  
  {% endcut %}
  
  #|
  || **Name** | **Description** ||
  ||
  
  _offersContent_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  {% cut "**Type**: object[]" %}
  
  #|
  ||
  
  _categoryId_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  **Type**: integer
  
  The ID of the category on the Market.
  
  When changing the category, make sure that the product characteristics and their values in the parameter `parameterValues` you are submitting for a new category.
  
  You can get a list of Market categories using a request.  [POST v2/categories/tree](https://yandex.ru/dev/market/partner-api/doc/en/reference/categories/getCategoriesTree.md).
  
  
  _Min value:_{.json-schema-reset .json-schema-assertion} `0`
  
  _Exclusive min:_{.json-schema-reset .json-schema-assertion} `true`
  {.table-cell}
  ||
  ||
  
  _offerId_{.json-schema-reset .json-schema-property .json-schema-required}
  {.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}
  ||
  ||
  
  _parameterValues_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  {% cut "**Type**: object[]" %}
  
  #|
  ||
  
  _parameterId_{.json-schema-reset .json-schema-property .json-schema-required}
  {.table-cell}|
  **Type**: integer
  
  The identifier of the characteristic.
  
  _Min value:_{.json-schema-reset .json-schema-assertion} `1`
  {.table-cell}
  ||
  ||
  
  _unitId_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: integer
  
  ID of the unit of measurement. If you did not pass the parameter `unitId`, the default unit of measurement is used.
  {.table-cell}
  ||
  ||
  
  _value_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string
  
  Meaning.
  
  For type characteristics `ENUM` send:
  - Together with `valueId`, if you take the value from the directory;
  - without `valueId`, if the value is its own.
  
  
  _Example:_{.json-schema-reset .json-schema-example} `example`
  {.table-cell}
  ||
  ||
  
  _valueId_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: integer
  
  ID of the value.
  
  - Be sure to specify the identifier if you are transmitting a value from the list of acceptable values received from the Market.
  - Do not specify for your own values.
  - Only for type characteristics `ENUM`.
  
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  {% endcut %}
  
  A list of characteristics with their values.
  
  When **changing** characteristics, transmit only those whose value needs to be updated. If in `categoryId` you are changing the category, the values of the common characteristics for the old and new categories will remain, and you do not need to transfer them.
  
  Read more in ["Transfer of characteristic values"](https://yandex.ru/dev/market/partner-api/doc/en/step-by-step/parameter-values.md).
  
  
  _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
  _Max items:_{.json-schema-reset .json-schema-assertion} `300`
  
  {% cut "**Example**" %}{.json-schema-example}
  
  ```json translate=no
  [
    {
      "parameterId": 1,
      "unitId": 0,
      "valueId": 0,
      "value": "example"
    }
  ]
  ```
  
  {% endcut %}
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  {% endcut %}
  
  A list of products with the specified characteristics.
  
  _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
  _Max items:_{.json-schema-reset .json-schema-assertion} `100`
  
  {% cut "**Example**" %}{.json-schema-example}
  
  ```json translate=no
  [
    {
      "offerId": "example",
      "categoryId": 0,
      "parameterValues": [
        {
          "parameterId": 1,
          "unitId": 0,
          "valueId": 0,
          "value": "example"
        }
      ]
    }
  ]
  ```
  
  {% endcut %}
  {.table-cell}
  ||
  |#{.json-schema-properties}
  
  </div>
  
  ## Responses
  
  <div class="openapi__response__code__200">
  
  ## 200 OK
  
  The request was executed correctly, and the data has been processed.
  
  
  {% note warning "Ответ `200` сам по себе не значит, что переданные значения корректны" %}
  
  
  Be sure to look at the details of the response.: `status`, as well as a list of errors (`results.errors`) and comments (`results.warnings`), if there are any.
  
  - If an error is returned for at least one product (`results.errors`), field `status` = `ERROR`. Changes to all transferred items will not be applied.
  - If there are no errors, but at least one product has a comment returned (`results.warnings`), field `status` = `OK`, and the changes will be applied.
  
  
  {% endnote %}
  
  
  If in `status` It's back `ERROR`, make sure that:
  
  * All required specifications are filled in.
  * the characteristics actually exist in the specified categories;
  * the values correspond to the characteristics;
  * your own values have the desired data type.
  
  Fields will help you find problems. `errors` and `warnings`.
  
  
  <div class="openapi-entity">
  
  ### Body
  
  {% cut "application/json" %}
  
  ```json translate=no
  {
    "status": "OK",
    "results": [
      {
        "offerId": "example",
        "errors": [
          {}
        ],
        "warnings": [
          {}
        ]
      }
    ]
  }
  ```
  
  {% 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" %}
  
    #|
    ||
  
    _results_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object[]" %}
  
    #|
    ||
  
    _offerId_{.json-schema-reset .json-schema-property .json-schema-required}
    {.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}
    ||
    ||
  
    _errors_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object[]" %}
  
    #|
    ||
  
    _message_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    The text of the error or warning.
  
    _Example:_{.json-schema-reset .json-schema-example} `example`
    {.table-cell}
    ||
    ||
  
    _type_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    Types of errors and warnings:
  
    * `OFFER_NOT_FOUND` — there is no such product in the catalog.
    * `UNKNOWN_CATEGORY` — an unknown category is specified.
    * `INVALID_CATEGORY` — a non-leaf category is specified. Specify the one that has no child categories.
    * `UNKNOWN_PARAMETER` — A characteristic has been transmitted that is not among the characteristics of the category.
    * `UNEXPECTED_BOOLEAN_VALUE` — something else is passed instead of the boolean value.
    * `NUMBER_FORMAT` — a string is passed that does not represent a number, instead of a number.
    * `INVALID_UNIT_ID` — the unit of measurement that is unacceptable for the characteristic has been passed.
    * `INVALID_GROUP_ID_LENGTH` — the allowed character value is exceeded in the name — 255.
    * `INVALID_GROUP_ID_CHARACTERS` — transferred [invalid characters](*ascii-code).
  
    You can check which category characteristics are available for a given category and get their settings using a request. [POST v2/category/{categoryId}/parameters](getCategoryContentParameters).
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `OFFER_NOT_FOUND`, `UNKNOWN_CATEGORY`, `INVALID_CATEGORY`, `UNKNOWN_PARAMETER`, `UNEXPECTED_BOOLEAN_VALUE`, `NUMBER_FORMAT`, `INVALID_UNIT_ID`, `INVALID_GROUP_ID_LENGTH`, `INVALID_GROUP_ID_CHARACTERS`
    {.table-cell}
    ||
    ||
  
    _parameterId_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    **Type**: integer
  
    ID of the characteristic that the error or warning is associated with.
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    Mistakes.
  
    If there is an error for at least one product, the information in the catalog will not be updated for all transferred products.
  
  
    _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    [
      {
        "type": "OFFER_NOT_FOUND",
        "parameterId": 0,
        "message": "example"
      }
    ]
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    ||
  
    _warnings_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    {% cut "**Type**: object[]" %}
  
    #|
    ||
  
    _message_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    The text of the error or warning.
  
    _Example:_{.json-schema-reset .json-schema-example} `example`
    {.table-cell}
    ||
    ||
  
    _type_{.json-schema-reset .json-schema-property .json-schema-required}
    {.table-cell}|
    **Type**: string
  
    Types of errors and warnings:
  
    * `OFFER_NOT_FOUND` — there is no such product in the catalog.
    * `UNKNOWN_CATEGORY` — an unknown category is specified.
    * `INVALID_CATEGORY` — a non-leaf category is specified. Specify the one that has no child categories.
    * `UNKNOWN_PARAMETER` — A characteristic has been transmitted that is not among the characteristics of the category.
    * `UNEXPECTED_BOOLEAN_VALUE` — something else is passed instead of the boolean value.
    * `NUMBER_FORMAT` — a string is passed that does not represent a number, instead of a number.
    * `INVALID_UNIT_ID` — the unit of measurement that is unacceptable for the characteristic has been passed.
    * `INVALID_GROUP_ID_LENGTH` — the allowed character value is exceeded in the name — 255.
    * `INVALID_GROUP_ID_CHARACTERS` — transferred [invalid characters](*ascii-code).
  
    You can check which category characteristics are available for a given category and get their settings using a request. [POST v2/category/{categoryId}/parameters](getCategoryContentParameters).
  
  
    _Enum:_{.json-schema-reset .json-schema-value} `OFFER_NOT_FOUND`, `UNKNOWN_CATEGORY`, `INVALID_CATEGORY`, `UNKNOWN_PARAMETER`, `UNEXPECTED_BOOLEAN_VALUE`, `NUMBER_FORMAT`, `INVALID_UNIT_ID`, `INVALID_GROUP_ID_LENGTH`, `INVALID_GROUP_ID_CHARACTERS`
    {.table-cell}
    ||
    ||
  
    _parameterId_{.json-schema-reset .json-schema-property}
    {.table-cell}|
    **Type**: integer
  
    ID of the characteristic that the error or warning is associated with.
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    Warnings.
  
    The information in the catalog will be updated.
  
  
    _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    [
      {
        "type": "OFFER_NOT_FOUND",
        "parameterId": 0,
        "message": "example"
      }
    ]
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    Errors and warnings that appeared when processing the transmitted values. Each item in the list corresponds to one product.
  
    If there are no errors or warnings, the field is not passed.
  
  
    _Min items:_{.json-schema-reset .json-schema-assertion} `1`
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    [
      {
        "offerId": "example",
        "errors": [
          {
            "type": "OFFER_NOT_FOUND",
            "parameterId": 0,
            "message": "example"
          }
        ],
        "warnings": [
          {
            "type": "OFFER_NOT_FOUND",
            "parameterId": 0,
            "message": "example"
          }
        ]
      }
    ]
    ```
  
    {% endcut %}
    {.table-cell}
    ||
    |#{.json-schema-properties}
  
    {% endcut %}
  
    {% cut "**Example**" %}{.json-schema-example}
  
    ```json translate=no
    {
      "results": [
        {
          "offerId": "example",
          "errors": [
            {
              "type": "OFFER_NOT_FOUND",
              "parameterId": 0,
              "message": "example"
            }
          ],
          "warnings": [
            {
              "type": "OFFER_NOT_FOUND",
              "parameterId": 0,
              "message": "example"
            }
          ]
        }
      ]
    }
    ```
  
    {% 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.ru/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.ru/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.ru/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__404">
  
  ## 404 Not Found
  
  The requested resource was not found. [More information about the error](https://yandex.ru/dev/market/partner-api/doc/en/concepts/error-codes.md#404)
  
  <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.ru/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__423">
  
  ## 423 Locked
  
  The specified method cannot be applied to the resource. [More information about the error](https://yandex.ru/dev/market/partner-api/doc/en/concepts/error-codes.md#423)
  
  <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 the Market. [More information about the error](https://yandex.ru/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:
    - description: "Cabinet ID.\n\n\n:::no-translate\n{% if audience == \"partner\" %}\n:::\n\n\nTo find out, use the request [GET\_v2/campaigns](../../reference/campaigns/getCampaigns.md).\n\nℹ️ [What is a cabinet and a store on the Market?](https://yandex.ru/support/marketplace/account/introduction.html)\n\n\n:::no-translate\n{% endif %}\n:::\n\n"
      name: businessId
      in: path
      required: true
      schema:
        type: integer
        format: int64
        minimum: 1
  searchParams: []
  headers: []
  body: |-
    {
      "offersContent": [
        {
          "offerId": "example",
          "categoryId": 0,
          "parameterValues": [
            {
              "parameterId": 1,
              "unitId": 0,
              "valueId": 0,
              "value": "example"
            }
          ]
        }
      ]
    }
  schema:
    description: A request to set new values for parameters.
    type: object
    required:
      - offersContent
    properties:
      offersContent:
        description: A list of products with the specified characteristics.
        type: array
        minItems: 1
        maxItems: 100
        items:
          description: An item with the specified characteristics.
          type: object
          required:
            - offerId
            - categoryId
            - parameterValues
          properties:
            offerId:
              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
            categoryId:
              description: "The ID of the category on the Market.\n\nWhen changing the category, make sure that the product characteristics and their values in the parameter `parameterValues` you are submitting for a new category.\n\nYou can get a list of Market categories using a request.  [POST\_v2/categories/tree](../../reference/categories/getCategoriesTree.md).\n"
              format: int32
              type: integer
              minimum: 0
              exclusiveMinimum: true
            parameterValues:
              description: >
                A list of characteristics with their values.
  
  
                When **changing** characteristics, transmit only those whose value
                needs to be updated. If in `categoryId` you are
                changing the category, the values of the common characteristics
                for the old and new categories will remain, and you do not need to
                transfer them.
  
  
                Read more in ["Transfer of characteristic
                values"](../../step-by-step/parameter-values.md).
              type: array
              maxItems: 300
              minItems: 1
              items:
                description: |
                  The value of the characteristic.
                type: object
                required:
                  - parameterId
                properties:
                  parameterId:
                    description: The identifier of the characteristic.
                    type: integer
                    format: int64
                    minimum: 1
                  unitId:
                    description: >-
                      ID of the unit of measurement. If you did not pass the
                      parameter `unitId`, the default unit of
                      measurement is used.
                    type: integer
                    format: int64
                  valueId:
                    description: >
                      ID of the value.
  
  
                      - Be sure to specify the identifier if you are transmitting
                      a value from the list of acceptable values received from the
                      Market.
  
                      - Do not specify for your own values.
  
                      - Only for type characteristics `ENUM`.
                    type: integer
                    format: int64
                  value:
                    description: >
                      Meaning.
  
  
                      For type characteristics `ENUM` send:
  
                      - Together with `valueId`, if you take the
                      value from the directory;
  
                      - without `valueId`, if the value is its own.
                    type: string
  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/businesses/{businessId}/offer-cards/update
  host: https://api.partner.market.yandex.ru
  
  ```
        

{% endlist %}


</div>
<!-- endsource: en/api/content/updateOfferContent.md -->

[*ascii-code]:
ASCII characters 0 through 31 (except 9) and 127 are prohibited. [from the table](https://www.ascii-code.com/compact).

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