{"openapi":"3.0.3","info":{"title":"Pipeline Backend","version":"0.1.0"},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{}},"paths":{"/healthz":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/readyz":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/customers":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"storageProvider":{"type":"string","enum":["azure_blob","gcs","localfs"]},"storageAccount":{"type":"string","minLength":1},"storageContainer":{"type":"string","minLength":1},"logoUrl":{"type":"string","minLength":1},"iconUrl":{"type":"string","minLength":1},"metadata":{"type":"object","additionalProperties":{}}},"required":["slug","name"]}}}},"responses":{"200":{"description":"Default Response"}}},"get":{"parameters":[{"schema":{"type":"string","enum":["active","disabled"]},"in":"query","name":"status","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customers/{customerId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"customerId","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","enum":["active","disabled"]},"storageProvider":{"type":"string","enum":["azure_blob","gcs","localfs"],"nullable":true},"storageAccount":{"type":"string","minLength":1,"nullable":true},"storageContainer":{"type":"string","minLength":1,"nullable":true},"logoUrl":{"type":"string","minLength":1,"nullable":true},"iconUrl":{"type":"string","minLength":1,"nullable":true},"metadata":{"type":"object","additionalProperties":{}},"finderEnabled":{"type":"boolean"},"finderOpenToCustomers":{"type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"customerId","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"customerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/sites":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"address":{"type":"string","minLength":1,"nullable":true},"timezone":{"type":"string","minLength":1,"default":"UTC"},"metadata":{"type":"object","additionalProperties":{}},"scanSource":{"type":"string","enum":["db","scandrop"],"nullable":true},"scanTimestampOffsetMs":{"type":"integer"},"customerDatabase":{"type":"object","properties":{"scanQuery":{"type":"string","nullable":true},"scanQueryAutodetect":{"type":"boolean","default":false},"timezone":{"type":"string","minLength":1,"default":"UTC"}},"nullable":true},"scanFields":{"type":"object","properties":{"xField":{"type":"string","default":"locXPos"},"yField":{"type":"string","default":"locYPos"},"zField":{"type":"string","nullable":true,"default":null},"zDefaultCm":{"type":"number","default":100},"zoneField":{"type":"string","nullable":true,"default":null},"handlingUnitField":{"type":"string","default":"handlingUnitId"},"shipmentField":{"type":"string","nullable":true,"default":null}},"nullable":true},"captureConfig":{"type":"object","properties":{"pollIntervalSeconds":{"type":"number","default":2},"toleranceSeconds":{"type":"number","default":2},"scanLookbackSeconds":{"type":"number","default":300},"localFrameTtlHours":{"type":"number","default":48},"bufferHardMaxSeconds":{"type":"number","default":600},"bufferFps":{"type":"number","default":30},"fovMarginSide":{"type":"number","default":0.05},"fovMarginTop":{"type":"number","default":0.2}},"nullable":true},"scandropConfig":{"type":"object","properties":{"enabled":{"type":"boolean","default":false},"directory":{"type":"string"},"processedDirectory":{"type":"string"}},"nullable":true},"buildingBounds":{"type":"object","properties":{"xMinCm":{"type":"number"},"xMaxCm":{"type":"number"},"yMinCm":{"type":"number"},"yMaxCm":{"type":"number"}},"nullable":true},"hallplan":{"type":"object","properties":{"storagePath":{"type":"string","minLength":1},"width":{"type":"integer"},"height":{"type":"integer"},"originU":{"type":"number"},"originV":{"type":"number"},"cmPerPx":{"type":"number"},"source":{"type":"string"}},"required":["storagePath","width","height","originU","originV","cmPerPx"],"nullable":true}},"required":["customerId","name"]}}}},"responses":{"200":{"description":"Default Response"}}},"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/sites/{siteId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"siteId","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"address":{"type":"string","minLength":1,"nullable":true},"timezone":{"type":"string","minLength":1},"metadata":{"type":"object","additionalProperties":{}},"scanSource":{"type":"string","enum":["db","scandrop"],"nullable":true},"scanTimestampOffsetMs":{"type":"integer"},"customerDatabase":{"type":"object","properties":{"scanQuery":{"type":"string","nullable":true},"scanQueryAutodetect":{"type":"boolean","default":false},"timezone":{"type":"string","minLength":1,"default":"UTC"}},"nullable":true},"scanFields":{"type":"object","properties":{"xField":{"type":"string","default":"locXPos"},"yField":{"type":"string","default":"locYPos"},"zField":{"type":"string","nullable":true,"default":null},"zDefaultCm":{"type":"number","default":100},"zoneField":{"type":"string","nullable":true,"default":null},"handlingUnitField":{"type":"string","default":"handlingUnitId"},"shipmentField":{"type":"string","nullable":true,"default":null}},"nullable":true},"captureConfig":{"type":"object","properties":{"pollIntervalSeconds":{"type":"number","default":2},"toleranceSeconds":{"type":"number","default":2},"scanLookbackSeconds":{"type":"number","default":300},"localFrameTtlHours":{"type":"number","default":48},"bufferHardMaxSeconds":{"type":"number","default":600},"bufferFps":{"type":"number","default":30},"fovMarginSide":{"type":"number","default":0.05},"fovMarginTop":{"type":"number","default":0.2}},"nullable":true},"scandropConfig":{"type":"object","properties":{"enabled":{"type":"boolean","default":false},"directory":{"type":"string"},"processedDirectory":{"type":"string"}},"nullable":true},"buildingBounds":{"type":"object","properties":{"xMinCm":{"type":"number"},"xMaxCm":{"type":"number"},"yMinCm":{"type":"number"},"yMaxCm":{"type":"number"}},"nullable":true},"hallplan":{"type":"object","properties":{"storagePath":{"type":"string","minLength":1},"width":{"type":"integer"},"height":{"type":"integer"},"originU":{"type":"number"},"originV":{"type":"number"},"cmPerPx":{"type":"number"},"source":{"type":"string"}},"required":["storagePath","width","height","originU","originV","cmPerPx"],"nullable":true}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"siteId","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"siteId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/cameras":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"externalId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"cameraType":{"type":"string","enum":["rtsp","http_snapshot","other"]},"vendor":{"type":"string"},"model":{"type":"string"},"zones":{"type":"array","items":{"type":"string","minLength":1}},"metadata":{"type":"object","additionalProperties":{}},"intrinsics":{"type":"object","properties":{"fx":{"type":"number"},"fy":{"type":"number"},"cx":{"type":"number"},"cy":{"type":"number"},"k1":{"type":"number","default":0},"k2":{"type":"number","default":0},"p1":{"type":"number","default":0},"p2":{"type":"number","default":0},"k3":{"type":"number","default":0},"imageWidth":{"type":"integer"},"imageHeight":{"type":"integer"}},"required":["fx","fy","cx","cy","imageWidth","imageHeight"],"nullable":true},"intrinsicsUndistorted":{"type":"object","properties":{"fx":{"type":"number"},"fy":{"type":"number"},"cx":{"type":"number"},"cy":{"type":"number"},"width":{"type":"integer"},"height":{"type":"integer"}},"required":["fx","fy","cx","cy","width","height"],"nullable":true},"extrinsics":{"type":"object","properties":{"rvec":{},"tvec":{}},"required":["rvec","tvec"],"nullable":true},"measurementConfig":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{}},"nullable":true},"dewarpingMode":{"type":"string","enum":["fixed_views","dynamic_aimed"]},"cameraLensModel":{"type":"string","enum":["pinhole","fisheye_stereographic","fisheye_equidistant","radial"],"nullable":true},"rawIntrinsics":{"type":"object","additionalProperties":{},"nullable":true},"config":{"type":"object","properties":{"url":{"type":"string","minLength":1},"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"bufferSeconds":{"type":"number","nullable":true},"httpPollIntervalSeconds":{"type":"number","nullable":true},"networkOffsetMs":{"oneOf":[{"type":"integer"},{"enum":["auto"]}],"nullable":true},"zones":{"type":"array","items":{"type":"string","minLength":1},"nullable":true},"rtspTimestampSource":{"type":"string","enum":["wall_clock","rtcp_ntp","camera_metadata"],"nullable":true},"encodingOffsetMs":{"type":"integer","nullable":true},"cameraMetadataUrl":{"type":"string","nullable":true},"onvifDeviceServiceUrl":{"type":"string","nullable":true},"scanArea":{"type":"object","additionalProperties":{},"nullable":true},"matchAllScans":{"type":"boolean"},"ipAddress":{"type":"string","nullable":true}},"required":["url"]}},"required":["customerId","siteId","name","cameraType"]}}}},"responses":{"200":{"description":"Default Response"}}},"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"siteId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/cameras/{cameraId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"cameraId","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"cameraType":{"type":"string","enum":["rtsp","http_snapshot","other"]},"status":{"type":"string","enum":["active","inactive","retired"]},"vendor":{"type":"string"},"model":{"type":"string"},"zones":{"type":"array","items":{"type":"string","minLength":1},"nullable":true},"metadata":{"type":"object","additionalProperties":{}},"intrinsics":{"type":"object","properties":{"fx":{"type":"number"},"fy":{"type":"number"},"cx":{"type":"number"},"cy":{"type":"number"},"k1":{"type":"number","default":0},"k2":{"type":"number","default":0},"p1":{"type":"number","default":0},"p2":{"type":"number","default":0},"k3":{"type":"number","default":0},"imageWidth":{"type":"integer"},"imageHeight":{"type":"integer"}},"required":["fx","fy","cx","cy","imageWidth","imageHeight"],"nullable":true},"intrinsicsUndistorted":{"type":"object","properties":{"fx":{"type":"number"},"fy":{"type":"number"},"cx":{"type":"number"},"cy":{"type":"number"},"width":{"type":"integer"},"height":{"type":"integer"}},"required":["fx","fy","cx","cy","width","height"],"nullable":true},"extrinsics":{"type":"object","properties":{"rvec":{},"tvec":{}},"required":["rvec","tvec"],"nullable":true},"measurementConfig":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{}},"nullable":true},"dewarpingMode":{"type":"string","enum":["fixed_views","dynamic_aimed"]},"cameraLensModel":{"type":"string","enum":["pinhole","fisheye_stereographic","fisheye_equidistant","radial"],"nullable":true},"rawIntrinsics":{"type":"object","additionalProperties":{},"nullable":true},"farFaceCorrectorEnabled":{"type":"boolean"},"config":{"type":"object","properties":{"url":{"type":"string","minLength":1},"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"bufferSeconds":{"type":"number","nullable":true},"httpPollIntervalSeconds":{"type":"number","nullable":true},"networkOffsetMs":{"oneOf":[{"type":"integer"},{"enum":["auto"]}],"nullable":true},"zones":{"type":"array","items":{"type":"string","minLength":1},"nullable":true},"rtspTimestampSource":{"type":"string","enum":["wall_clock","rtcp_ntp","camera_metadata"],"nullable":true},"encodingOffsetMs":{"type":"integer","nullable":true},"cameraMetadataUrl":{"type":"string","nullable":true},"onvifDeviceServiceUrl":{"type":"string","nullable":true},"scanArea":{"type":"object","additionalProperties":{},"nullable":true},"matchAllScans":{"type":"boolean"},"ipAddress":{"type":"string","nullable":true}},"nullable":true}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"cameraId","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"cameraId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/media-assets":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"cameraId":{"type":"string","format":"uuid"},"externalId":{"type":"string"},"kind":{"type":"string","enum":["snapshot","clip","recording"]},"storage":{"type":"object","properties":{"provider":{"type":"string","enum":["azure_blob","gcs","localfs"]},"account":{"type":"string","minLength":1},"container":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"signedUrl":{"type":"string","format":"uri"},"signedUrlExpiresAt":{"type":"string","format":"date-time"}},"required":["account","container","path"]},"capturedAtStart":{"type":"string","format":"date-time"},"capturedAtEnd":{"type":"string","format":"date-time"},"mimeType":{"type":"string"},"checksumSha256":{"type":"string"},"sizeBytes":{"type":"integer"},"durationMs":{"type":"integer"},"width":{"type":"integer"},"height":{"type":"integer"},"handlingUnitId":{"type":"string"},"shipmentId":{"type":"string"},"sourceScanId":{"type":"string"},"sourceScanTimestamp":{"type":"string","format":"date-time"},"sourceMetadata":{"type":"object","additionalProperties":{}}},"required":["customerId","siteId","cameraId","kind","storage","capturedAtStart","handlingUnitId"]}}}},"responses":{"200":{"description":"Default Response"}}},"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"siteId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"cameraId","required":false},{"schema":{"type":"string"},"in":"query","name":"handlingUnitId","required":false},{"schema":{"type":"string"},"in":"query","name":"shipmentId","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/media-assets/{mediaAssetId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"mediaAssetId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/media-assets/{mediaAssetId}/video":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"mediaAssetId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/video-segments":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"cameraId":{"type":"string","format":"uuid"},"segments":{"type":"array","items":{"type":"object","properties":{"slotStartUtc":{"type":"string"},"slotSeconds":{"type":"number"},"startTimestampUtc":{"type":"string"},"endTimestampUtc":{"type":"string"},"captureTimestampSource":{"type":"string","minLength":1},"timeline":{"type":"array","items":{}}},"required":["slotStartUtc","slotSeconds","startTimestampUtc","endTimestampUtc","timeline"]}}},"required":["siteId","cameraId","segments"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/video-segments/{id}/upload-complete":{"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sizeBytes":{"type":"integer"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/bootstrap":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"siteExternalId","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"siteSlug","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/captures":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"cameraId":{"type":"string","format":"uuid"},"frameRequestId":{"type":"string","minLength":1},"customerScanId":{"type":"string","minLength":1},"scanTimestampUtc":{"type":"string"},"captureTimestampUtc":{"type":"string"},"mimeType":{"type":"string","minLength":1},"handlingUnitId":{"type":"string","minLength":1},"shipmentId":{"type":"string","minLength":1},"scanMetadata":{"type":"object","additionalProperties":{}},"ingestorMetadata":{"type":"object","properties":{"cameraType":{"type":"string","minLength":1},"timeOffsetMs":{"type":"integer"},"toleranceSeconds":{"type":"number"},"captureLatencyMs":{"type":"integer"},"targetTimestampUtc":{"type":"string"},"captureTimestampSource":{"type":"string","minLength":1},"receivedAtUtc":{"type":"string"},"availableAtUtc":{"type":"string"},"rawBlobPath":{"type":"string","minLength":1},"calibrationVersion":{"type":"string","minLength":1},"coverageVersion":{"type":"string","minLength":1}},"required":["cameraType"]}},"required":["siteId","cameraId","frameRequestId","customerScanId","scanTimestampUtc","captureTimestampUtc","mimeType","handlingUnitId","scanMetadata","ingestorMetadata"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/captures/{id}/upload-complete":{"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"intermediateOffsetMs":{"type":"integer"},"clip":{"enum":[true]},"sizeBytes":{"type":"integer"},"checksumSha256":{"type":"string","minLength":1},"width":{"type":"integer"},"height":{"type":"integer"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/scans":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"customerScanId":{"type":"string","minLength":1},"scanTimestampUtc":{"type":"string"},"handlingUnitId":{"type":"string","minLength":1},"shipmentId":{"type":"string","minLength":1},"scanMetadata":{"type":"object","additionalProperties":{}},"captures":{"type":"array","items":{"type":"object","properties":{"cameraId":{"type":"string","format":"uuid"},"frameRequestId":{"type":"string","minLength":1},"captureTimestampUtc":{"type":"string"},"mimeType":{"type":"string","minLength":1},"ingestorMetadata":{"type":"object","properties":{"cameraType":{"type":"string","minLength":1},"timeOffsetMs":{"type":"integer"},"toleranceSeconds":{"type":"number"},"captureLatencyMs":{"type":"integer"},"targetTimestampUtc":{"type":"string"},"captureTimestampSource":{"type":"string","minLength":1},"receivedAtUtc":{"type":"string"},"availableAtUtc":{"type":"string"},"rawBlobPath":{"type":"string","minLength":1},"calibrationVersion":{"type":"string","minLength":1},"coverageVersion":{"type":"string","minLength":1}},"required":["cameraType"]},"intermediateFrames":{"type":"array","items":{"type":"object","properties":{"offsetMs":{"type":"integer"},"frameRequestId":{"type":"string","minLength":1},"captureTimestampUtc":{"type":"string"},"mimeType":{"enum":["image/jpeg"]},"ingestorMetadata":{"type":"object","properties":{"cameraType":{"type":"string","minLength":1},"timeOffsetMs":{"type":"integer"},"toleranceSeconds":{"type":"number"},"captureLatencyMs":{"type":"integer"},"targetTimestampUtc":{"type":"string"},"captureTimestampSource":{"type":"string","minLength":1},"receivedAtUtc":{"type":"string"},"availableAtUtc":{"type":"string"},"rawBlobPath":{"type":"string","minLength":1},"calibrationVersion":{"type":"string","minLength":1},"coverageVersion":{"type":"string","minLength":1}},"required":["cameraType"]}},"required":["offsetMs","frameRequestId","captureTimestampUtc","mimeType","ingestorMetadata"]}},"clip":{"type":"object","properties":{"frameRequestId":{"type":"string","minLength":1},"mimeType":{"enum":["video/mp4"]},"startTimestampUtc":{"type":"string"},"captureTimestampSource":{"type":"string","minLength":1},"timeline":{"type":"array","items":{}}},"required":["frameRequestId","mimeType","startTimestampUtc","timeline"]},"video":{"type":"object","properties":{"scanTargetUtc":{"type":"string"},"windowStartUtc":{"type":"string"},"windowEndUtc":{"type":"string"},"preSeconds":{"type":"number"},"postSeconds":{"type":"number"},"segmentSeconds":{"type":"number"}},"required":["scanTargetUtc","windowStartUtc","windowEndUtc","preSeconds","postSeconds"]}},"required":["cameraId","frameRequestId","captureTimestampUtc","mimeType","ingestorMetadata"]}}},"required":["siteId","customerScanId","scanTimestampUtc","handlingUnitId","scanMetadata","captures"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-external-dimensions":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"default":20},"budgetMs":{"type":"integer","minimum":1000,"default":120000}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/requeue-external-dimensions":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","minLength":1}},"default":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/backfill-external-dimensions":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerSlug":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"default":5000}},"required":["customerSlug"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/external-dimensions/{handlingUnitId}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"customerSlug","required":true},{"schema":{"type":"string","minLength":1},"in":"path","name":"handlingUnitId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-koch-tms-watch":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"maxBatches":{"type":"integer","minimum":1,"default":60},"batchSize":{"type":"integer","minimum":1,"default":100},"budgetMs":{"type":"integer","minimum":1000,"default":240000}},"default":{"maxBatches":60,"batchSize":100,"budgetMs":240000}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/backfill-koch-tms-watch":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"days":{"type":"integer","minimum":1,"default":10}},"default":{"days":10}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/resync-koch-tms-snapshots":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"after":{"type":"string","minLength":1,"nullable":true,"default":null},"nves":{"type":"array","items":{"type":"string","minLength":1}},"createdFrom":{"nullable":true,"default":null},"maxBatches":{"type":"integer","minimum":1,"default":60},"batchSize":{"type":"integer","minimum":1,"default":100},"budgetMs":{"type":"integer","minimum":1000,"default":240000}},"default":{"after":null,"createdFrom":null,"maxBatches":60,"batchSize":100,"budgetMs":240000}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/backfill-koch-tms-shipments":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"after":{"type":"string","minLength":1,"nullable":true,"default":null},"maxBatches":{"type":"integer","minimum":1,"default":60},"batchSize":{"type":"integer","minimum":1,"default":100},"budgetMs":{"type":"integer","minimum":1000,"default":240000}},"default":{"after":null,"maxBatches":60,"batchSize":100,"budgetMs":240000}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/koch-tms-watch/summary":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-auto-accept-releases":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"default":500},"budgetMs":{"type":"integer","minimum":1000,"default":240000}},"default":{"limit":500,"budgetMs":240000}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/sync-zobel-sftp":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1}},"default":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/sync-scherbauer-scan-events":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1}},"default":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-zobel-sftp-export":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"default":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/processing-jobs":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"jobType":{"type":"string","enum":["measurement","ai_inference"]},"workflowKey":{"type":"string","minLength":1},"idempotencyKey":{"type":"string"},"input":{"type":"object","additionalProperties":{}},"inputAssets":{"type":"array","items":{"type":"object","properties":{"mediaAssetId":{"type":"string","format":"uuid"},"inputRole":{"type":"string","enum":["primary","secondary"],"default":"primary"},"sortOrder":{"type":"integer","default":0}},"required":["mediaAssetId"]}}},"required":["customerId","jobType","workflowKey","inputAssets"]}}}},"responses":{"200":{"description":"Default Response"}}},"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"in":"query","name":"status","required":false},{"schema":{"type":"string"},"in":"query","name":"workflowKey","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/processing-jobs/{jobId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/internal/jobs/{jobId}/run":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ai-results":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string"},"in":"query","name":"handlingUnit","required":false},{"schema":{"type":"string"},"in":"query","name":"shipmentId","required":false},{"schema":{"type":"string","enum":["measurement_v1","object_detection_v1"]},"in":"query","name":"resultType","required":false},{"schema":{"type":"boolean","default":false},"in":"query","name":"includeUnreviewed","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ai-results/{resultId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"resultId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/handling-units/{handlingUnit}/latest-result":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"path","name":"handlingUnit","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ai-results/{resultId}/artifacts/{artifactKind}/url":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"resultId","required":true},{"schema":{"type":"string","enum":["image","modelPly"]},"in":"path","name":"artifactKind","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/artifacts/local/{resultId}/{artifactKind}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"resultId","required":true},{"schema":{"type":"string","enum":["image","modelPly"]},"in":"path","name":"artifactKind","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/scans":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"capturedAt":{"type":"string","format":"date-time"},"handlingUnitId":{"type":"string","minLength":1},"shipmentId":{"type":"string","minLength":1},"identifiers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["customer_scan_id","handling_unit_id","shipment_id","frame_request_id"]},"value":{"type":"string","minLength":1}},"required":["type","value"]}},"metadata":{"type":"object","additionalProperties":{}}},"required":["customerId","siteId","capturedAt","identifiers"]}}}},"responses":{"200":{"description":"Default Response"}}},"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true},{"schema":{"type":"string","enum":["ingestion","dewarping","classification","measurement","qa"]},"in":"query","name":"stage","required":false},{"schema":{"type":"string","enum":["pending","running","succeeded","failed","skipped","rejected"]},"in":"query","name":"stageStatus","required":false},{"schema":{"type":"string"},"in":"query","name":"activity","required":false},{"schema":{"type":"string"},"in":"query","name":"position","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedAfter","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedBefore","required":false},{"schema":{"type":"integer","minimum":1,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"offset","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/scans/stats":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"since","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/scans/{id}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/scans/{id}/stages/{stage}/start":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"operator":{"type":"string","minLength":1},"inputRef":{"type":"object","additionalProperties":{}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["ingestion","dewarping","classification","measurement","qa"]},"in":"path","name":"stage","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/scans/{id}/stages/{stage}/complete":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["succeeded","failed","skipped","rejected"]},"outputRef":{"type":"object","additionalProperties":{}},"providerPayload":{"type":"object","additionalProperties":{}},"error":{"type":"string"}},"required":["status"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["ingestion","dewarping","classification","measurement","qa"]},"in":"path","name":"stage","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-classification":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/classification-result":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"schema_version":{"enum":[2]},"dispatch_id":{"type":"string","format":"uuid"},"stage_run_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["completed","failed"]},"result":{"type":"object","properties":{"model_id":{"type":"string"},"model_sha256":{"type":"string"},"contract_id":{"type":"string","enum":["item-ranker-current-scan-v1","item-ranker-current-scan-007-v1"]},"release_sha256":{"type":"string"},"scanner_present":{},"confidence":{"type":"number","nullable":true},"gap":{},"selection_status":{"type":"string","enum":["selected","no_selection"]},"is_measurable":{"type":"boolean"},"best_frame":{"type":"string","enum":["pre_3","pre_2","pre","scan","post","post_2","post_3"]},"review_flags":{"type":"array","items":{"type":"string"}},"signals":{"type":"object","additionalProperties":{}},"alternatives":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer","minimum":2},"candidate_index":{"type":"integer"},"person_track_id":{"type":"integer","nullable":true},"best_frame":{"type":"string","enum":["pre_3","pre_2","pre","scan","post","post_2","post_3"]}},"required":["rank","candidate_index","best_frame"]}}},"required":["model_id","model_sha256","contract_id","release_sha256","scanner_present","confidence","gap","selection_status","is_measurable","best_frame","review_flags","signals"]},"error":{"type":"string"}},"required":["schema_version","dispatch_id","stage_run_id","status"]},{"type":"object","properties":{"schema_version":{"enum":[1]},"dispatch_id":{"type":"string","format":"uuid"},"stage_run_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["completed","failed"]},"result":{"type":"object","properties":{"scanner_present":{"type":"boolean"},"is_measurable":{"type":"boolean","nullable":true},"confidence":{"type":"number","nullable":true},"gap":{"type":"number","nullable":true},"best_frame":{"type":"string","nullable":true},"review_flags":{"type":"array","items":{"type":"string"},"nullable":true},"signals":{"type":"object","additionalProperties":{},"nullable":true},"segmentation":{"nullable":true}},"required":["scanner_present","confidence","gap"]},"error":{"type":"string"}},"required":["schema_version","dispatch_id","stage_run_id","status"]}]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/classification-reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"scanIds":{"type":"array","items":{"type":"string","format":"uuid"}},"since":{"type":"string","format":"date-time"},"reason":{"type":"string","default":"manual classification reset"}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-dewarping":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/dewarping-coverage-rejections":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":24},"in":"query","name":"windowHours","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/dewarping-reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"scanIds":{"type":"array","items":{"type":"string","format":"uuid"}},"reason":{"type":"string","default":"manual dewarping reset"}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/dewarping-reject-stuck":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanIds":{"type":"array","items":{"type":"string","format":"uuid"}},"reason":{"type":"string","default":"manual reject-stuck (TECH-163 cleanup)"}},"required":["scanIds"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-classification/pending":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"siteId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"cameraId","required":false},{"schema":{"type":"number","default":0},"in":"query","name":"minGap","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"excludeOverlapSeconds","required":false},{"schema":{"type":"boolean","default":false},"in":"query","name":"hideNoScanner","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"default":[]},"in":"query","name":"excludedCustomerIds","required":false},{"schema":{"type":"string","enum":["oldest","newest"],"default":"oldest"},"in":"query","name":"sortOrder","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedAfter","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedBefore","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-classification/summary":{"get":{"parameters":[{"schema":{"type":"string","enum":["pending","approval","approval_autorejected"],"default":"pending"},"in":"query","name":"stage","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"siteId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"cameraId","required":false},{"schema":{"type":"number","default":0},"in":"query","name":"minGap","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"excludeOverlapSeconds","required":false},{"schema":{"type":"boolean","default":false},"in":"query","name":"hideNoScanner","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedAfter","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedBefore","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-classification/{scanId}/review":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"decision":{"enum":["accepted"]},"kochScaleFactor":{"type":"object","properties":{"objective":{"type":"string","enum":["t30_mae","per_dim_5cm_count"]}},"required":["objective"]}},"required":["decision"]},{"type":"object","properties":{"decision":{"enum":["rejected"]},"reason":{"type":"string","enum":["hu_occluded","hu_occluded_window_too_short","scan_ambiguous","scan_occluded","classifier_wrong","bbox_tilted","bbox_oversized","bbox_undersized","bbox_height_length_ambiguous","segmentation_wrong","pallet_mixed","sticker_scanned","other","scan_in_trailer","unclear_which_item","different_item_scanned","item_not_fully_visible","box_does_not_fit","several_items_in_box","bad_bounding_box_fit","item_not_measurable","no_scan_visible","bad_measurements","unclear_item","different_item","bbox_misfit","item_occluded","ambiguous","wrong_item_selected","bad_segmentation","mixed_pallet","barcode_not_attached","stacked_items"]},"reasonText":{"type":"string","minLength":1},"correction":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"},"obbCornersPx":{"type":"array","items":{"type":"object","properties":{"u":{"type":"number"},"v":{"type":"number"}},"required":["u","v"]}}},"required":["lengthCm","widthCm","heightCm","obbCornersPx"]},"alternativeRank":{"type":"integer","minimum":2},"alternativeCandidateIndex":{"type":"integer","nullable":true}},"required":["decision"]}]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-classification/{scanId}/review/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stageRunId":{"type":"string","format":"uuid"}},"required":["stageRunId"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-classification/reviews/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reviews":{"type":"array","items":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"stageRunId":{"type":"string","format":"uuid"}},"required":["scanId","stageRunId"]}}},"required":["reviews"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-classification/{scanId}/note":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"starred":{"type":"boolean"},"comment":{"type":"string","nullable":true},"feedback":{"type":"boolean"},"training":{"type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-classification/stats":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/leaderboard":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/leaderboard/daily":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":7},"in":"query","name":"days","required":false},{"schema":{"type":"string"},"in":"query","name":"tz","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/summary":{"get":{"parameters":[{"schema":{"type":"string","enum":["pending","approval","approval_autorejected"],"default":"pending"},"in":"query","name":"stage","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"siteId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"cameraId","required":false},{"schema":{"type":"number","default":0},"in":"query","name":"minGap","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"excludeOverlapSeconds","required":false},{"schema":{"type":"boolean","default":false},"in":"query","name":"hideNoScanner","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedAfter","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedBefore","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/review":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"decision":{"enum":["accepted"]},"kochScaleFactor":{"type":"object","properties":{"objective":{"type":"string","enum":["t30_mae","per_dim_5cm_count"]}},"required":["objective"]}},"required":["decision"]},{"type":"object","properties":{"decision":{"enum":["rejected"]},"reason":{"type":"string","enum":["hu_occluded","hu_occluded_window_too_short","scan_ambiguous","scan_occluded","classifier_wrong","bbox_tilted","bbox_oversized","bbox_undersized","bbox_height_length_ambiguous","segmentation_wrong","pallet_mixed","sticker_scanned","other","scan_in_trailer","unclear_which_item","different_item_scanned","item_not_fully_visible","box_does_not_fit","several_items_in_box","bad_bounding_box_fit","item_not_measurable","no_scan_visible","bad_measurements","unclear_item","different_item","bbox_misfit","item_occluded","ambiguous","wrong_item_selected","bad_segmentation","mixed_pallet","barcode_not_attached","stacked_items"]},"reasonText":{"type":"string","minLength":1},"correction":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"},"obbCornersPx":{"type":"array","items":{"type":"object","properties":{"u":{"type":"number"},"v":{"type":"number"}},"required":["u","v"]}}},"required":["lengthCm","widthCm","heightCm","obbCornersPx"]},"alternativeRank":{"type":"integer","minimum":2},"alternativeCandidateIndex":{"type":"integer","nullable":true}},"required":["decision"]}]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/review/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stageRunId":{"type":"string","format":"uuid"}},"required":["stageRunId"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/reviews/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reviews":{"type":"array","items":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"stageRunId":{"type":"string","format":"uuid"}},"required":["scanId","stageRunId"]}}},"required":["reviews"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/note":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"starred":{"type":"boolean"},"comment":{"type":"string","nullable":true},"feedback":{"type":"boolean"},"training":{"type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/stats":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/pending":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMinMaeCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxMaeCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxLengthDeviationCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxWidthDeviationCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxHeightDeviationCm","required":false},{"schema":{"type":"boolean"},"in":"query","name":"kochApplyScaleFactor","required":false},{"schema":{"type":"string","enum":["t30_mae","per_dim_5cm_count"],"default":"t30_mae"},"in":"query","name":"kochScaleFactorObjective","required":false},{"schema":{"type":"boolean"},"in":"query","name":"kochMissingGroundTruth","required":false},{"schema":{"type":"boolean"},"in":"query","name":"kochHasReferenceMeasurement","required":false},{"schema":{"type":"string"},"in":"query","name":"cameraViews","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"default":[]},"in":"query","name":"excludedCustomerIds","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedAfter","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedBefore","required":false},{"schema":{"type":"number","default":0},"in":"query","name":"minGap","required":false},{"schema":{"type":"string","enum":["oldest","newest","value","priority","tms_delta"],"default":"oldest"},"in":"query","name":"sortOrder","required":false},{"schema":{"type":"string","enum":["sa","se","unknown"]},"in":"query","name":"eberlDirection","required":false},{"schema":{"type":"string","enum":["eigenkunde","beschaffer","unknown"]},"in":"query","name":"eberlCustomerType","required":false},{"schema":{"type":"boolean"},"in":"query","name":"includeNoScanner","required":false},{"schema":{"type":"string"},"in":"query","name":"scanTypes","required":false},{"schema":{"type":"string"},"in":"query","name":"scannerIds","required":false},{"schema":{"type":"number"},"in":"query","name":"tmsMinDeltaCm","required":false},{"schema":{"type":"number"},"in":"query","name":"tmsMaxDeltaCm","required":false},{"schema":{"type":"boolean"},"in":"query","name":"tmsMissing","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"jobId","required":false},{"schema":{"type":"string","enum":["pending","approval","approval_autorejected","recheck"],"default":"pending"},"in":"query","name":"stage","required":false},{"schema":{"type":"boolean","default":false},"in":"query","name":"claimReset","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"skipHeldBefore","required":false},{"schema":{"type":"boolean","default":false},"in":"query","name":"reviewerUnsure","required":false},{"schema":{"type":"boolean","default":false},"in":"query","name":"reviewerSuggested","required":false},{"schema":{"type":"string","enum":["consensus"]},"in":"query","name":"shadow","required":false},{"schema":{"type":"string","enum":["model","tms","improve","advisory"]},"in":"query","name":"bucket","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/build-from-scratch":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"},"obbCornersPx":{"type":"array","items":{"type":"object","properties":{"u":{"type":"number"},"v":{"type":"number"}},"required":["u","v"]}}},"required":["lengthCm","widthCm","heightCm","obbCornersPx"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/build-from-scratch/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/no-scanner-reject":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/no-scanner-reject/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/use-alternative":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"rank":{"type":"integer","minimum":2},"stage":{"type":"string","enum":["pending","approval"],"default":"pending"},"correction":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"},"obbCornersPx":{"type":"array","items":{"type":"object","properties":{"u":{"type":"number"},"v":{"type":"number"}},"required":["u","v"]}}},"required":["lengthCm","widthCm","heightCm","obbCornersPx"]}},"required":["rank"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/use-alternative/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/frames":{"get":{"parameters":[{"schema":{"type":"boolean","default":false},"in":"query","name":"includeIntermediate","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/local-frame":{"get":{"parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"path","required":true},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/overlay":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"expires","required":true},{"schema":{"type":"string"},"in":"query","name":"sig","required":true},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/{scanId}/views":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/camera-views":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"default":[]},"in":"query","name":"excludedCustomerIds","required":false},{"schema":{"type":"boolean"},"in":"query","name":"includeNoScanner","required":false},{"schema":{"type":"string","enum":["pending","approval","approval_autorejected"],"default":"pending"},"in":"query","name":"stage","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/scanners":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"default":[]},"in":"query","name":"excludedCustomerIds","required":false},{"schema":{"type":"string","enum":["pending","approval","approval_autorejected"],"default":"pending"},"in":"query","name":"stage","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/koch-auto-review-by-filter":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kochMaxMaeCm":{"type":"number"},"kochMaxLengthDeviationCm":{"type":"number"},"kochMaxWidthDeviationCm":{"type":"number"},"kochMaxHeightDeviationCm":{"type":"number"},"kochApplyScaleFactor":{"type":"boolean"},"kochScaleFactorObjective":{"type":"string","enum":["t30_mae","per_dim_5cm_count"],"default":"t30_mae"}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/koch-auto-scale":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kochScaleFactorObjective":{"type":"string","enum":["t30_mae","per_dim_5cm_count"],"default":"t30_mae"}},"default":{"kochScaleFactorObjective":"t30_mae"}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/qa/review/model-accept":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"model":{"type":"string","minLength":1},"score":{"type":"number"},"threshold":{"type":"number"},"expectedDims":{"type":"object","properties":{"lengthCm":{"type":"number"},"widthCm":{"type":"number"},"heightCm":{"type":"number"}},"required":["lengthCm","widthCm","heightCm"]},"details":{"type":"object","additionalProperties":{}}},"required":["scanId","model","score","threshold"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/qa/review/model-accept/undo":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"}},"required":["scanId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/workload":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"tz","required":false},{"schema":{"type":"string"},"in":"query","name":"customers","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/shadow/decide":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"]},"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"measurementResultId":{"type":"string","format":"uuid"}},"required":["customerId","handlingUnitId","measurementResultId"]}},"reason":{"type":"string"},"reasonText":{"type":"string"}},"required":["decision","items"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/shadow/undo":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sampleId":{"type":"string","format":"uuid"}},"required":["sampleId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/measurement-ready-scans":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string"},"in":"query","name":"scanIds","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/measurement-reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"scanIds":{"type":"array","items":{"type":"string","format":"uuid"}},"reason":{"type":"string","default":"manual reset"},"includeFailed":{"type":"boolean","default":false}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/measurement-results":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"handlingUnits":{"type":"array","items":{"type":"object","properties":{"handlingUnitId":{"type":"string","minLength":1},"lengthCm":{"type":"number"},"widthCm":{"type":"number"},"heightCm":{"type":"number"},"artifacts":{"type":"object","additionalProperties":{},"default":{}},"resultPayload":{"type":"object","additionalProperties":{},"default":{}}},"required":["lengthCm","widthCm","heightCm"]}}},"required":["scanId","handlingUnits"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/pending":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMinMaeCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxMaeCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxLengthDeviationCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxWidthDeviationCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxHeightDeviationCm","required":false},{"schema":{"type":"boolean"},"in":"query","name":"kochApplyScaleFactor","required":false},{"schema":{"type":"string","enum":["t30_mae","per_dim_5cm_count"],"default":"t30_mae"},"in":"query","name":"kochScaleFactorObjective","required":false},{"schema":{"type":"boolean"},"in":"query","name":"kochMissingGroundTruth","required":false},{"schema":{"type":"boolean"},"in":"query","name":"kochHasReferenceMeasurement","required":false},{"schema":{"type":"string"},"in":"query","name":"cameraViews","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"default":[]},"in":"query","name":"excludedCustomerIds","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedAfter","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"capturedBefore","required":false},{"schema":{"type":"number","default":0},"in":"query","name":"minGap","required":false},{"schema":{"type":"string","enum":["oldest","newest","value","priority","tms_delta"],"default":"oldest"},"in":"query","name":"sortOrder","required":false},{"schema":{"type":"string","enum":["sa","se","unknown"]},"in":"query","name":"eberlDirection","required":false},{"schema":{"type":"string","enum":["eigenkunde","beschaffer","unknown"]},"in":"query","name":"eberlCustomerType","required":false},{"schema":{"type":"boolean"},"in":"query","name":"includeNoScanner","required":false},{"schema":{"type":"string"},"in":"query","name":"scanTypes","required":false},{"schema":{"type":"string"},"in":"query","name":"scannerIds","required":false},{"schema":{"type":"number"},"in":"query","name":"tmsMinDeltaCm","required":false},{"schema":{"type":"number"},"in":"query","name":"tmsMaxDeltaCm","required":false},{"schema":{"type":"boolean"},"in":"query","name":"tmsMissing","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/summary":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/{scanId}/frames":{"get":{"parameters":[{"schema":{"type":"boolean","default":false},"in":"query","name":"includeIntermediate","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/{scanId}/local-frame":{"get":{"parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"path","required":true},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/{scanId}/review":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"decision":{"enum":["accepted"]}},"required":["decision"]},{"type":"object","properties":{"decision":{"enum":["rejected"]},"reason":{"type":"string","enum":["bad_bounding_box_fit","bad_measurements","bad_classification","other"]}},"required":["decision"]}]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/{scanId}/review/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stageRunId":{"type":"string","format":"uuid"}},"required":["stageRunId"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/reviews/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reviews":{"type":"array","items":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"stageRunId":{"type":"string","format":"uuid"}},"required":["scanId","stageRunId"]}}},"required":["reviews"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/bulk-review":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reviews":{"type":"array","items":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"decision":{"type":"string","enum":["accepted","rejected"]},"reason":{"type":"string","enum":["bad_bounding_box_fit","bad_measurements","bad_classification","other"]}},"required":["scanId","decision"]}}},"required":["reviews"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/stats":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false},{"schema":{"type":"boolean"},"in":"query","name":"includeKochDetails","required":false},{"schema":{"type":"number"},"in":"query","name":"kochDeviationThresholdCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxMaeCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxLengthDeviationCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxWidthDeviationCm","required":false},{"schema":{"type":"number"},"in":"query","name":"kochMaxHeightDeviationCm","required":false},{"schema":{"type":"boolean"},"in":"query","name":"kochApplyScaleFactor","required":false},{"schema":{"type":"string","enum":["t30_mae","per_dim_5cm_count"],"default":"t30_mae"},"in":"query","name":"kochScaleFactorObjective","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa-measurement/{scanId}/overlay":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"expires","required":true},{"schema":{"type":"string"},"in":"query","name":"sig","required":true},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/exports/measurements":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false},{"schema":{"type":"string","enum":["csv"],"default":"csv"},"in":"query","name":"format","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/reviewed-scan-images":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true},{"schema":{"type":"integer","minimum":1,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-privacy-blur":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","default":25},"withinDays":{"type":"integer","default":14},"scanIds":{"type":"array","items":{"type":"string","format":"uuid"}},"scope":{"type":"string","enum":["detected","approved","both"],"default":"both"},"timeBudgetMs":{"type":"integer","default":240000}},"default":{"limit":25,"withinDays":14,"scope":"both","timeBudgetMs":240000}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-koch-measurement-publish":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","default":25}},"default":{"limit":25}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/measurement-inputs":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"enum":[2]},"dispatch_id":{"type":"string","format":"uuid"},"stage_run_id":{"type":"string","format":"uuid"},"scan_id":{"type":"string","format":"uuid"}},"required":["schema_version","dispatch_id","stage_run_id","scan_id"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/measurement-result":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"enum":[1]},"dispatch_id":{"type":"string","format":"uuid"},"stage_run_id":{"type":"string","format":"uuid"},"scan_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["completed","failed"]},"attestation":{"type":"object","properties":{"model_ref":{"type":"string"},"service_name":{"type":"string"},"revision_name":{"type":"string"},"profile_ref":{"type":"string"},"profile_config_sha256":{"type":"string"},"calibration_sha256":{"type":"string"}},"required":["model_ref","service_name","revision_name","profile_ref","profile_config_sha256","calibration_sha256"]},"result":{"type":"object","properties":{"length_cm":{"type":"number"},"width_cm":{"type":"number"},"height_cm":{"type":"number"},"camera":{"type":"string","minLength":1},"best_frame":{"type":"string","enum":["pre_3","pre_2","pre","scan","post","post_2","post_3"]},"model_name":{"enum":["moge_3_vitg"]},"geometry_diagnostics":{"type":"object","additionalProperties":{}},"producer":{"type":"object","properties":{"model_ref":{"type":"string"},"service_name":{"type":"string"},"revision_name":{"type":"string"}},"required":["model_ref"]},"alternatives":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"rank":{"type":"integer","minimum":2},"status":{"enum":["measured"]},"length_cm":{"type":"number"},"width_cm":{"type":"number"},"height_cm":{"type":"number"},"best_frame":{"type":"string","enum":["pre_3","pre_2","pre","scan","post","post_2","post_3"]},"geometry_diagnostics":{"type":"object","additionalProperties":{}}},"required":["rank","status","length_cm","width_cm","height_cm","best_frame"]},{"type":"object","properties":{"rank":{"type":"integer","minimum":2},"status":{"enum":["failed"]},"error":{"type":"string"}},"required":["rank","status","error"]}]}}},"required":["length_cm","width_cm","height_cm","camera","best_frame","model_name"]},"error":{"type":"string"}},"required":["schema_version","dispatch_id","stage_run_id","scan_id","status"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/process-measurement":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/v1/measurement/results":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"run_id":{"type":"string","minLength":1},"status":{"type":"string","enum":["success","error"]},"measurements":{"type":"array","items":{"type":"object","properties":{"image_name":{"type":"string"},"camera":{"type":"string"},"length_cm":{"type":"number"},"width_cm":{"type":"number"},"height_cm":{"type":"number"}},"required":["image_name","camera","length_cm","width_cm","height_cm"]},"default":[]},"expected_scans":{"type":"integer","nullable":true,"default":0},"output_uris":{"type":"object","properties":{"measurements_csv":{"type":"string","nullable":true},"obb_projection_json_files":{"type":"array","items":{"type":"string"}}}},"error":{"type":"string","nullable":true},"error_type":{"type":"string","enum":["inference_oom","inference_failed","mask_missing","image_download_failed","config_invalid","upload_failed"],"nullable":true}},"required":["run_id","status"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/request-link":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/verify":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":10},"otp":{"type":"string"}},"required":["token"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/password-login":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string","minLength":1}},"required":["username","password"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/change-password":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"currentPassword":{"type":"string","minLength":1},"newPassword":{"type":"string","minLength":1}},"required":["currentPassword","newPassword"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/select-customer":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"}},"required":["customerId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/logout":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/session":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/auth/name":{"put":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","nullable":true}},"required":["name"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auth/request-link":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auth/verify":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":10}},"required":["token"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auth/google":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"credential":{"type":"string","minLength":10}},"required":["credential"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auth/logout":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auth/session":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"assigneeEmail":{"type":"string"},"maxScans":{"type":"integer","minimum":1,"default":200},"capturedAfter":{"type":"string","format":"date-time"},"capturedBefore":{"type":"string","format":"date-time"},"tmsMeasuredOverMinCm":{"type":"number"},"tmsMissing":{"type":"boolean","default":false},"notes":{"type":"string"},"scanIds":{"type":"array","items":{"type":"string","format":"uuid"}},"reopenDecided":{"type":"boolean","default":false},"dryRun":{"type":"boolean","default":false}},"required":["customerId"]}}}},"responses":{"200":{"description":"Default Response"}}},"get":{"parameters":[{"schema":{"type":"string","enum":["open","completed","cancelled"]},"in":"query","name":"status","required":false},{"schema":{"type":"string"},"in":"query","name":"assigneeEmail","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/assignees":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/backlog":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/distribute":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"assigneeEmails":{"type":"array","items":{"type":"string"}},"maxScansEach":{"type":"integer","minimum":1,"default":200},"capturedAfter":{"type":"string","format":"date-time"},"capturedBefore":{"type":"string","format":"date-time"},"tmsMeasuredOverMinCm":{"type":"number"},"tmsMissing":{"type":"boolean","default":false},"namePrefix":{"type":"string","minLength":1},"dryRun":{"type":"boolean","default":false}},"required":["customerId","assigneeEmails"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/mine":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"assigneeEmail","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/pull":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"hus":{"type":"integer","minimum":50,"default":200}},"required":["customerId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/pull/status":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/pull-assignments":{"get":{"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"customerId":{"type":"string","format":"uuid"},"enabled":{"type":"boolean"}},"required":["email","customerId","enabled"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/approval-access":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"enabled":{"type":"boolean"}},"required":["email","enabled"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/annotate-access":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"enabled":{"type":"boolean"}},"required":["email","enabled"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/review-access":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"enabled":{"type":"boolean"}},"required":["email","enabled"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/advisory-access":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"enabled":{"type":"boolean"}},"required":["email","enabled"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/reviewer-stats":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":7},"in":"query","name":"days","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/{jobId}/progress":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/{jobId}/cancel":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/jobs/{jobId}/reassign":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"assigneeEmail":{"type":"string"}},"required":["assigneeEmail"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/samples":{"get":{"parameters":[{"schema":{"type":"string","enum":["tutorial","test","consensus","coaching","final_approval"],"default":"tutorial"},"in":"query","name":"set","required":false}],"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"set":{"type":"string","enum":["consensus","coaching","final_approval"]},"scanIds":{"type":"array","items":{"type":"string","format":"uuid"}},"tag":{"type":"string","minLength":1}},"required":["set","scanIds"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/progress":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/feedback":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/candidates":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/media":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/results":{"get":{"parameters":[{"schema":{"type":"string","enum":["tutorial","test","consensus","coaching","final_approval"],"default":"tutorial"},"in":"query","name":"set","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/samples/{sampleId}/reference":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","enum":["accepted","rejected"]},"reason":{"type":"string","enum":["hu_occluded","hu_occluded_window_too_short","scan_ambiguous","scan_occluded","classifier_wrong","bbox_tilted","bbox_oversized","bbox_undersized","bbox_height_length_ambiguous","segmentation_wrong","pallet_mixed","sticker_scanned","other","scan_in_trailer","unclear_which_item","different_item_scanned","item_not_fully_visible","box_does_not_fit","several_items_in_box","bad_bounding_box_fit","item_not_measurable","no_scan_visible","bad_measurements","unclear_item","different_item","bbox_misfit","item_occluded","ambiguous","wrong_item_selected","bad_segmentation","mixed_pallet","barcode_not_attached","stacked_items"]},"reasonText":{"type":"string"},"callouts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"anchor":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"]},"label":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"]},"text":{"type":"string"}},"required":["id","anchor","label","text"]},"default":[]},"approval":{"type":"object","properties":{"action":{"type":"string","enum":["as_is","runner_up","corrected","runner_up_corrected"]},"lengthCm":{"type":"integer","nullable":true},"widthCm":{"type":"integer","nullable":true},"heightCm":{"type":"integer","nullable":true},"alternativeRank":{"type":"integer","minimum":2,"nullable":true}},"required":["action"]}},"required":["decision"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/samples/{sampleId}/reference/clear":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/samples/{sampleId}/attempts":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","enum":["accepted","rejected"]},"reason":{"type":"string","enum":["hu_occluded","hu_occluded_window_too_short","scan_ambiguous","scan_occluded","classifier_wrong","bbox_tilted","bbox_oversized","bbox_undersized","bbox_height_length_ambiguous","segmentation_wrong","pallet_mixed","sticker_scanned","other","scan_in_trailer","unclear_which_item","different_item_scanned","item_not_fully_visible","box_does_not_fit","several_items_in_box","bad_bounding_box_fit","item_not_measurable","no_scan_visible","bad_measurements","unclear_item","different_item","bbox_misfit","item_occluded","ambiguous","wrong_item_selected","bad_segmentation","mixed_pallet","barcode_not_attached","stacked_items"]},"reasonText":{"type":"string"},"approval":{"type":"object","properties":{"action":{"type":"string","enum":["as_is","runner_up","corrected","runner_up_corrected"]}},"required":["action"]},"viewScanId":{"type":"string","format":"uuid"}},"required":["decision"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/samples/{sampleId}/flag":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"comment":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/samples/{sampleId}/flag/clear":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/consensus":{"get":{"parameters":[{"schema":{"type":"string","enum":["tutorial","test","consensus","coaching","final_approval"],"default":"consensus"},"in":"query","name":"set","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/training/seed":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targetPerCamera":{"type":"integer","minimum":1,"default":25}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/statistics":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string"},"in":"query","name":"from","required":true},{"schema":{"type":"string"},"in":"query","name":"to","required":true},{"schema":{"type":"string","enum":["site","day","camera","scanner","scan_type"],"default":"site"},"in":"query","name":"groupBy","required":false},{"schema":{"type":"string","enum":["scan","nve"],"default":"nve"},"in":"query","name":"unit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/maps":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true},{"schema":{"type":"string"},"in":"query","name":"from","required":true},{"schema":{"type":"string"},"in":"query","name":"to","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auto-rejected":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","enum":["all","open","done","flag"],"default":"open"},"in":"query","name":"disposition","required":false},{"schema":{"type":"integer","minimum":1,"default":30},"in":"query","name":"limit","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"beforeCapturedAt","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"beforeScanId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auto-rejected/{scanId}/artifacts":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/auto-rejected/{scanId}/disposition":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"disposition":{"type":"string","enum":["open","done","flag"]},"sourceStageRunId":{"type":"string","format":"uuid"}},"required":["disposition","sourceStageRunId"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","enum":["pending","approved","rejected"],"default":"pending"},"in":"query","name":"status","required":false},{"schema":{"type":"string","enum":["oldest","newest"],"default":"oldest"},"in":"query","name":"sortOrder","required":false},{"schema":{"type":"string"},"in":"query","name":"capturedAfter","required":false},{"schema":{"type":"string"},"in":"query","name":"capturedBefore","required":false},{"schema":{"type":"integer","minimum":1,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"offset","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/decide":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"]},"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"measurementResultId":{"type":"string","format":"uuid","nullable":true}},"required":["customerId","handlingUnitId"]}},"reason":{"type":"string","enum":["hu_occluded","hu_occluded_window_too_short","scan_ambiguous","scan_occluded","classifier_wrong","bbox_tilted","bbox_oversized","bbox_undersized","bbox_height_length_ambiguous","segmentation_wrong","pallet_mixed","sticker_scanned","other","scan_in_trailer","unclear_which_item","different_item_scanned","item_not_fully_visible","box_does_not_fit","several_items_in_box","bad_bounding_box_fit","item_not_measurable","no_scan_visible","bad_measurements","unclear_item","different_item","bbox_misfit","item_occluded","ambiguous","wrong_item_selected","bad_segmentation","mixed_pallet","barcode_not_attached","stacked_items"]},"reasonText":{"type":"string","minLength":1},"alternativeRank":{"type":"integer","minimum":2},"alternativeCandidateIndex":{"type":"integer","nullable":true},"correction":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"},"obbCornersPx":{"type":"array","items":{"type":"object","properties":{"u":{"type":"number"},"v":{"type":"number"}},"required":["u","v"]}}},"required":["lengthCm","widthCm","heightCm","obbCornersPx"]}},"required":["decision","items"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/unsure":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"measurementResultId":{"type":"string","format":"uuid","nullable":true}},"required":["customerId","handlingUnitId"]}},"reasonText":{"type":"string","minLength":1}},"required":["items"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/unsure/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"measurementResultId":{"type":"string","format":"uuid","nullable":true}},"required":["customerId","handlingUnitId"]}}},"required":["items"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/feedback":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/feedback/seen":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1}},"required":["customerId","handlingUnitId"]}}},"required":["items"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/messages":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"body":{"type":"string","minLength":1}},"required":["customerId","handlingUnitId","body"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/claims/touch":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"measurementResultId":{"type":"string","format":"uuid","nullable":true}},"required":["customerId","handlingUnitId"]},"default":[]},"reset":{"type":"boolean","default":false},"stage":{"type":"string","enum":["approval","pending","approval_autorejected"],"default":"approval"}},"default":{"items":[],"reset":false,"stage":"approval"}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/claims/release":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claimedBy":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"measurementResultId":{"type":"string","format":"uuid","nullable":true}},"required":["customerId","handlingUnitId"]}},"stage":{"type":"string","enum":["approval","pending","approval_autorejected"]},"onlyIfSettled":{"type":"boolean"}},"default":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/auto-approve":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"toleranceCm":{"type":"object","properties":{"length":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}},"default":{}},"maxDeltaCm":{"type":"number"},"edges":{"type":"array","items":{"type":"string","enum":["length","width","height"]},"default":["length","width","height"]},"capturedAfter":{"type":"string"},"capturedBefore":{"type":"string"},"dryRun":{"type":"boolean","default":false},"limit":{"type":"integer","minimum":1,"default":1000}},"required":["customerId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"handlingUnitId":{"type":"string","minLength":1},"measurementResultId":{"type":"string","format":"uuid","nullable":true}},"required":["customerId","handlingUnitId"]}}},"required":["items"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/qa/review/model-accept/autorejected":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"sourceStageRunId":{"type":"string","format":"uuid"},"model":{"type":"string","minLength":1},"score":{"type":"number","nullable":true},"threshold":{"type":"number","nullable":true},"details":{"type":"object","additionalProperties":{}},"anyStop":{"type":"boolean"}},"required":["scanId","sourceStageRunId","model"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/autorejected/decide":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"sourceStageRunId":{"type":"string","format":"uuid"},"decision":{"type":"string","enum":["approved","rejected"]},"reason":{"type":"string","enum":["hu_occluded","hu_occluded_window_too_short","scan_ambiguous","scan_occluded","classifier_wrong","bbox_tilted","bbox_oversized","bbox_undersized","bbox_height_length_ambiguous","segmentation_wrong","pallet_mixed","sticker_scanned","other","scan_in_trailer","unclear_which_item","different_item_scanned","item_not_fully_visible","box_does_not_fit","several_items_in_box","bad_bounding_box_fit","item_not_measurable","no_scan_visible","bad_measurements","unclear_item","different_item","bbox_misfit","item_occluded","ambiguous","wrong_item_selected","bad_segmentation","mixed_pallet","barcode_not_attached","stacked_items"]},"reasonText":{"type":"string","minLength":1},"alternativeRank":{"type":"integer","minimum":2},"alternativeCandidateIndex":{"type":"integer","nullable":true},"correction":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"},"obbCornersPx":{"type":"array","items":{"type":"object","properties":{"u":{"type":"number"},"v":{"type":"number"}},"required":["u","v"]}}},"required":["lengthCm","widthCm","heightCm","obbCornersPx"]}},"required":["scanId","sourceStageRunId","decision"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/autorejected/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"sourceStageRunId":{"type":"string","format":"uuid"}},"required":["scanId","sourceStageRunId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/autorejected/auto-approve":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"edges":{"type":"array","items":{"type":"string","enum":["length","width","height"]},"default":["length","width","height"]},"toleranceCm":{"type":"object","properties":{"length":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}},"default":{}},"sumCm":{"type":"number","nullable":true},"capturedAfter":{"type":"string"},"capturedBefore":{"type":"string"},"dryRun":{"type":"boolean","default":false},"stopIds":{"type":"array","items":{"type":"string","format":"uuid"}},"limit":{"type":"integer","minimum":1,"default":50}},"required":["customerId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/view/decide":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"measurementResultId":{"type":"string","format":"uuid","nullable":true},"fromStopStageRunId":{"type":"string","format":"uuid"},"viewScanId":{"type":"string","format":"uuid"},"viewMeasurementResultId":{"type":"string","format":"uuid"},"viewMeasurementStageRunId":{"type":"string","format":"uuid"},"viewDimensions":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"}},"required":["lengthCm","widthCm","heightCm"]},"correction":{"type":"object","properties":{"lengthCm":{"type":"integer"},"widthCm":{"type":"integer"},"heightCm":{"type":"integer"},"obbCornersPx":{"type":"array","items":{"type":"object","properties":{"u":{"type":"number"},"v":{"type":"number"}},"required":["u","v"]}}},"required":["lengthCm","widthCm","heightCm","obbCornersPx"]},"shadowSampleId":{"type":"string","format":"uuid"}},"required":["scanId","viewScanId","viewMeasurementResultId","viewMeasurementStageRunId","viewDimensions"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/approvals/view/reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"viewScanId":{"type":"string","format":"uuid"},"qaStageRunId":{"type":"string","format":"uuid"}},"required":["scanId","viewScanId","qaStageRunId"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/sets":{"get":{"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string","minLength":1},"description":{"type":"string","default":""},"source":{"type":"object","additionalProperties":{},"default":{}},"ownerEmail":{"type":"string","nullable":true,"default":null},"items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"position":{"type":"integer"},"imageId":{"type":"integer"},"sourceId":{"type":"string"},"fileName":{"type":"string"},"customer":{"type":"string"},"origin":{"type":"string"},"mark":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"},"cropXyxy":{},"contextXyxy":{"nullable":true,"default":null},"cropPath":{"type":"string","minLength":1},"contextPath":{"type":"string","nullable":true,"default":null},"original":{"type":"object","properties":{"segmentation":{"type":"object","properties":{"size":{},"counts":{"type":"string","minLength":1}},"required":["size","counts"]}},"required":["segmentation"]},"decision":{"type":"object","properties":{"email":{"type":"string"},"status":{"type":"string","enum":["reviewed","edited","flagged"]},"note":{"type":"string","default":""},"changedPixels":{"type":"integer","default":0},"annotation":{"type":"object","properties":{"segmentation":{"type":"object","properties":{"size":{},"counts":{"type":"string","minLength":1}},"required":["size","counts"]}},"required":["segmentation"]},"savedAt":{"type":"string","format":"date-time"}},"required":["email","status","annotation","savedAt"],"nullable":true,"default":null}},"required":["key","position","imageId","sourceId","fileName","customer","origin","mark","width","height","cropXyxy","cropPath","original"]}}},"required":["slug","title","items"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/sets/{setId}/items":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"setId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/items/{itemId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/items/{itemId}/decision":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer"},"status":{"type":"string","enum":["reviewed","flagged"]},"note":{"type":"string","default":""},"mask":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"},"bits":{"type":"string","minLength":1}},"required":["width","height","bits"]}},"required":["revision","status","mask"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/items/{itemId}/prompt":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"points":{"type":"array","items":{},"default":[]},"labels":{"type":"array","items":{"oneOf":[{"enum":[0]},{"enum":[1]}]},"default":[]},"box":{"nullable":true,"default":null}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/review":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/review/items/{itemId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/review/items/{itemId}/decision":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer"},"status":{"type":"string","enum":["reviewed","flagged"]},"note":{"type":"string","default":""},"mask":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"},"bits":{"type":"string","minLength":1}},"required":["width","height","bits"]}},"required":["revision","status","mask"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/sets/{setId}/lock":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","nullable":true}},"required":["email"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"setId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/sets/{setId}/delete":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"setId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/qa/mask-corrections/sets/{setId}/export":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"setId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/scan-intake":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"events":{"type":"array","items":{"type":"object","properties":{"customerScanId":{"type":"string","minLength":1},"scannedAt":{"type":"string"},"handlingUnitId":{"type":"string","minLength":1,"nullable":true},"scannerId":{"type":"string","minLength":1,"nullable":true},"scanType":{"type":"string","minLength":1,"nullable":true},"locXCm":{"type":"number","nullable":true},"locYCm":{"type":"number","nullable":true},"outcome":{"type":"string","enum":["captured","outside_coverage","missing_position","outside_buffer_window","other"]},"cameraIds":{"type":"array","items":{"type":"string","format":"uuid"},"default":[]}},"required":["customerScanId","scannedAt","outcome"]}}},"required":["siteId","events"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/ingestor/shipment-positions":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"positions":{"type":"array","items":{"type":"object","properties":{"customerScanId":{"type":"string","minLength":1},"shipmentId":{"type":"string","minLength":1},"handlingUnitId":{"type":"string","minLength":1},"scannedAt":{"type":"string"},"scanType":{"type":"string","minLength":1,"nullable":true},"scannerId":{"type":"string","minLength":1,"nullable":true},"positioned":{"type":"boolean","default":false}},"required":["customerScanId","shipmentId","handlingUnitId","scannedAt"]}}},"required":["siteId","positions"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/handling-units":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/zobel-tariff-flags":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/koch-tms-comparison":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/handling-units/export":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/shipments/{shipmentId}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"shipmentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/handling-units/{handlingUnitId}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"handlingUnitId","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"handlingUnitId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/finder/access":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/finder/shipments":{"get":{"parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"q","required":false},{"schema":{"type":"string"},"in":"query","name":"from","required":false},{"schema":{"type":"string"},"in":"query","name":"to","required":false},{"schema":{"type":"integer","minimum":1},"in":"query","name":"limit","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/finder/lookup":{"get":{"parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"q","required":true},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/finder/shipments/{shipmentKey}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"path","name":"shipmentKey","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/finder/handling-units/{handlingUnitId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"path","name":"handlingUnitId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/finder/scans/{scanId}":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"scanId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/team/members":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/team/emails":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"role":{"type":"string","enum":["admin","member","finder"]},"name":{"type":"string","nullable":true}},"required":["email","role"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/team/emails/{id}":{"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["admin","member","finder"]}},"required":["role"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/team/emails/{id}/name":{"put":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","nullable":true}},"required":["name"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/team/usernames":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string","minLength":1},"role":{"type":"string","enum":["member","finder"],"default":"member"}},"required":["username","password"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/team/usernames/{id}":{"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["member","finder"]}},"required":["role"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/team/usernames/{id}/password":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","minLength":1}},"required":["password"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/handling-units/{handlingUnitId}/feedback":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"revision","required":true},{"schema":{"type":"string","minLength":1},"in":"path","name":"handlingUnitId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/handling-units/{handlingUnitId}/feedback/comments":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"string","minLength":1},"body":{"type":"string"},"mentions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["email","username","staff"]},"name":{"type":"string","minLength":1}},"required":["kind","name"]}}},"required":["revision","body"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"path","name":"handlingUnitId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/handling-units/{handlingUnitId}/feedback/comments/{commentId}":{"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"string","minLength":1},"body":{"type":"string"},"mentions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["email","username","staff"]},"name":{"type":"string","minLength":1}},"required":["kind","name"]}}},"required":["revision","body"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"path","name":"handlingUnitId","required":true},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"commentId","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"revision","required":true},{"schema":{"type":"string","minLength":1},"in":"path","name":"handlingUnitId","required":true},{"schema":{"type":"string","format":"uuid"},"in":"path","name":"commentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/customer/data/finder/feedback":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string"},"context":{"oneOf":[{"type":"object","properties":{"screen":{"enum":["home"]}},"required":["screen"]},{"type":"object","properties":{"screen":{"enum":["search"]},"query":{"type":"string","minLength":1}},"required":["screen","query"]},{"type":"object","properties":{"screen":{"enum":["shipment"]},"shipmentKey":{"type":"string","minLength":1}},"required":["screen","shipmentKey"]},{"type":"object","properties":{"screen":{"enum":["handlingUnit"]},"handlingUnitId":{"type":"string","minLength":1},"scanId":{"type":"string","format":"uuid","nullable":true}},"required":["screen","handlingUnitId","scanId"]}]}},"required":["body","context"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/worker-activity":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stage":{"type":"string","enum":["classification","measurement"]},"scan_id":{"type":"string","format":"uuid"},"stage_run_id":{"type":"string","format":"uuid"},"dispatch_id":{"type":"string","format":"uuid"},"execution_id":{"type":"string","format":"uuid"},"event":{"type":"string","enum":["start","heartbeat","stop"]}},"required":["stage","scan_id","stage_run_id","dispatch_id","execution_id","event"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/monitoring/qa-review-retirements":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/monitoring/queue-snapshot":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/scanner-alerts/weekly-report":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"siteSlug":{"type":"string","minLength":1},"force":{"type":"boolean"}},"default":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/scanner-alerts/sweep":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/scanner-alerts/incidents":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"siteId","required":false},{"schema":{"type":"integer","minimum":1,"default":100},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/scanner-alerts/test-mail":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"scannerId":{"type":"string","minLength":1},"to":{"type":"array","items":{"type":"string"}}},"required":["siteId","to"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/auto-reject-rules":{"get":{"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ruleId":{"type":"string","enum":["item_mask_too_small","scan_occluded_lgbm","hall_boundary","mask_outside_box","height_ratio_low","height_ratio_high","volume_high","min_edge_high","box_bottom_high","mask_hull_ratio_low","mask_holes_high","alternative_disagreement_high","mask_width_ratio_high","floor_in_bbox_low","elevated_box_low_floor","box_empty_bottom_high","bottom_contact_low","box_corner_support_low","occlusion_ring_contact","occlusion_ring_edge_contact","occlusion_floating_bottom","occlusion_ring_no_floor_contact","occlusion_edge_contact","occlusion_contact_run_elevated","occlusion_box_foreground","low_iou_mask_overhang","zero_contact_elevated","empty_bottom_no_contact_edge_contact","empty_bottom_few_visible_corners","mask_outside_box_empty_bottom","mask_outside_box_low_iou","corner_support_low_empty_bottom","corner_support_low_contact","corner_support_low_edge_contact","bottom_contact_low_edge_contact","ctx_many_neighbours","ctx_other_scanner_nearby","camera_duplicate_box","hu_occluded_lgbm","release_stop_lgbm","customer_dimension_deviation","control_sample_nve"]},"customerId":{"type":"string","format":"uuid"},"cameraId":{"type":"string","format":"uuid"},"mode":{"type":"string","enum":["off","shadow","enforced"],"default":"off"},"params":{"type":"object","additionalProperties":{}},"controlSampleRate":{"type":"number","default":0},"note":{"type":"string"}},"required":["ruleId","customerId","params"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/auto-reject-rules/{id}":{"patch":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","enum":["off","shadow","enforced"]},"params":{"type":"object","additionalProperties":{}},"controlSampleRate":{"type":"number"},"version":{"type":"integer","minimum":1},"note":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/auto-reject-overview":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":168},"in":"query","name":"windowHours","required":false},{"schema":{"type":"string","enum":["item_mask_too_small","scan_occluded_lgbm","hall_boundary","mask_outside_box","height_ratio_low","height_ratio_high","volume_high","min_edge_high","box_bottom_high","mask_hull_ratio_low","mask_holes_high","alternative_disagreement_high","mask_width_ratio_high","floor_in_bbox_low","elevated_box_low_floor","box_empty_bottom_high","bottom_contact_low","box_corner_support_low","occlusion_ring_contact","occlusion_ring_edge_contact","occlusion_floating_bottom","occlusion_ring_no_floor_contact","occlusion_edge_contact","occlusion_contact_run_elevated","occlusion_box_foreground","low_iou_mask_overhang","zero_contact_elevated","empty_bottom_no_contact_edge_contact","empty_bottom_few_visible_corners","mask_outside_box_empty_bottom","mask_outside_box_low_iou","corner_support_low_empty_bottom","corner_support_low_contact","corner_support_low_edge_contact","bottom_contact_low_edge_contact","ctx_many_neighbours","ctx_other_scanner_nearby","camera_duplicate_box","hu_occluded_lgbm","release_stop_lgbm","customer_dimension_deviation","control_sample_nve"]},"in":"query","name":"ruleId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","enum":["true","false"],"default":"true"},"in":"query","name":"includeComparison","required":false},{"schema":{"type":"string"},"in":"query","name":"thresholds","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/auto-reject-histograms":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":168},"in":"query","name":"windowHours","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"integer","minimum":1,"default":40},"in":"query","name":"bins","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/auto-reject-decisions":{"get":{"parameters":[{"schema":{"type":"integer","minimum":1,"default":168},"in":"query","name":"windowHours","required":false},{"schema":{"type":"string","enum":["item_mask_too_small","scan_occluded_lgbm","hall_boundary","mask_outside_box","height_ratio_low","height_ratio_high","volume_high","min_edge_high","box_bottom_high","mask_hull_ratio_low","mask_holes_high","alternative_disagreement_high","mask_width_ratio_high","floor_in_bbox_low","elevated_box_low_floor","box_empty_bottom_high","bottom_contact_low","box_corner_support_low","occlusion_ring_contact","occlusion_ring_edge_contact","occlusion_floating_bottom","occlusion_ring_no_floor_contact","occlusion_edge_contact","occlusion_contact_run_elevated","occlusion_box_foreground","low_iou_mask_overhang","zero_contact_elevated","empty_bottom_no_contact_edge_contact","empty_bottom_few_visible_corners","mask_outside_box_empty_bottom","mask_outside_box_low_iou","corner_support_low_empty_bottom","corner_support_low_contact","corner_support_low_edge_contact","bottom_contact_low_edge_contact","ctx_many_neighbours","ctx_other_scanner_nearby","camera_duplicate_box","hu_occluded_lgbm","release_stop_lgbm","customer_dimension_deviation","control_sample_nve"]},"in":"query","name":"ruleId","required":false},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":false},{"schema":{"type":"string","enum":["passed","hit","empty_mask","unknown","accept"]},"in":"query","name":"outcome","required":false},{"schema":{"type":"string","enum":["none","rejected","control_sample","accepted"]},"in":"query","name":"action","required":false},{"schema":{"type":"string","enum":["true","false"]},"in":"query","name":"overridden","required":false},{"schema":{"type":"integer","minimum":1,"default":100},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","default":0},"in":"query","name":"offset","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/internal/auto-reject-decisions/{id}/override":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","minLength":3}},"required":["reason"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/queues":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/session":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/overview":{"get":{"parameters":[{"schema":{"type":"string","format":"date-time"},"in":"query","name":"since","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/gates":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/pause":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stage":{"type":"string","enum":["dewarping","classification","measurement"]},"reason":{"type":"string"}},"required":["stage"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/resume":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stage":{"type":"string","enum":["dewarping","classification","measurement"]}},"required":["stage"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/customer-gates":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/effective-gates":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"customerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/customer-pause":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"stage":{"type":"string","enum":["dewarping","classification","measurement"]},"reason":{"type":"string"}},"required":["customerId","stage"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/customer-resume":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"stage":{"type":"string","enum":["dewarping","classification","measurement"]}},"required":["customerId","stage"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/admin/pipeline/customer-reset":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"stage":{"type":"string","enum":["dewarping","classification","measurement"]},"reason":{"type":"string","default":"manual customer stage reset"}},"required":["customerId","stage"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/admin":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/resources/{resourceId}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/resources/{resourceId}/search/{query}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"query","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/resources/{resourceId}/actions/{action}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/resources/{resourceId}/actions/{action}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}},"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/resources/{resourceId}/actions/{action}/{query}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true},{"schema":{"type":"string"},"in":"path","name":"query","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/resources/{resourceId}/records/{recordId}/{action}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"recordId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/resources/{resourceId}/records/{recordId}/{action}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"recordId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}},"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"recordId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/resources/{resourceId}/bulk/{action}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/resources/{resourceId}/bulk/{action}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}},"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/resources/{resourceId}/search":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"resourceId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/dashboard":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/pages/{pageName}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"pageName","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/api/pages/{pageName}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"pageName","required":true}],"responses":{"200":{"description":"Default Response"}}},"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"pageName","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/icomoon.css":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/icomoon.eot":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/icomoon.svg":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/icomoon.ttf":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/icomoon.woff":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/app.bundle.js":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/global.bundle.js":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/design-system.bundle.js":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/logo.svg":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/logo-mini.svg":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/frontend/assets/components.bundle.js":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/login":{"get":{"responses":{"200":{"description":"Default Response"}}},"post":{"responses":{"200":{"description":"Default Response"}}}},"/admin/logout":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/refresh-token":{"post":{"responses":{"200":{"description":"Default Response"}}}}},"security":[{"bearerAuth":[]}]}