Ir al contenido

Listar movimientos de inventario

GET
/inventory/movements
curl --request GET \
--url 'https://api.posdata.so/public/v1/inventory/movements?limit=25' \
--header 'Authorization: Bearer <token>'

Permiso requerido: inventory:read.

limit
integer
por defecto: 25 >= 1 <= 100
starting_after
string

El next_cursor de la página anterior, tal cual.

created_since
string formato: date-time

ISO 8601 con zona horaria. Incluye.

created_until
string formato: date-time

ISO 8601 con zona horaria. Excluye.

updated_since
string formato: date-time

ISO 8601 con zona horaria. Para sincronización incremental.

product_id
string formato: uuid

Movimientos de ese producto.

warehouse_id
string formato: uuid

Movimientos de esa bodega.

type
string
<= 40 caracteres

Tipo de movimiento, coincidencia exacta.

OK

Tipo de contenidoapplication/json
object
object
obligatorio
Valor permitido: list
data
obligatorio
Array<object>

Movimiento del libro de inventario (solo se agregan, nunca se editan).

object
object
obligatorio
Valor permitido: stock_movement
id
obligatorio
string formato: uuid
product_id
obligatorio
string formato: uuid
variant_id
obligatorio
Cualquiera de:
string formato: uuid
warehouse_id
obligatorio
Cualquiera de:

Null si el movimiento llegó antes que su bodega.

string formato: uuid
type
obligatorio

Tipo de movimiento tal como lo registró la caja.

string
quantity
obligatorio

Cantidad en la unidad base del producto (puede ser fraccionaria).

number
reason
obligatorio
Cualquiera de:
string
reference
obligatorio
Cualquiera de:

Referencia libre del movimiento.

string
unit_cost
obligatorio
Cualquiera de:

Costo por unidad base al momento del movimiento.

number
origin_type
obligatorio
Cualquiera de:

Sale, purchase, adjustment, recipe_explosion, reversal.

string
sale_id
obligatorio
Cualquiera de:

La venta que causó el movimiento, si aplica.

string formato: uuid
created_at
obligatorio
string formato: date-time
updated_at
obligatorio
string formato: date-time
has_more
obligatorio
boolean
next_cursor
obligatorio
Cualquiera de:
string
Ejemplo
{
"object": "list",
"data": [
{
"object": "stock_movement"
}
]
}

Petición inválida (VALIDATION_ERROR, INVALID_JSON, INVALID_CURSOR).

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Sin API key válida (UNAUTHENTICATED, INVALID_API_KEY, API_KEY_REVOKED, API_KEY_EXPIRED, API_KEY_WRONG_ENVIRONMENT, ACCOUNT_INACTIVE).

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Sin permiso (PLAN_REQUIRED, INSUFFICIENT_SCOPE, BROWSER_REQUESTS_NOT_ALLOWED).

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Límite de peticiones (RATE_LIMITED). Respeta Retry-After.

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Error interno (INTERNAL_ERROR). Reintenta y comparte el request_id si persiste.

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}