> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stockshift.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Muestra el pronóstico de un artículo en una ubicación

> Muestra el pronóstico de la última ejecución completada, semana por semana hasta su horizonte, con intervalos de 80% y 95% a partir de los errores de su prueba retrospectiva. También muestra el año de demanda repetida que lo precede, con las semanas sin existencias marcadas, y cómo se hizo el pronóstico. Requiere el permiso `planning.forecasts.view` y un token con `planning:read`.



## OpenAPI

````yaml /openapi.es.json get /planning/forecasts/{item}/{location}
openapi: 3.1.2
info:
  title: StockShift API
  version: 1.0.0
  description: >-
    La API REST de StockShift. Empieza con las guías de autenticación, alcances,
    paginación, errores y webhooks.
servers:
  - url: https://app.stockshift.io/api/v1
    description: Producción
  - url: https://app.beta.stockshift.io/api/v1
    description: Beta
security:
  - apiKey: []
  - oauth2: []
tags:
  - name: Acciones de existencias con testigo
    description: >-
      Retiene una acción de existencias para una segunda persona, que recuenta a
      ciegas y firma, y lee ambas firmas. Las existencias solo cambian cuando el
      testigo firma.
  - name: Existencias del artículo
    description: >-
      Todo sobre las existencias de un artículo: dónde están, qué está
      prometido, cómo se rastrean y cuánto cuestan.
  - name: Transferencias
    description: >-
      Mueve existencias de una ubicación a otra, con tiempo en tránsito entre el
      envío y la recepción.
  - name: Costos de importación
    description: >-
      Agrega flete, aranceles y otros cargos al costo de las existencias que
      recibiste.
  - name: Conteos de existencias
    description: >-
      Cuenta lo que hay en el estante, compáralo con lo que StockShift espera y
      contabiliza la diferencia cuando alguien la apruebe.
  - name: Ubicaciones
    description: >-
      Los almacenes, salas y contenedores donde se guardan las existencias. La
      mayoría de las llamadas de existencias necesitan un ID de ubicación de
      aquí.
  - name: Periodos
    description: >-
      Cierra cada mes una vez informado: bloquea lo que tiene fecha en él,
      comprueba que no quede nada abierto y conserva el valor de las existencias
      al final.
  - name: Importaciones de inventario
    description: >-
      Carga las existencias iniciales desde un archivo CSV, con una vista previa
      antes de contabilizar nada.
  - name: Solicitudes de liberación
    description: >-
      Pide a Calidad que libere existencias retenidas, y rechaza o retira la
      solicitud. Liberar las existencias la cierra.
  - name: Firmantes
    description: >-
      Quién puede firmar acciones de existencias con testigo: de quién se
      verificó la identidad, cómo y cuándo, y las firmas fallidas que deben ver
      los revisores.
  - name: Existencias
    description: >-
      Cuánto hay de cada artículo y dónde. Consulta los niveles, ahora o en una
      fecha pasada, y contabiliza ajustes cuando se encuentren, pierdan o dañen
      existencias.
  - name: Reglas de testigo
    description: >-
      Qué acciones de existencias esperan a que una segunda persona vuelva a
      contar y firme, como retirar una sustancia controlada.
  - name: Reglas de asignación
    description: >-
      Qué lotes se toman primero cuando se reservan o se envían existencias,
      como primero en caducar, primero en salir.
  - name: Configuración de inventario
    description: >-
      Cómo maneja la organización las existencias, por ejemplo si pueden quedar
      en negativo y cómo se costean.
  - name: Lotes
    description: Lotes de existencias que comparten un número de lote, y cuándo vencen.
  - name: Movimientos
    description: >-
      El libro detrás de cada nivel de existencias. Los movimientos nunca se
      editan; se corrigen revirtiéndolos.
  - name: Números de serie
    description: Unidades con seguimiento individual y dónde está cada una ahora.
  - name: Movimientos de existencias
    description: >-
      Mueve existencias de una ubicación a otra en un solo paso, por ejemplo de
      un muelle a un estante, y deshaz un movimiento completo.
  - name: Vistas previas masivas
    description: >-
      Revisa una lista de líneas de existencias antes de un movimiento masivo,
      un ajuste, una retención o una impresión, y ve qué debe decidirse en cada
      línea.
  - name: Artículos
    description: >-
      Los productos y materiales que almacenas, compras, fabricas o vendes. El
      ID o el SKU de un artículo es lo que piden la mayoría de los demás
      endpoints.
  - name: Familias
    description: >-
      Grupos de artículos que solo se diferencian por opciones como la talla o
      el color, y las variantes que se hacen con ellos.
  - name: Importaciones de catálogo
    description: >-
      Crea o actualiza artículos desde un archivo CSV, con una vista previa
      antes de guardar nada.
  - name: Campos personalizados
    description: >-
      Campos adicionales que la organización agrega a sus artículos. Defínelos
      aquí y luego asigna sus valores en cada artículo.
  - name: Biblioteca de productos
    description: >-
      Busca un producto por su GTIN y crea un artículo con lo que la biblioteca
      sabe de él.
  - name: Unidades
    description: >-
      Unidades de medida, como each, box o kg. Los artículos se cuentan en una
      unidad base y se convierten desde las demás.
  - name: Escaneo
    description: >-
      Convierte un código de barras escaneado en el artículo, la unidad o la
      pieza etiquetada que identifica.
  - name: Proveedores
    description: >-
      Las empresas a las que compras, las personas con las que tratas allí y lo
      que te cobran.
  - name: Órdenes de compra
    description: >-
      Órdenes a proveedores. Crea un borrador, apruébalo, envíalo y recibe la
      mercancía contra él.
  - name: Importaciones de compras
    description: Carga proveedores y sus catálogos desde archivos CSV.
  - name: Configuración de compras
    description: >-
      Cómo compra la organización, por ejemplo el umbral de aprobación y cuánto
      puede superar una recepción a la orden.
  - name: Recepciones
    description: >-
      Mercancía recibida contra órdenes de compra. Revierte una recepción para
      corregirla o imprime etiquetas de lo que llegó.
  - name: Proveedores del artículo
    description: Qué proveedores venden un artículo, y a qué precio.
  - name: Exportaciones de compras
    description: >-
      Descarga proveedores o sus catálogos como CSV, en las mismas columnas que
      lee la importación.
  - name: Pedidos de venta
    description: >-
      Pedidos de clientes. Toma uno como borrador, confírmalo para reservar
      existencias, luego envíalo y factúralo.
  - name: Clientes
    description: Las empresas a las que vendes y las personas con las que tratas allí.
  - name: Facturas
    description: Facturas de lo que has vendido y los pagos registrados contra ellas.
  - name: Listas de precios
    description: >-
      Los precios que paga un cliente, con escalas por cantidad. Asígnale una
      lista de precios a un cliente y sus pedidos se calculan solos.
  - name: Cotizaciones
    description: >-
      Ofertas a clientes. Una cotización aceptada se convierte en un pedido de
      venta.
  - name: Tasas de impuestos
    description: Las tasas de impuesto sobre las ventas con las que se cobran las facturas.
  - name: Importaciones de ventas
    description: Carga clientes y listas de precios desde archivos CSV.
  - name: Devoluciones
    description: >-
      Mercancía que los clientes devuelven: autoriza la devolución, luego
      recíbela en las existencias y acredítala.
  - name: Envíos
    description: Lo que salió del edificio por cada pedido de venta.
  - name: Configuración de ventas
    description: >-
      Cómo vende la organización, por ejemplo cuándo se reservan las existencias
      y si las facturas pueden salir antes del envío.
  - name: Certificados de conformidad
    description: >-
      Certificados firmados de que los productos de un envío cumplen con el
      pedido, conservados exactamente como se firmaron.
  - name: Precios
    description: >-
      Consulta cuánto pagaría un cliente por una cantidad de un artículo antes
      de ponerlo en un pedido.
  - name: Exportaciones de ventas
    description: >-
      Descarga clientes y listas de precios como CSV, en las mismas columnas que
      lee la importación.
  - name: Órdenes de fabricación
    description: >-
      Órdenes para fabricar algo. Libera una orden de fabricación al piso,
      consume sus piezas y complétala hacia las existencias.
  - name: Reparaciones
    description: >-
      Reparaciones de unidades que los clientes devuelven: revisa la garantía,
      registra las piezas puestas y retiradas, y luego completa la reparación o
      factúrala.
  - name: Rutas
    description: >-
      Los pasos por los que pasa una orden de fabricación y el centro de trabajo
      en el que se ejecuta cada paso.
  - name: Centros de trabajo
    description: Las máquinas, celdas o equipos donde se hacen los pasos de una ruta.
  - name: Plazos de garantía
    description: >-
      Cuánto tiempo un artículo está en garantía y si cuenta desde el envío o la
      fabricación, con condiciones propias para algunos clientes.
  - name: Trazabilidad
    description: >-
      Rastrea un lote o número de serie hacia atrás hasta lo que entró en él, o
      hacia adelante hasta aquello en lo que entró.
  - name: Configuración de fabricación
    description: >-
      Cómo fabrica la organización, por ejemplo si las operaciones pueden
      superponerse y el estado en el que entran los productos terminados.
  - name: Programación
    description: Planifica las órdenes de fabricación abiertas en días hábiles.
  - name: Variaciones de costo
    description: >-
      Dónde una orden de fabricación completada costó más o menos que su costo
      estándar.
  - name: BOM
    description: >-
      Listas de materiales: las piezas y cantidades que forman un artículo,
      guardadas como revisiones.
  - name: Cambios de ingeniería
    description: >-
      Órdenes de cambio que proponen revisiones nuevas de BOM y las liberan una
      vez aprobadas.
  - name: Importaciones de ingeniería
    description: Carga listas de materiales desde un archivo CSV o una exportación de CAD.
  - name: Configuración de Ingeniería
    description: >-
      Cómo gestiona la organización los cambios de ingeniería, por ejemplo
      cuántas aprobaciones necesita una orden de cambio.
  - name: Exportaciones de ingeniería
    description: >-
      Descarga listas de materiales como CSV, en las mismas columnas que lee la
      importación.
  - name: Dónde se usa
    description: >-
      Encuentra todas las BOM en las que aparece un artículo, antes de cambiarlo
      o retirarlo.
  - name: Planes de inspección
    description: >-
      Qué revisar, en qué artículos y cuántos: las características, el muestreo
      y el punto de inspección de cada plan.
  - name: Inspecciones
    description: >-
      Inspecciones abiertas por recepciones, operaciones y órdenes de
      fabricación. Registra sus resultados para aprobar o rechazar las
      existencias que retienen.
  - name: Pronósticos
    description: >-
      La demanda esperada de cada artículo, semana por semana, y los cambios que
      hacen los planificadores.
  - name: Escenarios
    description: Copias del pronóstico para probar cambios sin tocar el plan real.
  - name: Demanda
    description: >-
      Demanda pasada de un artículo en una ubicación, a partir de la cual se
      construyen los pronósticos.
  - name: Sugerencias
    description: >-
      Lo que el plan dice que se compre o se fabrique. Acepta uno para generar
      la orden de compra o la orden de fabricación, o descártalo.
  - name: Reabastecimiento
    description: >-
      Cómo se mantiene cada artículo en existencias en cada ubicación: puntos de
      reorden, mínimos y máximos o revisión periódica.
  - name: Días festivos
    description: >-
      Días en que la organización no trabaja, que el plan omite al contar plazos
      de entrega.
  - name: Configuración de planificación
    description: >-
      Cómo planifica la organización, por ejemplo el horizonte del pronóstico y
      el nivel de servicio.
  - name: Automatizaciones
    description: >-
      Reglas que ejecutan pasos cuando ocurre algo o según una programación.
      Edita el borrador y luego publícalo para activarla.
  - name: Ejecuciones
    description: >-
      Cada vez que se ejecutó una automatización: qué la inició, qué hizo cada
      paso y dónde falló.
  - name: Aprobaciones
    description: >-
      Ejecuciones en pausa a la espera de que una persona las apruebe o rechace
      antes de continuar.
  - name: Configuración de automatización
    description: >-
      Límites de toda la organización para las automatizaciones, como las
      ejecuciones por minuto y si alguien puede aprobar su propia ejecución.
  - name: Plantillas de automatización
    description: Automatizaciones prediseñadas para empezar.
  - name: Eventos
    description: >-
      Los eventos que pueden activar una automatización y los datos que lleva
      cada uno.
  - name: Catálogo de pasos
    description: >-
      Todos los pasos que puede usar una automatización y las entradas que toma
      cada uno.
  - name: Vistas
    description: >-
      Reportes guardados: el conjunto de datos, los filtros, la agrupación y el
      gráfico que alguien configuró, listos para ejecutarse de nuevo.
  - name: Paneles
    description: Páginas de gráficos y KPI dispuestos en una cuadrícula.
  - name: Conjuntos de datos
    description: >-
      Los datos sobre los que puedes reportar y los campos de cada uno. Empieza
      aquí para crear un reporte.
  - name: Programaciones
    description: >-
      Envía un reporte por correo electrónico según una programación, o avisa a
      alguien cuando un valor cruza un umbral.
  - name: KPI
    description: >-
      Cifras individuales que vale la pena vigilar, definidas como una fórmula
      sobre un conjunto de datos.
  - name: Panel
    description: >-
      Las cifras de la pantalla de inicio de la app, por si quieres mostrar los
      mismos números en otro lugar.
  - name: Carpetas de vistas
    description: Carpetas que mantienen organizadas las vistas guardadas.
  - name: Exportaciones de Insights
    description: >-
      Exporta un informe a un archivo. Las exportaciones grandes se ejecutan en
      segundo plano y están listas para descargar más tarde.
  - name: Plantillas de reportes
    description: >-
      Reportes prediseñados, como el envejecimiento de existencias, para empezar
      una vista.
  - name: Reportes
    description: >-
      Ejecuta la definición de un reporte y obtén sus filas o su gráfico, sin
      guardarla antes.
  - name: Plantillas de panel
    description: Paneles prediseñados para empezar.
  - name: Fórmulas
    description: >-
      Comprueba una fórmula contra un conjunto de datos antes de guardarla en un
      KPI o en un campo calculado.
  - name: Conexiones
    description: >-
      Cuentas conectadas en otros sistemas, qué sincroniza cada una y el
      historial de sus ejecuciones de sincronización.
  - name: Envío
    description: >-
      Tarifas de transportistas, las etiquetas compradas para pedidos y
      devoluciones, y los escaneos que rastrean cada paquete.
  - name: Migraciones
    description: >-
      Trae registros de otro sistema: prepara archivos o una extracción, asigna
      las columnas, revisa las filas, confírmalas y deshaz la confirmación.
  - name: Abastecimiento
    description: >-
      Precios y existencias de piezas de distribuidores: busca en un
      distribuidor conectado, vincula artículos con sus piezas y calcula el
      precio de una revisión de BOM.
  - name: CAD
    description: >-
      Ensambles de CAD y PLM: lista los ensambles de una herramienta conectada y
      vigila aquellos cuyas liberaciones se convierten en importaciones de BOM.
  - name: Exportación de datos
    description: >-
      Todo lo que guarda la organización en un solo ZIP de archivos CSV y de
      líneas JSON, para que el propietario lo descargue.
  - name: Direcciones fiscales
    description: >-
      Las direcciones por las que un servicio de impuestos conectado calcula el
      impuesto de cada venta, comprobadas con él.
  - name: Conectores
    description: >-
      Los sistemas a los que puede conectarse StockShift y lo que puede
      sincronizar cada conector.
  - name: Conjuntos de etiquetas
    description: >-
      Todos los lotes de etiquetas impresos, para que puedas encontrar uno de
      nuevo y reimprimirlo.
  - name: Plantillas de etiquetas
    description: Los diseños con que se imprimen las etiquetas.
  - name: Piezas
    description: >-
      Busca una pieza etiquetada a partir del código de su etiqueta: el
      artículo, el lote o la serie y cuánto contiene.
  - name: Marca y plantillas
    description: >-
      El logotipo, los colores, los términos y los campos personalizados con que
      se imprime cada cotización, orden de compra, factura y lista de empaque.
  - name: Apps móviles
    description: >-
      Cómo las apps móviles de StockShift registran un dispositivo, inician
      sesión y se mantienen sincronizadas con el servidor.
  - name: Dispositivos
    description: >-
      Los teléfonos y escáneres registrados en la organización. Bloquea uno
      perdido, bórralo o retíralo.
  - name: Configuración del escáner
    description: >-
      Hojas imprimibles de códigos de barras que configuran un escáner de
      hardware, y las preferencias de escáner de cada persona.
  - name: Inscripciones
    description: Crea los códigos QR que inscriben dispositivos compartidos y quioscos.
  - name: Feeds de sincronización
    description: >-
      Descarga una instantánea de los datos que necesita un dispositivo y luego
      obtén los cambios desde entonces.
  - name: Comandos de sincronización
    description: >-
      Envía los cambios que un dispositivo hizo sin conexión. Cada comando se
      aplica una sola vez, sin importar cuántas veces se envíe.
  - name: Archivos de sincronización
    description: >-
      Descarga los archivos, como imágenes de artículos, a los que apunta un
      feed.
  - name: Perfil
    description: >-
      La cuenta propia de la persona que inició sesión: sus datos, contraseña,
      llaves de acceso, segundo factor y sesiones.
  - name: Notificaciones
    description: >-
      La bandeja de entrada del miembro que inició sesión: lo que lo necesita,
      lo que no ha leído, y de qué se le avisa y cómo.
  - name: Invitaciones
    description: Invita a personas a unirse a la organización y acepta una invitación.
  - name: Roles
    description: >-
      Roles y los permisos de cada uno. Un miembro puede hacer lo que sus roles
      permiten.
  - name: Acceso del personal
    description: >-
      Solicitudes del soporte de StockShift para ver los datos de la
      organización, que un propietario debe conceder.
  - name: Equipo
    description: Las personas de la organización y los roles que tienen.
  - name: Claves de API
    description: >-
      Crea y revoca las claves que usan los scripts y las integraciones para
      llamar a esta API.
  - name: Organizaciones
    description: Las organizaciones a las que pertenece la persona que inició sesión.
  - name: Firmas
    description: >-
      Algunas acciones necesitan una firma electrónica. Obtén aquí un token de
      firma y envíalo con la llamada.
  - name: Registro
    description: Regístrate para obtener una cuenta y una organización nuevas.
  - name: Organización
    description: >-
      Política de toda la organización: cuánto tiempo se conservan los
      registros, reglas de sesión, retenciones legales y cierre de la
      organización.
  - name: Aceptaciones legales
    description: >-
      Las versiones de los Términos de servicio y de la Política de privacidad
      que aceptó la organización, las versiones que esperan a un propietario y
      un certificado de cada aceptación.
  - name: Dirección
    description: >-
      La dirección de facturación que aparece en las facturas de la
      organización.
  - name: Historial
    description: Quién cambió qué campo de un registro, cuándo y a partir de qué.
  - name: Certificados de destrucción
    description: Comprueba que un certificado de destrucción de datos es auténtico.
  - name: Facturación
    description: >-
      Consulta o cambia el plan, compra paquetes de ejecuciones para
      automatizaciones, ve las facturas y actualiza el método de pago.
  - name: Webhooks
    description: >-
      Registra URL para que te avisen cuando pasen cosas, y consulta cada
      entrega y su respuesta.
  - name: Apps OAuth
    description: >-
      Las apps de terceros que los miembros conectaron mediante OAuth. Revoca
      una para cortar su acceso.
  - name: Hooks REST
    description: >-
      Para apps conectadas como Zapier: suscribe un evento a una URL y cancela
      la suscripción.
  - name: Servidor MCP
    description: >-
      Deja que un asistente de IA trabaje en StockShift a través del Model
      Context Protocol, con los mismos permisos que el miembro que lo conecta.
  - name: Eventos recientes
    description: >-
      Los últimos eventos de un tipo, tal como los envían las entregas, para
      consultar periódicamente o usar como muestras.
  - name: Eventos de webhook
    description: >-
      Todos los eventos que pueden enviar los webhooks y los REST hooks, con la
      forma de sus datos.
paths:
  /planning/forecasts/{item}/{location}:
    get:
      tags:
        - Pronósticos
      summary: Muestra el pronóstico de un artículo en una ubicación
      description: >-
        Muestra el pronóstico de la última ejecución completada, semana por
        semana hasta su horizonte, con intervalos de 80% y 95% a partir de los
        errores de su prueba retrospectiva. También muestra el año de demanda
        repetida que lo precede, con las semanas sin existencias marcadas, y
        cómo se hizo el pronóstico. Requiere el permiso
        `planning.forecasts.view` y un token con `planning:read`.
      operationId: v1.planning.forecasts.show
      parameters:
        - name: item
          in: path
          required: true
          description: El ID del artículo.
          schema:
            type: string
        - name: location
          in: path
          required: true
          description: El ID de la ubicación.
          schema:
            type: string
      responses:
        '200':
          description: '`ForecastDetailResource`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ForecastDetailResource'
                required:
                  - data
          headers:
            X-RateLimit-Limit:
              description: >-
                Solicitudes por minuto permitidas para este token, o para la
                dirección si no tiene uno.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Solicitudes que quedan este minuto.
              schema:
                type: integer
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '429':
          description: Demasiadas solicitudes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          headers:
            Retry-After:
              description: Segundos hasta que se restablece el límite.
              schema:
                type: integer
            X-RateLimit-Limit:
              description: Solicitudes por minuto permitidas.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: 'Solicitudes que quedan este minuto: ninguna.'
              schema:
                type: integer
      x-codeSamples:
        - lang: typescript
          label: TypeScript SDK
          source: >-
            import { StockShift } from "@stockshift/sdk";


            const stockshift = new StockShift({ token:
            process.env.STOCKSHIFT_TOKEN! });


            const result = await
            stockshift.get("/planning/forecasts/{item}/{location}", {
              path: { item: "01J8QZ4M...", location: "01J8QZ4M..." },
            });
components:
  schemas:
    ForecastDetailResource:
      type: object
      properties:
        run:
          $ref: '#/components/schemas/ForecastRunResource'
          description: La ejecución de pronóstico completada de la que viene el pronóstico.
        summary:
          $ref: '#/components/schemas/ForecastSummaryResource'
          description: >-
            Cómo pronosticó la ejecución el artículo en la ubicación: su patrón
            de demanda, el método que ganó y su error.
        history:
          type: array
          description: >-
            Las 52 semanas anteriores al pronóstico, de la más antigua a la más
            reciente.
          items:
            $ref: '#/components/schemas/ForecastHistoryWeekResource'
        forecast:
          type: array
          description: >-
            Cada semana desde la primera semana de la ejecución hasta su
            horizonte.
          items:
            $ref: '#/components/schemas/ForecastWeekResource'
        accuracy:
          anyOf:
            - $ref: '#/components/schemas/AccuracyResource'
            - type: 'null'
          description: La precisión del pronóstico en las últimas 13 semanas cerradas.
        adjustments:
          type: array
          description: >-
            Los ajustes que aún se le aplican: los propios, los de su artículo,
            los de su familia y los de la organización.
          items:
            $ref: '#/components/schemas/ForecastAdjustmentResource'
      required:
        - run
        - summary
        - history
        - forecast
        - accuracy
        - adjustments
      title: ForecastDetailResource
      description: El pronóstico de un artículo en una ubicación.
    ProblemDetails:
      type: object
      description: >-
        Un error, como detalles del problema RFC 9457. Decide según `code`, que
        es estable; `detail` está escrito para personas y puede cambiar.
      properties:
        type:
          type: string
          format: uri
          description: Enlaces a la documentación de este código.
        title:
          type: string
          description: El texto de estado HTTP.
        status:
          type: integer
          description: El código de estado HTTP.
        code:
          type: string
          description: Un nombre estable legible por máquina, como validation_failed.
        detail:
          type: string
          description: Qué salió mal, para las personas.
        errors:
          type: object
          description: >-
            Errores por campo. En validation_failed, y en un rechazo con un
            código propio como insufficient_stock o document_closed.
          additionalProperties:
            type: array
            items:
              type: string
        feature:
          type: string
          description: La función del plan que se necesita. Solo en plan_upgrade_required.
        reason:
          type: string
          description: >-
            Por qué un dispositivo debe descargar un feed de nuevo. Solo en
            resync_required.
        attempts_left:
          type: integer
          description: >-
            Cuántas firmas rechazadas quedan antes de que el miembro se bloquee
            en el dispositivo. Solo en signature_assertion_invalid.
        rule_ids:
          type: array
          description: >-
            Las reglas de testigo que cubren las existencias. Solo en
            verification_required.
          items:
            type: string
        witness:
          type: string
          description: >-
            Dónde firma el testigo: same_device, remote o either. Solo en
            verification_required.
        blind_recount:
          type: boolean
          description: >-
            Si el testigo vuelve a contar antes de ver la cantidad. Solo en
            verification_required.
        flags:
          type: array
          description: >-
            Las marcas que dejan abiertas las decisiones de una línea masiva,
            tal como las nombra la vista previa masiva. Solo en
            decision_required.
          items:
            type: object
            properties:
              flag:
                type: string
                description: El nombre de la marca, tal como lo da la vista previa masiva.
              facts:
                type: object
                description: >-
                  Los hechos de la marca, como en la vista previa masiva; los
                  demás son null.
                additionalProperties:
                  anyOf:
                    - type: string
                    - type: integer
                    - type: array
                      items:
                        type: string
                    - type: 'null'
              choices:
                type: array
                description: >-
                  Las decisiones que resolverían la marca, tal como las nombra
                  la vista previa masiva.
                items:
                  type: string
            required:
              - flag
              - facts
              - choices
      required:
        - type
        - title
        - status
        - code
        - detail
      title: ProblemDetails
    ForecastRunResource:
      type: object
      properties:
        id:
          type: string
          description: El ID de la ejecución.
        status:
          type: string
          description: >-
            En qué situación está la ejecución: `queued`, `running`, `completed`
            o `failed`.
          enum:
            - queued
            - running
            - completed
            - failed
        trigger:
          type: string
          description: 'Lo que inició la ejecución: `manual` o `scheduled`.'
          enum:
            - manual
            - scheduled
        horizon_weeks:
          type: integer
          description: >-
            Con cuántas semanas de anticipación pronostica la ejecución, desde
            `first_week`.
        first_week:
          type: string
          description: El lunes de la primera semana del pronóstico, como YYYY-MM-DD.
        series:
          type: integer
          description: Cuántos artículos en ubicaciones pronostica la ejecución.
        chunks:
          type: integer
          description: >-
            En cuántos fragmentos se divide el trabajo de la ejecución. Es 0
            hasta que la ejecución empieza.
        chunks_done:
          type: integer
          description: >-
            Cuántos de esos fragmentos están terminados. Compáralo con `chunks`
            para mostrar el progreso.
        started_at:
          type: string
          description: Cuándo se inició la ejecución, como marca de tiempo ISO 8601 en UTC.
        completed_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se completó la ejecución, como marca de tiempo ISO 8601 en
            UTC. Es null hasta que se completa.
      required:
        - id
        - status
        - trigger
        - horizon_weeks
        - first_week
        - series
        - chunks
        - chunks_done
        - started_at
        - completed_at
      title: ForecastRunResource
      description: Una ejecución de pronóstico y cuánto ha avanzado.
    ForecastSummaryResource:
      type: object
      properties:
        item_id:
          type: string
          description: El ID del artículo.
        sku:
          type: string
          description: El SKU del artículo.
        name:
          type: string
          description: El nombre del artículo.
        base_unit:
          type: string
          description: La unidad base del artículo. Toda cantidad está en ella.
        location_id:
          type: string
          description: El ID de la ubicación.
        location_name:
          type: string
          description: El nombre de la ubicación.
        pattern:
          type: string
          description: >-
            Cómo se comporta la demanda: `smooth`, `erratic`, `intermittent` o
            `lumpy`.
          enum:
            - smooth
            - erratic
            - intermittent
            - lumpy
        basis:
          type: string
          description: >-
            Por qué el pronóstico es como es: `backtested` (ganó el mejor
            método), `short_history` (un promedio móvil), `top_down` (una parte
            del pronóstico de su familia) o `plan` (solo promedios móviles).
          enum:
            - backtested
            - short_history
            - top_down
            - plan
        history_weeks:
          type: integer
          description: >-
            Cuántas semanas de historial hay desde la primera semana con
            demanda.
        method:
          type: string
          description: >-
            El método que hizo el pronóstico: `naive`, `seasonal_naive`,
            `moving_average`, `ses`, `holt`, `holt_damped`,
            `holt_winters_additive`, `holt_winters_multiplicative`,
            `holt_winters_damped`, `croston`, `sba` o `tsb`.
          enum:
            - naive
            - seasonal_naive
            - moving_average
            - ses
            - holt
            - holt_damped
            - holt_winters_additive
            - holt_winters_multiplicative
            - holt_winters_damped
            - croston
            - sba
            - tsb
        error:
          type:
            - string
            - 'null'
          description: >-
            El error absoluto escalado medio del método en la prueba
            retrospectiva, como cadena decimal. Menos de 1 supera repetir la
            demanda de la semana pasada. Es null cuando no se probó ningún
            método.
        runner_up:
          type:
            - string
            - 'null'
          description: >-
            El método con el segundo error más bajo en la prueba retrospectiva.
            Es null cuando se probaron menos de dos métodos.
          enum:
            - naive
            - seasonal_naive
            - moving_average
            - ses
            - holt
            - holt_damped
            - holt_winters_additive
            - holt_winters_multiplicative
            - holt_winters_damped
            - croston
            - sba
            - tsb
            - null
        runner_up_error:
          type:
            - string
            - 'null'
          description: >-
            El error absoluto escalado medio del modelo en segundo lugar en el
            prueba retrospectiva, como cadena decimal. Es null si no hay modelo
            en segundo lugar.
        upcoming:
          type: string
          description: >-
            El pronóstico de las próximas 13 semanas, sumado, como cadena
            decimal exacta.
      required:
        - item_id
        - sku
        - name
        - base_unit
        - location_id
        - location_name
        - pattern
        - basis
        - history_weeks
        - method
        - error
        - runner_up
        - runner_up_error
        - upcoming
      title: ForecastSummaryResource
      description: Cómo pronosticó una ejecución un artículo en una ubicación, en resumen.
    ForecastHistoryWeekResource:
      type: object
      properties:
        week:
          type: string
          description: El lunes en que empieza la semana, como YYYY-MM-DD.
        quantity:
          type: string
          description: >-
            La demanda recurrente de la semana, como cadena decimal exacta. Los
            pedidos únicos quedan fuera.
        stockout:
          type: boolean
          description: >-
            Si el artículo estuvo agotado, por lo que no se conoce la demanda
            real de la semana.
      required:
        - week
        - quantity
        - stockout
      title: ForecastHistoryWeekResource
      description: Una semana de la demanda a partir de la cual se hizo un pronóstico.
    ForecastWeekResource:
      type: object
      properties:
        week:
          type: string
          description: El lunes en que empieza la semana, como YYYY-MM-DD.
        quantity:
          type: string
          description: El pronóstico estadístico de la semana.
        lower_80:
          type: string
          description: >-
            El extremo bajo del intervalo del 80%. Se espera que la demanda esté
            entre `lower_80` y `upper_80` 4 de cada 5 semanas.
        upper_80:
          type: string
          description: El extremo alto del intervalo del 80%.
        lower_95:
          type: string
          description: >-
            El extremo bajo del intervalo del 95%. Se espera que la demanda esté
            entre `lower_95` y `upper_95` 19 de cada 20 semanas.
        upper_95:
          type: string
          description: El extremo alto del intervalo del 95%.
        adjusted:
          type:
            - string
            - 'null'
          description: >-
            El pronóstico con los ajustes de los planificadores. Igual que
            `quantity` donde no se aplica ningún ajuste.
      required:
        - week
        - quantity
        - lower_80
        - upper_80
        - lower_95
        - upper_95
        - adjusted
      title: ForecastWeekResource
      description: >-
        Una semana de un pronóstico con sus intervalos, como cadenas decimales
        exactas en la unidad base del artículo.
    AccuracyResource:
      type: object
      properties:
        weeks:
          type: array
          description: >-
            Cada semana cerrada, de la más antigua a la más reciente: su
            demanda, y el pronóstico de la ejecución completada antes de que
            empezara la semana, con y sin ajustes.
          items: {}
        statistical:
          type: object
          description: >-
            Las medidas del pronóstico propio de la ejecución: WAPE y sesgo como
            porcentajes de la demanda, y MASE frente a un pronóstico ingenuo,
            donde menos de 1 es mejor. Cada una es null sin demanda.
          properties:
            wape:
              type:
                - string
                - 'null'
              description: >-
                Error porcentual absoluto ponderado: el error de todas las
                semanas como proporción de la demanda, en porcentaje, así que
                `12.5` es 12.5%. Es null si no hay demanda.
            mase:
              type:
                - string
                - 'null'
              description: >-
                Error absoluto medio escalado: el error promedio frente al de un
                pronóstico ingenuo. Menos de 1 es mejor que el pronóstico
                ingenuo. Es null sin demanda.
            bias:
              type:
                - string
                - 'null'
              description: >-
                Cuánto estuvo el pronóstico por encima de la demanda (mayor que
                0) o por debajo (menor que 0), como porcentaje de la demanda. Es
                null sin demanda.
          required:
            - wape
            - mase
            - bias
        adjusted:
          type: object
          description: >-
            Las mismas medidas para el pronóstico con los ajustes de los
            planificadores.
          properties:
            wape:
              type:
                - string
                - 'null'
              description: >-
                Error porcentual absoluto ponderado: el error de todas las
                semanas como proporción de la demanda, en porcentaje, así que
                `12.5` es 12.5%. Es null si no hay demanda.
            mase:
              type:
                - string
                - 'null'
              description: >-
                Error absoluto medio escalado: el error promedio frente al de un
                pronóstico ingenuo. Menos de 1 es mejor que el pronóstico
                ingenuo. Es null sin demanda.
            bias:
              type:
                - string
                - 'null'
              description: >-
                Cuánto estuvo el pronóstico por encima de la demanda (mayor que
                0) o por debajo (menor que 0), como porcentaje de la demanda. Es
                null sin demanda.
          required:
            - wape
            - mase
            - bias
        value_added:
          type:
            - string
            - 'null'
          description: >-
            El WAPE estadístico menos el WAPE ajustado, en puntos porcentuales.
            Es mayor que 0 cuando el ajuste ayudó y menor que 0 cuando empeoró
            el pronóstico.
      required:
        - weeks
        - statistical
        - adjusted
        - value_added
      title: AccuracyResource
      description: >-
        La precisión de un pronóstico en las últimas 13 semanas cerradas: la
        demanda de cada semana junto a lo que pronosticó la ejecución anterior,
        con y sin los ajustes de los planificadores. También da las medidas de
        cada una.
    ForecastAdjustmentResource:
      type: object
      properties:
        id:
          type: string
          description: El ID del ajuste.
        level:
          type: string
          description: >-
            El nivel del pronóstico que cambia: `location`, `item`, `family` u
            `organization`.
          enum:
            - location
            - item
            - family
            - organization
        target:
          type: string
          description: >-
            Lo que cambia, como `M4-10 · Main` o el nombre de la familia. Está
            vacío para la organización.
        first_week:
          type: string
          description: El lunes de la primera semana que cambia, como YYYY-MM-DD.
        last_week:
          type: string
          description: El lunes de la última semana que cambia, como YYYY-MM-DD.
        kind:
          type: string
          description: 'Cómo cambia cada semana: `quantity`, `percent` o `formula`.'
          enum:
            - quantity
            - percent
            - formula
        amount:
          type:
            - string
            - 'null'
          description: >-
            La cantidad que se suma cada semana, o el porcentaje, como cadena
            decimal exacta. Es null para una fórmula.
        formula:
          type:
            - string
            - 'null'
          description: >-
            La fórmula, con sus campos por nombre. Es null a menos que `kind`
            sea `formula`.
        reason:
          type: string
          description: Por qué el planificador hizo el ajuste.
        created_at:
          type: string
          description: Cuándo se hizo el ajuste, como marca de tiempo ISO 8601 en UTC.
      required:
        - id
        - level
        - target
        - first_week
        - last_week
        - kind
        - amount
        - formula
        - reason
        - created_at
      title: ForecastAdjustmentResource
      description: Un ajuste de un planificador que aún se aplica a las próximas semanas.
  responses:
    AuthenticationException:
      description: No autenticado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    AuthorizationException:
      description: Prohibido
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    ModelNotFoundException:
      description: No encontrado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  securitySchemes:
    apiKey:
      type: http
      description: >-
        Para tus propios scripts e integraciones de servidor a servidor. Crea
        una clave en la app en Configuración > Acceso > Claves de API y cópiala
        entonces, porque se muestra una sola vez. Envíala como `Authorization:
        Bearer <key>`. La clave actúa como el miembro que la creó, en la
        organización en la que se creó. Una llamada necesita el permiso del
        miembro y uno de los alcances de la clave, como `inventory:read` o
        `sales:write`. Una clave con `*` tiene todos los alcances.
      scheme: bearer
    oauth2:
      type: oauth2
      description: >-
        Para apps que otras personas conectan a su cuenta de StockShift. Usa el
        flujo de código de autorización OAuth 2.1 con PKCE (S256); no hay
        secreto de cliente. Descubre los endpoints en
        `/.well-known/oauth-authorization-server` (RFC 8414) y registra tu app
        en `POST /oauth/register` (RFC 7591). El miembro elige la organización y
        aprueba los alcances en la página de consentimiento, y el token nunca
        puede hacer más de lo que podría hacer el miembro. Envíalo como
        `Authorization: Bearer <token>`, igual que una clave de API. Los tokens
        de acceso duran una hora; cada actualización devuelve un token de
        actualización nuevo, así que guárdalo.
      flows:
        authorizationCode:
          authorizationUrl: https://app.stockshift.io/oauth/authorize
          tokenUrl: https://app.stockshift.io/oauth/token
          refreshUrl: https://app.stockshift.io/oauth/token
          scopes:
            access:read: Access read
            audit:read: Audit read
            address:read: Address read
            address:write: Address write
            billing:read: Billing read
            catalog:read: Catalog read
            catalog:write: Catalog write
            dashboard:read: Dashboard read
            dashboard:write: Dashboard write
            developer:read: Developer read
            developer:write: Developer write
            devices:read: Devices read
            devices:write: Devices write
            documents:read: Documents read
            documents:write: Documents write
            notifications:read: Notifications read
            notifications:write: Notifications write
            inventory:read: Inventory read
            inventory:write: Inventory write
            purchasing:read: Purchasing read
            purchasing:write: Purchasing write
            quality:read: Quality read
            quality:write: Quality write
            sales:read: Sales read
            sales:write: Sales write
            engineering:read: Engineering read
            engineering:write: Engineering write
            manufacturing:read: Manufacturing read
            manufacturing:write: Manufacturing write
            automation:read: Automation read
            automation:write: Automation write
            insights:read: Insights read
            insights:write: Insights write
            integrations:read: Integrations read
            integrations:write: Integrations write
            labels:read: Labels read
            labels:write: Labels write
            library:read: Library read
            organization:read: Organization read
            organization:write: Organization write
            planning:read: Planning read
            planning:write: Planning write
            sync:read: Sync read
            sync:write: Sync write

````

## Related topics

- [Muestra el reabastecimiento de un artículo en una ubicación](https://docs.stockshift.io/es/api-reference/reabastecimiento/muestra-el-reabastecimiento-de-un-artículo-en-una-ubicación.md)
- [Muestra la demanda de un artículo en una ubicación](https://docs.stockshift.io/es/api-reference/demanda/muestra-la-demanda-de-un-artículo-en-una-ubicación.md)
- [Elimina la política de un artículo en una ubicación](https://docs.stockshift.io/es/api-reference/reabastecimiento/elimina-la-política-de-un-artículo-en-una-ubicación.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.