> ## 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.

# Registra los resultados de una inspección abierta

> `{inspection}` es el ID de la inspección. Envía una entrada por muestra, cada una
con un valor para cada característica revisada por muestra, y un `pass`
o `fail` para cada foto o documento. La inspección se aprueba cuando no
fallan más muestras de las que acepta su plan y todas las fotos y documentos
pasan. En otro caso, se reprueba. Una aprobación libera de la cuarentena las existencias que
retenía, y una reprobación las mantiene ahí. Los resultados se pueden registrar
una vez. Envía el evento de webhook `quality.inspection.recorded` y responde
con la inspección. Requiere el
permiso `quality.inspections.record`, un token con `quality:write` y
un plan con inspecciones de calidad.



## OpenAPI

````yaml /openapi.es.json post /quality/inspections/{inspection}/results
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:
  /quality/inspections/{inspection}/results:
    post:
      tags:
        - Inspecciones
      summary: Registra los resultados de una inspección abierta
      description: >-
        `{inspection}` es el ID de la inspección. Envía una entrada por muestra,
        cada una

        con un valor para cada característica revisada por muestra, y un `pass`

        o `fail` para cada foto o documento. La inspección se aprueba cuando no

        fallan más muestras de las que acepta su plan y todas las fotos y
        documentos

        pasan. En otro caso, se reprueba. Una aprobación libera de la cuarentena
        las existencias que

        retenía, y una reprobación las mantiene ahí. Los resultados se pueden
        registrar

        una vez. Envía el evento de webhook `quality.inspection.recorded` y
        responde

        con la inspección. Requiere el

        permiso `quality.inspections.record`, un token con `quality:write` y

        un plan con inspecciones de calidad.
      operationId: v1.quality.inspections.record
      parameters:
        - name: inspection
          in: path
          required: true
          description: El ID de la inspección.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordInspectionRequest'
      responses:
        '200':
          description: '`InspectionResource`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/InspectionResource'
                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'
        '422':
          $ref: '#/components/responses/ValidationException'
        '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.post("/quality/inspections/{inspection}/results", {
              path: { inspection: "01J8QZ4M..." },
              body: { samples: [], checks: {} },
            });
components:
  schemas:
    RecordInspectionRequest:
      type: object
      description: Los resultados de una inspección, todas las muestras a la vez.
      properties:
        samples:
          type: array
          description: >-
            Una entrada por muestra, tantas como el `sample_size` de la
            inspección.
          items:
            type: object
            properties:
              serial:
                type:
                  - string
                  - 'null'
                description: >-
                  Para un artículo con número de serie, el número de serie de la
                  unidad muestreada. Debe ser uno que cubra la inspección.
                maxLength: 64
              values:
                type: object
                description: >-
                  El valor de la muestra para cada característica, por su clave:
                  `pass` o `fail`, el valor medido como decimal, o una de las
                  opciones de un atributo. Las fotos y los documentos van en
                  `checks`.
                additionalProperties:
                  type: string
                  maxLength: 64
            required:
              - values
          maxItems: 2000
        checks:
          type:
            - object
            - 'null'
          description: >-
            `pass` o `fail` para cada foto y documento, por la clave de su
            característica. Sube primero el archivo.
          additionalProperties:
            type: string
        note:
          type:
            - string
            - 'null'
          description: >-
            Una nota sobre los resultados, de hasta 2,000 caracteres. Si se
            omite, la inspección conserva la nota que tiene, como el motivo de
            una reinspección.
          maxLength: 2000
      required:
        - samples
        - checks
      title: RecordInspectionRequest
    InspectionResource:
      type: object
      properties:
        id:
          type: string
          description: El ID de la inspección.
        number:
          type: string
          description: >-
            El número de la inspección, como `QI-00001`, contado por
            organización.
        status:
          type: string
          description: >-
            En qué situación está la inspección: `open` mientras espera
            resultados, `passed` o `failed` cuando se registran, o `cancelled`
            cuando antes se revirtió su recepción o su orden de fabricación.
        point:
          type: string
          description: >-
            Dónde se abrió la inspección: `receipt` para mercancía recibida,
            `operation` después de terminar una operación de fabricación o
            `build` cuando se completa una orden de fabricación.
        plan_name:
          type: string
          description: >-
            El nombre del plan que sigue, tal como era el nombre cuando se abrió
            la inspección.
        first_article:
          type: boolean
          description: Si lo abrió un plan de primer artículo.
        item_id:
          type: string
          description: El ID del artículo inspeccionado.
        item_sku:
          type: string
          description: El SKU del artículo inspeccionado.
        item_name:
          type: string
          description: El nombre del artículo inspeccionado.
        source_type:
          type: string
          description: >-
            Lo que abrió la inspección: `purchase_receipt`, `build_operation` o
            `build`.
        source_id:
          type: string
          description: >-
            El ID de la recepción para `purchase_receipt`, o de la orden de
            fabricación para `build_operation` y `build`.
        source_number:
          type: string
          description: >-
            El número de esa recepción u orden de fabricación, como `GR-00001` o
            `MO-00001`.
        source_detail:
          type:
            - string
            - 'null'
          description: >-
            La operación a la que sigue, como `20 Solder`. Es null salvo para
            `build_operation`.
        lot:
          type:
            - string
            - 'null'
          description: >-
            El número de lote de las existencias que cubre. Es null cuando las
            existencias no tienen lote o la inspección sigue a una operación.
        serials:
          type: array
          description: >-
            Los números de serie de las unidades que cubre. Está vacío cuando el
            artículo no tiene número de serie o la inspección sigue a una
            operación.
          items:
            type: string
        quantity:
          type: string
          description: >-
            La cantidad que cubre, como cadena decimal, en la unidad base del
            artículo.
        unit:
          type: string
          description: La unidad base del artículo, en la que está `quantity`.
        sample_size:
          type: integer
          description: >-
            Cuántas unidades revisar, calculadas a partir del muestreo del plan
            cuando se abrió la inspección.
        created_at:
          type: string
          description: Cuándo se abrió la inspección, como marca de tiempo ISO 8601.
        recorded_at:
          type:
            - string
            - 'null'
          description: >-
            Cuándo se registraron sus resultados, como marca de tiempo ISO 8601.
            Es null mientras está abierta.
        plan_id:
          type: string
          description: >-
            El ID del plan que sigue. El plan pudo haber cambiado desde que se
            abrió la inspección.
        location_id:
          type:
            - string
            - 'null'
          description: >-
            La ubicación que contiene las existencias que cubre. Es null para
            una inspección después de una operación.
        location_code:
          type:
            - string
            - 'null'
          description: El código de esa ubicación. Es null cuando `location_id` es null.
        supplier_id:
          type:
            - string
            - 'null'
          description: >-
            En la recepción, el proveedor de donde vinieron las existencias. Es
            null en otros puntos.
        supplier_name:
          type:
            - string
            - 'null'
          description: >-
            El código y el nombre del proveedor unidos por ` · `, como `ACME ·
            Acme Metals`. Es null en otros puntos.
        work_center_id:
          type:
            - string
            - 'null'
          description: >-
            Después de una operación, el centro de trabajo donde se ejecutó la
            operación. Es null en otros puntos.
        work_center_name:
          type:
            - string
            - 'null'
          description: >-
            El código y el nombre del centro de trabajo unidos por ` · `, como
            `SMT1 · SMT line`. Es null en otros puntos o cuando el centro de
            trabajo está archivado.
        revision:
          type:
            - string
            - 'null'
          description: >-
            La etiqueta de la revisión de la BOM fabricada, para una inspección
            en una operación o una orden de fabricación. Los planes de primer
            artículo revisan cada revisión una vez. Es null en la recepción.
        holds_stock:
          type: boolean
          description: >-
            Si sus existencias se mantienen en cuarentena hasta que lo aprueban.
            Es true en la recepción y en la orden de fabricación, y false
            después de una operación.
        lot_size:
          type: integer
          description: >-
            La cantidad de unidades de las que se toma la muestra: la cantidad
            de números de serie, o la cantidad redondeada hacia arriba a un
            número entero.
        accept:
          type: integer
          description: >-
            El máximo de muestras defectuosas que puede encontrar y aun así
            pasar.
        sampling:
          type: string
          description: >-
            Cómo se eligió el tamaño de la muestra: `all`, `fixed` o `aql`. Se
            copia del plan cuando se abrió la inspección.
        inspection_level:
          type:
            - string
            - 'null'
          description: >-
            El nivel de inspección MIL-STD-105E, como `II`. Es null salvo que
            `sampling` sea `aql`.
        aql:
          type:
            - string
            - 'null'
          description: >-
            El límite de calidad aceptable en porcentaje, como `2.5`. Es null
            salvo que `sampling` sea `aql`.
        instructions:
          type:
            - string
            - 'null'
          description: >-
            Las instrucciones del plan de inspección para el inspector, copiadas
            cuando se abrió la inspección. Es null cuando el plan no tiene.
        characteristics:
          type: array
          description: >-
            Las características del plan de inspección tal como estaban cuando
            se abrió la inspección.
          items:
            $ref: '#/components/schemas/CharacteristicResource'
        samples:
          type: array
          description: >-
            Los resultados de cada muestra para las características que se
            revisan por muestra. Está vacío mientras la inspección está abierta.
          items:
            $ref: '#/components/schemas/SampleResource'
        files:
          type: array
          description: >-
            Las fotos y los documentos subidos para sus características, de los
            más antiguos a los más nuevos.
          items:
            $ref: '#/components/schemas/InspectionFileResource'
        defectives:
          type:
            - integer
            - 'null'
          description: >-
            Cuántas muestras fallaron en al menos una característica. Es null
            mientras la inspección está abierta.
        note:
          type:
            - string
            - 'null'
          description: >-
            Una nota de texto libre: el motivo dado cuando se abrió como
            reinspección, o la nota enviada con sus resultados. Es null cuando
            no hay ninguna.
        recorded_by:
          type:
            - string
            - 'null'
          description: >-
            El nombre del miembro que registró los resultados. Es null mientras
            la inspección esté abierta.
        reinspects:
          anyOf:
            - $ref: '#/components/schemas/InspectionLinkResource'
            - type: 'null'
          description: >-
            La inspección registrada que esta vuelve a revisar. Es null cuando
            no es una reinspección.
        superseded_by:
          anyOf:
            - $ref: '#/components/schemas/InspectionLinkResource'
            - type: 'null'
          description: >-
            La reinspección abierta a partir de esta, que la reemplaza como la
            más reciente de la cadena. Es null cuando no se ha vuelto a
            inspeccionar.
        reinspectable:
          type: boolean
          description: >-
            Si se puede reinspeccionar ahora: está `passed` o `failed` y no se
            ha reinspeccionado. Úsalo para mostrar u ocultar la acción de
            reinspeccionar.
      required:
        - id
        - number
        - status
        - point
        - plan_name
        - first_article
        - item_id
        - item_sku
        - item_name
        - source_type
        - source_id
        - source_number
        - source_detail
        - lot
        - serials
        - quantity
        - unit
        - sample_size
        - created_at
        - recorded_at
        - plan_id
        - location_id
        - location_code
        - supplier_id
        - supplier_name
        - work_center_id
        - work_center_name
        - revision
        - holds_stock
        - lot_size
        - accept
        - sampling
        - inspection_level
        - aql
        - instructions
        - characteristics
        - samples
        - files
        - defectives
        - note
        - recorded_by
        - reinspects
        - superseded_by
        - reinspectable
      title: InspectionResource
      description: >-
        Una inspección completa: qué cubre, las características que comprueba,
        su muestreo y los resultados registrados hasta ahora.
    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
    CharacteristicResource:
      type: object
      properties:
        key:
          type: string
          description: >-
            La clave de la característica, un UUID. Se mantiene igual cuando
            cambia el plan, y los resultados y archivos se refieren a ella.
        name:
          type: string
          description: >-
            El nombre de la característica tal como lo ven los inspectores. Es
            único en su plan, sin distinguir mayúsculas.
        kind:
          type: string
          description: >-
            Lo que registra el inspector: `pass_fail`, `measured`, `attribute`,
            `photo` o `document`. Una foto o un documento se registra una vez
            por inspección, los demás una vez por muestra.
          enum:
            - pass_fail
            - measured
            - attribute
            - photo
            - document
        nominal:
          type:
            - string
            - 'null'
          description: >-
            El valor objetivo de una característica `measured`, como cadena
            decimal. Es null cuando no hay objetivo o en otros tipos.
        lower:
          type:
            - string
            - 'null'
          description: >-
            El valor más bajo que pasa, inclusive, como cadena decimal. Es null
            cuando no hay límite inferior.
        upper:
          type:
            - string
            - 'null'
          description: >-
            El valor más alto que pasa, inclusive, como cadena decimal. Es null
            cuando no hay límite superior.
        unit:
          type:
            - string
            - 'null'
          description: >-
            La unidad de los valores de una característica `measured`, como
            `mm`. Es null cuando no hay ninguna definida.
        choices:
          type: array
          description: >-
            Los valores que puede tomar una característica `attribute`. Está
            vacío en otros tipos.
          items:
            type: string
        accepted:
          type: array
          description: >-
            Las opciones que aprueban, para una característica `attribute`. Está
            vacío para otros tipos.
          items:
            type: string
      required:
        - key
        - name
        - kind
        - nominal
        - lower
        - upper
        - unit
        - choices
        - accepted
      title: CharacteristicResource
      description: >-
        Algo que revisa un plan de inspección, en cada muestra o una vez para
        toda la inspección.
    SampleResource:
      type: object
      properties:
        sample:
          type: integer
          description: El número de la muestra en la inspección, contado desde 1.
        serial:
          type:
            - string
            - 'null'
          description: >-
            El número de serie de la unidad revisada, para artículos con número
            de serie. Es null en los demás casos.
        values:
          type: object
          description: >-
            El valor registrado de cada característica, por su clave: `pass` o
            `fail`, el valor medido como cadena decimal, o la opción elegida.
          additionalProperties:
            type: string
        failed:
          type: array
          description: >-
            Las claves de las características en las que falló esta muestra.
            Vacío cuando pasó todas.
          items:
            type: string
      required:
        - sample
        - serial
        - values
        - failed
      title: SampleResource
      description: >-
        Los resultados registrados para una muestra, para las características
        que se revisan por muestra.
    InspectionFileResource:
      type: object
      properties:
        characteristic:
          type: string
          description: La clave de la característica para la que se registra el archivo.
        name:
          type: string
          description: El nombre del archivo tal como se subió.
        passed:
          type:
            - boolean
            - 'null'
          description: >-
            Si el miembro que registró los resultados consideró que el archivo
            pasó. Es null hasta que se registran los resultados.
        uploaded_at:
          type: string
          description: >-
            Cuándo se subió el archivo por última vez, como marca de tiempo ISO
            8601. Una subida nueva para la misma característica reemplaza el
            archivo y vuelve a establecer este valor.
      required:
        - characteristic
        - name
        - passed
        - uploaded_at
      title: InspectionFileResource
      description: >-
        Una foto o un documento subido para una característica de una
        inspección.
    InspectionLinkResource:
      type: object
      properties:
        id:
          type: string
          description: El ID de la otra inspección.
        number:
          type: string
          description: El número de la otra inspección, como `QI-00001`.
        status:
          type: string
          description: >-
            El estado de la otra inspección: `open`, `passed`, `failed` o
            `cancelled`.
      required:
        - id
        - number
        - status
      title: InspectionLinkResource
      description: >-
        Otra inspección de la misma cadena de reinspección, con su ID, número y
        estado.
  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'
    ValidationException:
      description: Error de validación
      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 una inspección con sus características y los resultados registrados](https://docs.stockshift.io/es/api-reference/inspecciones/muestra-una-inspección-con-sus-características-y-los-resultados-registrados.md)
- [Sube la foto o el documento que pide una característica de una inspección abierta](https://docs.stockshift.io/es/api-reference/inspecciones/sube-la-foto-o-el-documento-que-pide-una-característica-de-una-inspección-abierta.md)
- [Abre una reinspección de una inspección registrada](https://docs.stockshift.io/es/api-reference/inspecciones/abre-una-reinspección-de-una-inspección-registrada.md)


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