Skip to main content

LabTestUploadRequestBody

Upload/Update Pre-Created Lab Test request body.

Product list (items / styles / materials) is optional and type-specific: only the Product list matching the Lab Test Form's Product Type may be provided (items for Item, styles for Style, materials for Material). Omit the Product list entirely if no Product needs to be updated; if provided, send ALL Products for the test because the whole list is REPLACED.

oneOf
reportNumberstringrequired
originalReportNumberstringrequired
revisionNumberintegernullable
reportIssueDatestring<date>required
Example: 2024-04-24
items object[]nullable

Optional Item list. Only applicable when the Lab Test Form's Product Type is Item. Omit this field entirely if no Product needs to be updated. If provided, send ALL Items for the test because the whole Item list is REPLACED.

  • Array [
  • itemIdstringrequired

    Possible values: <= 255 characters

    itemNamestringnullable

    Possible values: <= 255 characters

    itemDescriptionstringnullable

    Possible values: <= 255 characters

    styleIdstringrequired

    Possible values: <= 255 characters

    styleNamestringnullable

    Possible values: <= 255 characters

    colorstringnullable

    Possible values: <= 255 characters

    Default value:
    sizestringnullable

    Possible values: <= 255 characters

    originCountrystring[]nullable

    Possible values: Value must match regular expression ^[A-Z]{2}$

    sampleSizeintegernullable

    Sample size. Used only when samples is omitted and the Product has no stored samples; otherwise it is derived from the sample count.

    unitstringnullable

    Possible values: <= 255 characters

    samples object[]

    Samples of this Product, each with its own details. Required when the Lab Test Form includes the Sample Information component.

    Send the complete list, not a patch. Samples are matched by sampleName, and any stored sample missing from the list is deleted. sampleSize then becomes the sample count and unit the samples' shared unit, overriding both sent on the Product.

    sampleName must be unique within the Product, and all samples must share one unit.

  • Array [
  • sampleNamestringrequired

    Sample name. Must not be blank (surrounding whitespace is trimmed) and must be unique within the Product.

    Possible values: <= 255 characters

    Example: Lot A
    lotBatchNumberstring

    Lot / batch number

    Possible values: <= 255 characters

    Example: LB-2026-001
    colorstring

    Color

    Possible values: <= 255 characters

    Example: Navy
    sampleAmountnumbernullable

    Sample amount

    Possible values: >= 0

    Example: 2
    unitstring

    Unit of the sample amount. All samples of a Product must share the same unit.

    Possible values: <= 255 characters

    Example: pcs
    sampleDescriptionstring

    Sample description

    Example: Front panel swatch
  • ]
  • ]
  • testResultAttachments object[]required
  • Array [
  • fileIdstring<uuid>required
    Example: f85774e7-cb3a-4bf3-ab8a-92e22bed41ac
    labelstringnullable
  • ]
  • testPackages object[]nullable
  • Array [
  • idstringrequired
    namestringrequired
    typestringnullable
  • ]
  • testProperties object[]required
  • Array [
  • idstringrequired
    namestringrequired
    testPackageIdstringnullable
    testCategoryIdstringnullable
    testSubcategoryIdstringnullable
    testMethodstringnullable
    resultstringnullable

    Possible values: [pass, fail, data, na]

    reviewResultstringnullable

    Possible values: <= 255 characters

    items object[]nullable
  • Array [
  • itemIdstringnullable
    testConditions object[]nullable
  • Array [
  • idstringnullable
    namestringnullable
    resultResultEnumnullable

    Possible values: [pass, fail, data, na]

    samples object[]nullable

    Test condition readings and the samples each one applies to.

    Send only one of these two fields, never both:

    • sampleNames when the Lab Test Form includes the Sample Information component.
    • sampleNumbers when it does not.
  • Array [
  • datastringnullable

    The reading recorded for these samples.

    Example: Grade 4-5
    resultstringrequired

    The outcome recorded for these samples.

    Possible values: [pass, fail, data]

    Example: pass
    sampleNumbersinteger[]

    Samples identified by position in the Product's sample list, counting from 1. A number greater than the Product's sample size is rejected.

    Example: [1,2]
    sampleNamesstring[]

    Samples identified by their sampleName on the Product. Each name must match one of the Product's samples: names are checked against the samples sent in the same request when the request carries the Product, and against the Product's stored samples otherwise.

    Example: ["Lot A","Lot B"]
  • ]
  • followUpAction objectnullable
    commentstringnullable
    attachments object[]nullable
  • Array [
  • fileIdstring<uuid>required
    labelstringnullable
  • ]
  • failureCategoryIdstringnullable
    failureCategoryNamestringnullable
    failureIdstringnullable
    failureNamestringnullable
    failureSeveritystringnullable

    Possible values: [critical, major, minor]

  • ]
  • ]
  • ]
  • overallResult objectrequired
    resultstringrequired

    Possible values: [pass, fail, data]

    Example: pass
    reviewResultstringnullable
    questionnaire objectnullable
    forTestExecution object[]required
  • Array [
  • integrationKeystringrequired
    valuesstring[]required
  • ]
  • labAgency object
    localOrganizationIdstringnullable

    Possible values: <= 255 characters

    addressstringnullable
    citystringnullable

    Possible values: <= 255 characters

    countrystringnullable

    iso alpha-2 country code

    Possible values: <= 2 characters

    provincestringnullable

    Possible values: <= 255 characters

    postalstringnullable

    Possible values: <= 50 characters

    contacts object[]
  • Array [
  • namestringnullable

    Possible values: <= 255 characters

    emailstring<email>nullable

    Possible values: <= 255 characters

    telephoneNumberstringnullable

    Possible values: <= 80 characters

    mobileNumberstringnullable

    Possible values: <= 80 characters

  • ]
  • LabTestUploadRequestBody
    {
    "reportNumber": "string",
    "originalReportNumber": "string",
    "revisionNumber": 0,
    "reportIssueDate": "2024-04-24",
    "items": [
    {
    "itemId": "string",
    "itemName": "string",
    "itemDescription": "string",
    "styleId": "string",
    "styleName": "string",
    "color": "",
    "size": "string",
    "originCountry": [
    "string"
    ],
    "sampleSize": 0,
    "unit": "string",
    "samples": [
    {
    "sampleName": "Lot A",
    "lotBatchNumber": "LB-2026-001",
    "color": "Navy",
    "sampleAmount": 2,
    "unit": "pcs",
    "sampleDescription": "Front panel swatch"
    }
    ]
    }
    ],
    "testResultAttachments": [
    {
    "fileId": "f85774e7-cb3a-4bf3-ab8a-92e22bed41ac",
    "label": "string"
    }
    ],
    "testPackages": [
    {
    "id": "string",
    "name": "string",
    "type": "string"
    }
    ],
    "testProperties": [
    {
    "id": "string",
    "name": "string",
    "testPackageId": "string",
    "testCategoryId": "string",
    "testSubcategoryId": "string",
    "testMethod": "string",
    "result": "pass",
    "reviewResult": "string",
    "items": [
    {
    "itemId": "string",
    "testConditions": [
    {
    "id": "string",
    "name": "string",
    "result": "pass",
    "samples": [
    {
    "data": "Grade 4-5",
    "result": "pass",
    "sampleNumbers": [
    1,
    2
    ],
    "sampleNames": [
    "Lot A",
    "Lot B"
    ]
    }
    ],
    "followUpAction": {
    "comment": "string",
    "attachments": [
    {
    "fileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "label": "string"
    }
    ],
    "failureCategoryId": "string",
    "failureCategoryName": "string",
    "failureId": "string",
    "failureName": "string",
    "failureSeverity": "critical"
    }
    }
    ]
    }
    ]
    }
    ],
    "overallResult": {
    "result": "pass",
    "reviewResult": "string"
    },
    "questionnaire": {
    "forTestExecution": [
    {
    "integrationKey": "string",
    "values": [
    "string"
    ]
    }
    ]
    },
    "labAgency": {
    "localOrganizationId": "string",
    "address": "string",
    "city": "string",
    "country": "string",
    "province": "string",
    "postal": "string",
    "contacts": [
    {
    "name": "string",
    "email": "[email protected]",
    "telephoneNumber": "string",
    "mobileNumber": "string"
    }
    ]
    }
    }