> ## 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 una orden de fabricación con su lista de piezas

> `{build}` es el ID de la orden de fabricación. Un borrador muestra la lista de piezas que le daría ahora la revisión
liberada de la BOM de su artículo, o por qué no se puede
liberar. Una orden liberada muestra la lista de piezas que conservó. Cada pieza tiene
lo que toma la orden, lo que hay disponible en la ubicación de la orden y
lo que falta. Una pieza faltante tiene una explicación que nombra las órdenes de
compra abiertas y los alternativos. Requiere el permiso `manufacturing.builds.view`
y un token con `manufacturing:read`.



## OpenAPI

````yaml /openapi.es.json get /manufacturing/builds/{build}
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:
  /manufacturing/builds/{build}:
    get:
      tags:
        - Órdenes de fabricación
      summary: Muestra una orden de fabricación con su lista de piezas
      description: >-
        `{build}` es el ID de la orden de fabricación. Un borrador muestra la
        lista de piezas que le daría ahora la revisión

        liberada de la BOM de su artículo, o por qué no se puede

        liberar. Una orden liberada muestra la lista de piezas que conservó.
        Cada pieza tiene

        lo que toma la orden, lo que hay disponible en la ubicación de la orden
        y

        lo que falta. Una pieza faltante tiene una explicación que nombra las
        órdenes de

        compra abiertas y los alternativos. Requiere el permiso
        `manufacturing.builds.view`

        y un token con `manufacturing:read`.
      operationId: v1.manufacturing.builds.show
      parameters:
        - name: build
          in: path
          required: true
          description: El ID de la orden de fabricación.
          schema:
            type: string
      responses:
        '200':
          description: '`BuildResource`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/BuildResource'
                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("/manufacturing/builds/{build}",
            {
              path: { build: "01J8QZ4M..." },
            });
components:
  schemas:
    BuildResource:
      type: object
      properties:
        id:
          type: string
          description: El ID de la orden de fabricación.
        number:
          type: string
          description: >-
            El número de la orden de fabricación, como `MO-00001`. Los números
            se cuentan por organización.
        status:
          type: string
          description: >-
            En qué etapa está la orden de fabricación: `draft`, `released`,
            `in_progress`, `completed`, `cancelled` o `reversed`.
        item_id:
          type: string
          description: El ID del artículo que fabrica la orden de fabricación.
        item_sku:
          type: string
          description: El SKU del artículo que fabrica la orden de fabricación.
        item_name:
          type: string
          description: El nombre del artículo que produce la orden de fabricación.
        quantity:
          type: string
          description: Cuántas unidades fabricar, en la unidad base del artículo.
        unit:
          type: string
          description: La unidad base del artículo.
        location_id:
          type: string
          description: >-
            El ID de la ubicación de la que la orden de fabricación toma sus
            piezas y en la que recibe su salida.
        location_code:
          type: string
          description: El código de la ubicación de la orden de fabricación.
        location_name:
          type: string
          description: El nombre de la ubicación de la orden de fabricación.
        due_on:
          type:
            - string
            - 'null'
          description: >-
            Cuándo vence la orden de fabricación, como fecha en formato `Y-m-d`.
            Es null cuando no tiene fecha de vencimiento.
        note:
          type:
            - string
            - 'null'
          description: >-
            Una nota de texto libre sobre la orden de fabricación. Es null
            cuando no hay ninguna.
        revision_label:
          type:
            - string
            - 'null'
          description: >-
            La etiqueta de la revisión de la BOM de la que proviene la lista de
            piezas, como `A`. Es null para un borrador cuyo artículo no tiene
            BOM liberada.
        parts_list_fixed:
          type: boolean
          description: >-
            Si la lista de piezas quedó fija cuando se liberó la orden de
            fabricación. La lista de piezas de un borrador sigue a la BOM hasta
            entonces.
        blocked:
          type:
            - string
            - 'null'
          description: >-
            Por qué no se puede liberar un borrador, como frase para mostrar. Es
            null cuando se puede liberar.
        lines:
          type: array
          description: La lista de partes, una entrada por línea.
          items:
            $ref: '#/components/schemas/BuildLineResource'
        released_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se liberó la orden de fabricación, como marca de tiempo ISO
            8601 en UTC. Es null hasta que se libera.
        cancelled_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se canceló la orden de fabricación, como marca de tiempo ISO
            8601 en UTC. Es null salvo que se haya cancelado.
        created_at:
          type: string
          description: >-
            Cuándo se creó la orden de fabricación, como marca de tiempo ISO
            8601 en UTC.
        updated_at:
          type: string
          description: >-
            Cuándo cambió la orden de fabricación por última vez, como marca de
            tiempo ISO 8601 en UTC.
        can_complete:
          type: boolean
          description: >-
            Si el miembro detrás del token puede completar órdenes de
            fabricación. Úsalo para mostrar u ocultar esa acción.
        can_issue:
          type: boolean
          description: >-
            Si el miembro detrás del token puede emitir piezas por pasos. Es
            true cuando el plan registra el consumo y el miembro puede completar
            órdenes de fabricación.
        issues:
          type: array
          description: >-
            Las partes consumidas hasta ahora, paso por paso, de la más antigua
            a la más nueva. Está vacío en un borrador.
          items:
            $ref: '#/components/schemas/BuildIssueResource'
        output:
          anyOf:
            - $ref: '#/components/schemas/BuildOutputResource'
            - type: 'null'
          description: >-
            Lo que produjo la orden de fabricación, una vez completada. Es null
            antes de eso.
        currency:
          type: string
          description: La moneda de los costos, como código ISO 4217, como `USD`.
        started_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se emitieron por primera vez piezas a la orden de
            fabricación, como marca de tiempo ISO 8601 en UTC. Es null hasta
            entonces.
        can_trace:
          type: boolean
          description: >-
            Si el miembro detrás del token puede rastrear lo que produjo la
            orden de fabricación. Es true cuando el plan incluye trazabilidad y
            el miembro tiene el permiso `manufacturing.genealogy.view`.
        operations:
          type: array
          description: >-
            Las operaciones de la orden de fabricación en secuencia. Se copian
            de la ruta de la revisión cuando se libera la orden, en un plan con
            rutas. Está vacío para un borrador.
          items:
            $ref: '#/components/schemas/BuildOperationResource'
        problems:
          type: array
          description: >-
            Los problemas reportados en la orden de fabricación, primero los
            abiertos y luego de los más nuevos a los más antiguos.
          items:
            $ref: '#/components/schemas/BuildProblemResource'
        can_run_operations:
          type: boolean
          description: >-
            Si el miembro detrás del token puede iniciar, pausar y terminar
            operaciones.
        can_manage:
          type: boolean
          description: >-
            Si el miembro detrás del token puede administrar órdenes de
            fabricación, lo que incluye cerrar problemas y corregir el tiempo.
        priority:
          type: string
          description: >-
            Qué tan urgente es la orden de fabricación: `high`, `normal` o
            `low`. Cuando órdenes que vencen el mismo día comparten un centro de
            trabajo, la programación pone primero la de mayor prioridad.
        planned_start_on:
          type:
            - string
            - 'null'
          description: >-
            El primer día para el que la programación planeó las operaciones de
            la orden de fabricación, como fecha en formato `Y-m-d`. Es null
            hasta que se programa la orden.
        planned_finish_on:
          type:
            - string
            - 'null'
          description: >-
            El día en que la programación planeó que termine la última operación
            de la orden de fabricación, como fecha en formato `Y-m-d`. Es null
            hasta que se programa la orden.
        late:
          type: boolean
          description: >-
            Si está previsto que la orden de fabricación termine después de su
            fecha de vencimiento.
        costs:
          anyOf:
            - $ref: '#/components/schemas/BuildCostResource'
            - type: 'null'
          description: >-
            El costo estimado de la orden de fabricación frente a su costo real.
            Es null salvo que el plan incluya costeo de trabajos y el miembro
            detrás del token tenga el permiso `inventory.valuation.view`.
        can_print_labels:
          type: boolean
          description: >-
            Si el miembro detrás del token puede imprimir etiquetas de las
            unidades que produce la orden de fabricación. Es true cuando la
            orden está liberada, en curso o completada, el plan incluye la
            impresión de etiquetas y el miembro tiene el permiso `labels.print`.
      required:
        - id
        - number
        - status
        - item_id
        - item_sku
        - item_name
        - quantity
        - unit
        - location_id
        - location_code
        - location_name
        - due_on
        - note
        - revision_label
        - parts_list_fixed
        - blocked
        - lines
        - released_at
        - cancelled_at
        - created_at
        - updated_at
        - can_complete
        - can_issue
        - issues
        - output
        - currency
        - started_at
        - can_trace
        - operations
        - problems
        - can_run_operations
        - can_manage
        - priority
        - planned_start_on
        - planned_finish_on
        - late
        - costs
        - can_print_labels
      title: BuildResource
      description: Una orden de fabricación con su lista de piezas.
    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
    BuildLineResource:
      type: object
      properties:
        position:
          type: string
          description: >-
            La posición de la línea de BOM, como `20`. Para una línea que llega
            a través de fantasmas, lista cada posición del recorrido, como
            `20/10`.
        component_id:
          type: string
          description: El ID del artículo componente.
        component_sku:
          type:
            - string
            - 'null'
          description: >-
            El SKU del componente. Es null cuando el miembro detrás del token no
            puede ver el artículo.
        component_name:
          type:
            - string
            - 'null'
          description: El nombre del artículo componente.
        required:
          type: string
          description: >-
            Cuánto toma la orden de fabricación del componente, con la merma
            incluida, en la unidad base del componente.
        unit:
          type: string
          description: La unidad base del componente.
        available:
          type:
            - string
            - 'null'
          description: >-
            Cuánto del componente hay disponible en la ubicación de la orden de
            fabricación. Es null cuando el miembro detrás del token no puede ver
            el artículo.
        short:
          type:
            - string
            - 'null'
          description: >-
            Cuánto falta, o `0` cuando no falta nada. Una vez liberada la orden
            de fabricación, es lo que aún tiene que consumir y que no cubren ni
            sus reservas ni las existencias que quedan por prometer. Es null
            cuando el miembro detrás del token no puede ver el artículo.
        explanation:
          type:
            - string
            - 'null'
          description: >-
            Por qué falta la pieza, como frase para mostrar, por ejemplo "Faltan
            3 M4-10. PO-00002 trae 10 el 2026-11-20.". Es null cuando no falta
            nada.
        open_orders:
          type: array
          description: >-
            Órdenes de compra abiertas que traen más del componente a la
            ubicación de la orden de fabricación, las más próximas primero.
          items:
            $ref: '#/components/schemas/BuildOrderResource'
        alternates:
          type: array
          description: >-
            Los artículos que pueden sustituir al componente, por orden de
            prioridad.
          items:
            $ref: '#/components/schemas/BuildAlternateResource'
        id:
          type:
            - string
            - 'null'
          description: >-
            El ID de la línea de la lista de piezas contra la que se consumen
            las piezas. Es null para un borrador, cuya lista de piezas aún no
            está fija.
        held:
          type:
            - string
            - 'null'
          description: >-
            Cuánto está reservado para la orden de fabricación en su ubicación.
            Es null en un borrador.
        issued:
          type:
            - string
            - 'null'
          description: >-
            Cuánto se ha consumido hasta ahora. Los alternativos cuentan como el
            componente al que sustituyen. Es null en un borrador.
        variance:
          type:
            - string
            - 'null'
          description: >-
            Lo emitido menos lo requerido: mayor que cero si hubo exceso y menor
            que cero si hubo faltante. Es null en un borrador y en una línea sin
            nada emitido todavía, salvo que la orden de fabricación se haya
            completado.
        variance_reason:
          type:
            - string
            - 'null'
          description: >-
            Por qué se usó más o menos que la lista de piezas. Es null cuando no
            se dio ningún motivo.
      required:
        - position
        - component_id
        - component_sku
        - component_name
        - required
        - unit
        - available
        - short
        - explanation
        - open_orders
        - alternates
        - id
        - held
        - issued
        - variance
        - variance_reason
      title: BuildLineResource
      description: Una pieza de la lista de piezas de una orden de fabricación.
    BuildIssueResource:
      type: object
      properties:
        step:
          type: integer
          description: >-
            El paso en el que se consumieron las partes, contado desde 1. Al
            completar la orden de fabricación, el resto se consume en un paso
            propio.
        position:
          type: string
          description: >-
            La posición de la línea de la lista de partes para la que eran las
            partes, como `20`.
        component_id:
          type: string
          description: >-
            El ID del artículo que se consumió. Es el ID del alternativo cuando
            un alternativo sustituyó al componente de la línea.
        component_sku:
          type:
            - string
            - 'null'
          description: >-
            El SKU del artículo que se consumió. Es null cuando el miembro
            detrás del token no puede ver el artículo.
        alternate_rank:
          type:
            - integer
            - 'null'
          description: >-
            La posición del alternativo cuando un alternativo sustituyó al
            componente de la línea. Es null cuando se consumió el componente
            mismo.
        quantity:
          type: string
          description: Cuánto se consumió, en la unidad base del artículo.
        lots:
          type: array
          description: >-
            Los números de los lotes de los que vinieron las piezas. Vacío
            cuando no vinieron de ningún lote.
          items:
            type: string
        serials:
          type: array
          description: >-
            Los números de serie de las unidades que se consumieron. Está vacío
            cuando no se consumieron unidades con seguimiento por número de
            serie.
          items:
            type: string
        cost:
          type: string
          description: >-
            A qué costo valoró el libro de existencias la salida, en la moneda
            de la organización.
        issued_at:
          type: string
          description: >-
            Cuándo se emitieron las piezas, como marca de tiempo ISO 8601 en
            UTC.
      required:
        - step
        - position
        - component_id
        - component_sku
        - alternate_rank
        - quantity
        - lots
        - serials
        - cost
        - issued_at
      title: BuildIssueResource
      description: >-
        Piezas que una orden de fabricación consumió para una línea de su lista
        de piezas en un solo paso.
    BuildOutputResource:
      type: object
      properties:
        status:
          type: string
          description: >-
            El estado de existencias con el que se recibió la salida:
            `available` o `quarantined`.
        lot:
          type:
            - string
            - 'null'
          description: >-
            El lote en el que se recibió la producción. Es null cuando la orden
            de fabricación no creó ningún lote.
        serials:
          type: array
          description: >-
            Los números de serie de las unidades producidas. Está vacío cuando
            la orden de fabricación no produjo números de serie.
          items:
            type: string
        cost:
          type: string
          description: El costo de las piezas consumidas, en la moneda de la organización.
        unit_cost:
          type: string
          description: El costo por unidad fabricada, en la moneda de la organización.
        issued_as_recorded:
          type: boolean
          description: >-
            Si al completar la orden de fabricación no se emitió nada más allá
            de los pasos ya registrados.
        completed_at:
          type: string
          description: >-
            Cuándo se completó la orden de fabricación, como marca de tiempo ISO
            8601 en UTC.
        reversed_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se revirtió la orden de fabricación, como marca de tiempo ISO
            8601 en UTC. Al revertirla, sus piezas vuelven a las existencias y
            se retira su producción. Es null salvo que se haya revertido.
      required:
        - status
        - lot
        - serials
        - cost
        - unit_cost
        - issued_as_recorded
        - completed_at
        - reversed_at
      title: BuildOutputResource
      description: Lo que produjo una orden de fabricación completada y lo que costó.
    BuildOperationResource:
      type: object
      properties:
        id:
          type: string
          description: El ID de la operación de la orden de fabricación.
        sequence:
          type: integer
          description: >-
            El lugar de la operación entre las operaciones de la orden de
            fabricación, como en la ruta.
        name:
          type: string
          description: El nombre de la operación, como `Solder`.
        work_center_id:
          type: string
          description: El ID del centro de trabajo donde se realiza la operación.
        work_center_code:
          type: string
          description: El código del centro de trabajo donde se realiza la operación.
        work_center_name:
          type: string
          description: El nombre del centro de trabajo donde se hace la operación.
        instructions:
          type:
            - string
            - 'null'
          description: >-
            Las instrucciones de trabajo de la operación, tal como están
            escritas en la ruta. Es null cuando no hay ninguna.
        setup_minutes:
          type: string
          description: >-
            Los minutos planificados de preparación, contados una vez para la
            orden de fabricación.
        run_minutes:
          type: string
          description: >-
            Los minutos planificados para producir toda la cantidad de la orden
            de fabricación.
        status:
          type: string
          description: >-
            En qué situación está la operación: `pending`, `running`, `paused` o
            `completed`.
        started_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo empezó el tramo de trabajo en curso, como marca de tiempo ISO
            8601 en UTC. Es null salvo que la operación esté en curso.
        started_by_you:
          type: boolean
          description: Si el miembro detrás del token inició el tramo de trabajo en curso.
        good_quantity:
          type:
            - string
            - 'null'
          description: >-
            Cuántas salieron buenas, una vez terminada la operación. Es null
            antes de eso.
        scrap_quantity:
          type:
            - string
            - 'null'
          description: >-
            Cuántas se desecharon, una vez terminada la operación. Es null antes
            de eso.
        scrap_reason:
          type:
            - string
            - 'null'
          description: >-
            Por qué se desecharon unidades, tal como se ingresó al terminar la
            operación. Es null cuando no se dio ningún motivo.
        completed_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo terminó la operación, como marca de tiempo ISO 8601 en UTC.
            Es null hasta entonces.
        worked_minutes:
          type: string
          description: Los minutos trabajados hasta ahora, con las correcciones incluidas.
        can_take:
          type: string
          description: >-
            El máximo que puede procesar la operación: lo que la operación
            anterior pasó como bueno, o la cantidad de la orden de fabricación
            para la primera operación.
        blocked:
          type:
            - string
            - 'null'
          description: >-
            Por qué la operación no se puede iniciar ni reanudar ahora, como
            frase para mostrar. Es null cuando se puede, y cuando está en curso
            o terminada.
        time_records:
          type: array
          description: >-
            Los tramos de trabajo de la operación y sus correcciones, del más
            antiguo al más reciente.
          items:
            $ref: '#/components/schemas/TimeRecordResource'
        subcontract:
          anyOf:
            - $ref: '#/components/schemas/OperationSubcontractResource'
            - type: 'null'
          description: >-
            El proveedor que hace la operación, con su orden de compra y cómo va
            el trabajo. Es null cuando la operación se hace internamente.
        checks:
          type: array
          description: >-
            Las comprobaciones registradas cuando se terminó la operación. Cada
            una tiene el `check_id` de la comprobación, su `result` (`pass`,
            `fail` o `na`) y cualquier `value` y `note`. Una comprobación
            fallida no detiene la operación.
          items: {}
      required:
        - id
        - sequence
        - name
        - work_center_id
        - work_center_code
        - work_center_name
        - instructions
        - setup_minutes
        - run_minutes
        - status
        - started_at
        - started_by_you
        - good_quantity
        - scrap_quantity
        - scrap_reason
        - completed_at
        - worked_minutes
        - can_take
        - blocked
        - time_records
        - subcontract
        - checks
      title: BuildOperationResource
      description: >-
        Una operación de una orden de fabricación, con el tiempo trabajado en
        ella.
    BuildProblemResource:
      type: object
      properties:
        id:
          type: string
          description: El ID del problema.
        operation_id:
          type:
            - string
            - 'null'
          description: >-
            El ID de la operación de la orden de fabricación a la que se refiere
            el problema. Es null cuando se refiere a toda la orden.
        operation:
          type:
            - string
            - 'null'
          description: >-
            La secuencia y el nombre de la operación, como `20 Solder`. Es null
            cuando el problema es de toda la orden de fabricación.
        reason:
          type: string
          description: >-
            Qué tipo de problema es: `material`, `machine`, `quality`,
            `instructions` o `other`.
        note:
          type: string
          description: >-
            Lo que escribió sobre el problema el miembro que lo reportó. Es null
            cuando no escribió nada.
        has_photo:
          type: boolean
          description: >-
            Si el problema tiene una foto. Obténla del endpoint de foto del
            problema.
        status:
          type: string
          description: Si el problema está `open` o `closed`.
        reported_by_you:
          type: boolean
          description: Si el miembro detrás del token reportó el problema.
        reported_at:
          type: string
          description: Cuándo se reportó el problema, como marca de tiempo ISO 8601 en UTC.
        close_note:
          type:
            - string
            - 'null'
          description: Qué se hizo con el problema, una vez cerrado. Es null antes de eso.
        closed_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se cerró el problema, como marca de tiempo ISO 8601 en UTC.
            Es null mientras está abierto.
      required:
        - id
        - operation_id
        - operation
        - reason
        - note
        - has_photo
        - status
        - reported_by_you
        - reported_at
        - close_note
        - closed_at
      title: BuildProblemResource
      description: >-
        Un problema reportado en una orden de fabricación o en una de sus
        operaciones.
    BuildCostResource:
      type: object
      properties:
        estimate:
          $ref: '#/components/schemas/CostSplitResource'
          description: >-
            La acumulación de costo de la BOM para la cantidad de la orden de
            fabricación, más sus minutos planificados con las tarifas de sus
            centros de trabajo.
        actual:
          $ref: '#/components/schemas/CostSplitResource'
          description: >-
            Las partes consumidas a su costo en el libro contable, más el tiempo
            registrado a las tarifas vigentes cuando se trabajó.
        variance:
          $ref: '#/components/schemas/CostSplitResource'
          description: >-
            El costo real menos la estimación, desglosado de la misma forma. Un
            valor positivo significa que la orden de fabricación costó más de lo
            estimado.
        final:
          type: boolean
          description: >-
            Si la orden de fabricación está completada, de modo que el costo
            real es definitivo. Antes de eso, `actual` es el costo hasta el
            momento.
        standard_unit_cost:
          type:
            - string
            - 'null'
          description: >-
            El costo estándar por unidad, cuando la salida es un artículo de
            costo estándar y se recibió a su estándar. Es null en los demás
            casos.
        standard_variance:
          type:
            - string
            - 'null'
          description: >-
            El costo real menos el costo estándar, como se registró en la
            recepción de la salida. Es null cuando la salida no se recibió a un
            costo estándar o no se conoce su costo real.
      required:
        - estimate
        - actual
        - variance
        - final
        - standard_unit_cost
        - standard_variance
      title: BuildCostResource
      description: El costo estimado de una orden de fabricación frente a su costo real.
    BuildOrderResource:
      type: object
      properties:
        number:
          type: string
          description: El número de la orden de compra, como `PO-00001`.
        quantity:
          type: string
          description: Cuánto queda por recibir de la orden, en la unidad base de la pieza.
        expected_on:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se espera el pedido, como fecha en formato `Y-m-d`. Es null
            cuando el pedido no tiene fecha.
      required:
        - number
        - quantity
        - expected_on
      title: BuildOrderResource
      description: >-
        Una orden de compra abierta que trae más de una pieza a la ubicación de
        la orden de fabricación.
    BuildAlternateResource:
      type: object
      properties:
        rank:
          type: integer
          description: >-
            El orden en que se prueban los alternativos. El rango `1` se prueba
            primero.
        component_id:
          type: string
          description: El ID del artículo que puede sustituir al componente de la línea.
        component_sku:
          type:
            - string
            - 'null'
          description: >-
            El SKU del alternativo. Es null cuando el miembro detrás del token
            no puede ver el artículo.
        component_name:
          type:
            - string
            - 'null'
          description: El nombre del artículo alternativo.
        quantity:
          type: string
          description: >-
            Cuánto del alternativo tomaría la orden de fabricación en lugar del
            componente, con la merma incluida.
        unit:
          type: string
          description: >-
            La unidad base del alternativo, en la que están `quantity` y
            `available`.
        available:
          type:
            - string
            - 'null'
          description: >-
            Cuánto del alternativo hay disponible en la ubicación de la orden de
            fabricación. Es null cuando el miembro detrás del token no puede ver
            el artículo.
      required:
        - rank
        - component_id
        - component_sku
        - component_name
        - quantity
        - unit
        - available
      title: BuildAlternateResource
      description: >-
        Un componente que podría sustituir a una pieza, y sus existencias en la
        ubicación de la orden de fabricación.
    TimeRecordResource:
      type: object
      properties:
        id:
          type: string
          description: El ID del registro de tiempo.
        worked_by:
          type:
            - integer
            - 'null'
          description: >-
            Quién hizo el trabajo, como ID de usuario seudónimo que se conserva
            cuando se borran los datos de la persona. Es null cuando ningún
            miembro con sesión iniciada hizo el trabajo.
        you:
          type: boolean
          description: Si el miembro detrás del token hizo el trabajo.
        work_center_code:
          type: string
          description: El código del centro de trabajo donde se hizo el trabajo.
        started_at:
          type: string
          description: >-
            Cuándo empezó el tramo de trabajo, como marca de tiempo ISO 8601 en
            UTC.
        ended_at:
          type: string
          description: >-
            Cuándo terminó el tramo de trabajo, como marca de tiempo ISO 8601 en
            UTC.
        minutes:
          type: string
          description: >-
            Los minutos contados, al centésimo. Negativos en una corrección que
            devuelve tiempo.
        corrects_id:
          type:
            - string
            - 'null'
          description: >-
            El ID del registro de tiempo que este corrige. Es null en un tramo
            de trabajo.
        created_at:
          type: string
          description: Cuándo se guardó el registro, como marca de tiempo ISO 8601 en UTC.
      required:
        - id
        - worked_by
        - you
        - work_center_code
        - started_at
        - ended_at
        - minutes
        - corrects_id
        - created_at
      title: TimeRecordResource
      description: >-
        Un intervalo de trabajo en una operación de una orden de fabricación, o
        una corrección de uno. Los registros nunca se modifican.
    OperationSubcontractResource:
      type: object
      properties:
        supplier_id:
          type: string
          description: El ID del proveedor que realiza la operación.
        supplier_name:
          type:
            - string
            - 'null'
          description: >-
            El nombre del proveedor. Es null cuando no se encuentra al
            proveedor.
        service_item_id:
          type: string
          description: El ID del artículo de servicio por el que se paga al proveedor.
        service_sku:
          type:
            - string
            - 'null'
          description: >-
            El SKU del artículo de servicio. Es null cuando el miembro detrás
            del token no puede ver el artículo.
        service_name:
          type:
            - string
            - 'null'
          description: >-
            El nombre del artículo de servicio. Es null cuando el miembro detrás
            del token no puede ver el artículo.
        unit_price:
          type: string
          description: El precio del pedido por unidad base del servicio.
        purchase_order_id:
          type:
            - string
            - 'null'
          description: >-
            El ID de la orden de compra creada como borrador para la operación
            cuando se liberó la orden de fabricación.
        purchase_order_number:
          type:
            - string
            - 'null'
          description: >-
            El número de la orden de compra generada para la operación, como
            `PO-00001`.
        sent:
          type: boolean
          description: >-
            Si las piezas de la operación se enviaron a la ubicación del
            proveedor.
        returned:
          type: boolean
          description: >-
            Si las piezas volvieron, lo que ocurre cuando el pedido se recibe
            completo.
        cost:
          type: string
          description: >-
            Lo que se ha recibido del trabajo hasta ahora, al precio de la
            orden. Es parte del costo real de la orden de fabricación.
        send_blocked:
          type:
            - string
            - 'null'
          description: >-
            Por qué las piezas no se pueden enviar ahora, como frase para
            mostrar. Es null cuando se pueden enviar o ya se enviaron.
        order_status:
          type:
            - string
            - 'null'
          description: >-
            El estado de la orden de compra: `draft`, `approved`, `sent`,
            `partially_received`, `received`, `closed` o `cancelled`. Es null
            cuando la operación no tiene orden.
        notice:
          type:
            - string
            - 'null'
          description: >-
            Lo que pasó con la orden y qué hacer después, como una oración para
            mostrar. Se define cuando la orden se canceló o se cerró antes de
            terminar el trabajo, y es null en los demás casos.
        can_bring_back:
          type: boolean
          description: >-
            Si las piezas de la operación se pueden recuperar ahora del
            proveedor.
        can_reorder:
          type: boolean
          description: >-
            Si se puede crear un pedido nuevo para lo que aún le falta tomar a
            la operación.
      required:
        - supplier_id
        - supplier_name
        - service_item_id
        - service_sku
        - service_name
        - unit_price
        - purchase_order_id
        - purchase_order_number
        - sent
        - returned
        - cost
        - send_blocked
        - order_status
        - notice
        - can_bring_back
        - can_reorder
      title: OperationSubcontractResource
      description: >-
        El proveedor que hace una operación de una orden de fabricación y cómo
        va su trabajo.
    CostSplitResource:
      type: object
      properties:
        parts:
          type:
            - string
            - 'null'
          description: >-
            El costo de las piezas, en la moneda de la organización. Es null
            cuando no se conoce.
        labor:
          type:
            - string
            - 'null'
          description: >-
            El costo de la mano de obra, a partir del tiempo trabajado en los
            centros de trabajo y sus tarifas de mano de obra, en la moneda de la
            organización. Es null cuando no se conoce.
        overhead:
          type:
            - string
            - 'null'
          description: >-
            El costo de los gastos indirectos, a partir del tiempo trabajado en
            los centros de trabajo y sus tarifas de gastos indirectos, en la
            moneda de la organización. Es null cuando no se conoce.
        total:
          type:
            - string
            - 'null'
          description: >-
            La suma de partes, mano de obra, gastos indirectos y trabajo
            subcontratado, en la moneda de la organización. Es null cuando se
            desconoce alguna parte.
        subcontract:
          type:
            - string
            - 'null'
          description: >-
            El costo del trabajo que hicieron los proveedores en la orden de
            fabricación, en la moneda de la organización.
      required:
        - parts
        - labor
        - overhead
        - total
        - subcontract
      title: CostSplitResource
      description: >-
        Un costo dividido en piezas, mano de obra y gastos indirectos, en la
        moneda de la organización. Una parte desconocida es null, y entonces el
        total también.
  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

- [Consume un paso de piezas en una orden de fabricación](https://docs.stockshift.io/es/api-reference/órdenes-de-fabricación/consume-un-paso-de-piezas-en-una-orden-de-fabricación.md)
- [Muestra una orden de cambio de ingeniería con sus marcas de revisión y aprobaciones](https://docs.stockshift.io/es/api-reference/cambios-de-ingeniería/muestra-una-orden-de-cambio-de-ingeniería-con-sus-marcas-de-revisión-y-aprobaciones.md)
- [Lista las BOM por el SKU de su artículo, activas o archivadas, con una consulta opcional](https://docs.stockshift.io/es/api-reference/bom/lista-las-bom-por-el-sku-de-su-artículo-activas-o-archivadas-con-una-consulta-opcional.md)


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