---
title: "Crear movimiento de stock"
method: POST
path: "/api/v1/stock-movements"
tags: ["API"]
---

# Crear movimiento de stock

`POST /api/v1/stock-movements`

Registra un movimiento manual para ajustar stock de un producto o variante.

## Headers

- `Idempotency-Key` string, required
- `X-Request-Id` string

## Request body

- ApiStockMovementRequest
  - `warehouse_id` string, uuid, required
  - `mode` 'delta' | 'replace', required
  - `direction` 'inbound' | 'outbound'
  - `operation_date` string, date-time, required
  - `reason` string, required
  - `notes` string
  - `items` object[], required
    - `product_id` string, uuid, required
    - `quantity` number, required — Debe ser mayor a cero para movimientos delta. Las correcciones por reemplazo aceptan cualquier cantidad final finita, incluidos valores negativos.

## Response `200`

Movimiento de stock creado exitosamente

- ApiStockMovementResponse
  - `request_id` string, required
  - `data` object, required
    - `stock_movement_id` string, uuid, required
    - `transaction_group_id` string, uuid, required
    - `affected_product_ids` string[], required
    - `idempotent_replay` boolean, required
  - `warnings` unknown[], required
    - unknown

## Other responses

- `400` — Solicitud inválida
- `401` — API key faltante o inválida
- `403` — Scopes insuficientes
- `404` — Recurso relacionado inexistente
- `409` — Conflicto de idempotencia
- `429` — Límite de solicitudes excedido para la organización
- `500` — Error interno del servidor

---

[API](https://skmtc.net/lapyme/apis/la-pyme-api.md) · [All operations](https://skmtc.net/lapyme/apis/la-pyme-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lapyme/la-pyme-api/versions/414f57f28498/schema)
