# Update quantity in stock

Endpoint enables the quantity of product in stock (relative and
absolute) to be changed. Within a call, the update

of multiple products at once can be requested (max. 300
products/variants).


In case an error occurs for one of the records, the correct records will
be updated, the response will be 200 OK

and there will be records in the errors array for each failed record.
If all records are incorrect, the response

code will be 400 BAD REQUEST instead.


Item productCode is mandatory. Then one of the three items has to be
provided:


- amountChange to increase or decrease amount available for
ordering/physically on stock (relative change)


- quantity to set amount available for ordering (absolute amount)


- realStock to set amount physically stored in a warehouse (absolute
amount)


The difference between quantity and realStock is amount of goods
requested by the pending orders (so called "claim").


amount for ordering = realStock - claim


The claim cannot be changed explicitly, it is updated when a new order
is submitted or an order is sent out. Please note,

that the stock amount cannot be changed for product sets, where the
amount is calculated dynamically from the individual

products in the set. Trying to change the amount of product set will
result in an error.

Endpoint: PATCH /api/stocks/{stockId}/movements
Version: 3acb86b
Security: shoptetAccessToken, shoptetPrivateApiToken

## Path parameters:

  - `stockId` (integer, required)
    ID of the stock for which we would like the movements.
    Example: 1

## Header parameters:

  - `Content-Type` (string, required)

## Request fields (application/json):

  - `data` (array, required)

## Response 200 fields (application/json):

  - `data` (object,null)

  - `errors` (array,null)

  - `errors.errorCode` (string, required)
    Short text error identification

  - `errors.message` (string, required)
    Descriptive error message

  - `errors.instance` (string, required)
    Identification of the entity referenced

  - `metadata` (object)

  - `metadata.requestId` (string, required)
    Request identifier. Useful for logging/reporting purposes.

## Response 400 fields (application/json):

  - `data` (object,null)

  - `errors` (array,null)

  - `metadata` (object)


