openapi: 3.1.0 info: title: Thermo Fisher NanoDrop Ultra Web Authentication Samples API description: The Thermo Scientific NanoDrop Ultra Web API provides RESTful access to instrument control and data retrieval for the NanoDrop Ultra microvolume UV-Vis spectrophotometer and fluorometer. Enables laboratory informatics integration, automated measurement workflows, sample data export, and instrument status monitoring. version: 1.0.0 contact: name: Thermo Fisher Scientific url: https://www.thermofisher.com/us/en/home/industrial/spectroscopy-elemental-isotope-analysis/molecular-spectroscopy/uv-vis-spectrophotometry/instruments/nanodrop.html license: name: Proprietary url: https://www.thermofisher.com servers: - url: http://{instrument-ip}:{port} description: NanoDrop Ultra instrument local network API variables: instrument-ip: description: IP address of the NanoDrop Ultra instrument on the local network. default: 192.168.1.100 port: description: API port. default: '8080' tags: - name: Samples description: Access and manage laboratory samples. paths: /mobile/samples: get: operationId: getSamples summary: Get Samples description: Returns a list of laboratory samples accessible to the authenticated user. Supports filtering by status, date range, and other criteria. tags: - Samples parameters: - name: status in: query required: false schema: type: string enum: - A - C - X - L description: Sample status filter (A=Authorized, C=Completed, X=Cancelled, L=Login pending). - name: from_date in: query required: false schema: type: string format: date description: Filter samples from this date (YYYY-MM-DD). - name: to_date in: query required: false schema: type: string format: date description: Filter samples to this date (YYYY-MM-DD). - name: pagesize in: query required: false schema: type: integer default: 50 description: Number of records per page. - name: page in: query required: false schema: type: integer default: 1 description: Page number. responses: '200': description: Sample list returned successfully. content: application/json: schema: $ref: '#/components/schemas/SampleListResponse' '401': description: Unauthorized. /mobile/samples/{sampleId}: get: operationId: getSampleById summary: Get Sample By ID description: Returns details for a specific laboratory sample. tags: - Samples parameters: - name: sampleId in: path required: true schema: type: string description: The sample identity/barcode. responses: '200': description: Sample details returned successfully. content: application/json: schema: $ref: '#/components/schemas/Sample' '401': description: Unauthorized. '404': description: Sample not found. components: schemas: Sample: type: object properties: identity: type: string description: Sample identity/barcode. description: type: string description: Sample description. status: type: string description: Sample status code. sampled_date: type: string format: date description: Date the sample was collected. customer: type: string description: Customer identity associated with the sample. product: type: string description: Product identity associated with the sample. analysis: type: string description: Analysis assigned to the sample. due_date: type: string format: date description: Due date for sample results. SampleListResponse: type: object properties: total: type: integer page: type: integer pagesize: type: integer samples: type: array items: $ref: '#/components/schemas/Sample'