> ## Documentation Index
> Fetch the complete documentation index at: https://integration.delogue.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Partially update a sample request's measured values (RFC 6902 JSON Patch)

> Applies a JSON Patch document (RFC 6902) to a sample request's measured grid. The document is seeded from the persisted grid (one entry per requested size, active lines only, in size then line-position order), so a value an operation touches is written and an omitted value is preserved — including an untouched designerComment. Addressing is by array index — e.g. '/0/lines/1/companyMeasurement' or '/0/designerComment'. Only companyMeasurement, newMeasurement, and designerComment are writable; a replace to null clears a value. Because PATCH seeds from and runs the same full-replace write as PUT, the same guards and side effects apply: a size/line not on the request, a Commented request, or a master-chart re-grade that would leave the chart line invalid returns 422, cross-organization access 403, a missing style/request 404, a failed 'test' operation, or another write changing the measurements while this write is in progress, 409 (a change made between the seed read and the write is overwritten, not reported), and any other inapplicable operation 422. A changed newMeasurement is written back to the style's master measurement chart and the change is recorded in the audit log, as for PUT. An empty patch document is a 400.



## OpenAPI

````yaml https://service.my.delogue.com/openapi/external.json patch /api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements
openapi: 3.1.1
info:
  title: Delogue External API - (Production)
  description: Integration endpoints for Delogue API
  version: 1.0.0
servers:
  - url: >-
      https://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/
security: []
tags:
  - name: Barcodes
  - name: Brands
  - name: CareInstructionIcons
  - name: CareInstructionLayers
  - name: CareInstructionMaterials
  - name: CareInstructions
  - name: Color Groups
  - name: Colors
  - name: ComplianceCategories
  - name: ComplianceCustomFields
  - name: Facilities
  - name: Groups
  - name: ItemCategories
  - name: Items
  - name: MeasurementCharts
  - name: MigrationVerification
  - name: Organizations
  - name: SampleRequests
  - name: SampleTypes
  - name: Seasons
  - name: SizeRanges
  - name: Style Prices
  - name: StyleCareInstructions
  - name: StyleCategories
  - name: StyleColors
  - name: StyleContacts
  - name: StyleCustomFields
  - name: StyleFiles
  - name: StyleItems
  - name: StyleRelations
  - name: Styles
  - name: StyleSkus
  - name: StyleSupplierFacilities
  - name: SubSuppliers
  - name: Suppliers
paths:
  /api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements:
    patch:
      tags:
        - SampleRequests
      summary: >-
        Partially update a sample request's measured values (RFC 6902 JSON
        Patch)
      description: >-
        Applies a JSON Patch document (RFC 6902) to a sample request's measured
        grid. The document is seeded from the persisted grid (one entry per
        requested size, active lines only, in size then line-position order), so
        a value an operation touches is written and an omitted value is
        preserved — including an untouched designerComment. Addressing is by
        array index — e.g. '/0/lines/1/companyMeasurement' or
        '/0/designerComment'. Only companyMeasurement, newMeasurement, and
        designerComment are writable; a replace to null clears a value. Because
        PATCH seeds from and runs the same full-replace write as PUT, the same
        guards and side effects apply: a size/line not on the request, a
        Commented request, or a master-chart re-grade that would leave the chart
        line invalid returns 422, cross-organization access 403, a missing
        style/request 404, a failed 'test' operation, or another write changing
        the measurements while this write is in progress, 409 (a change made
        between the seed read and the write is overwritten, not reported), and
        any other inapplicable operation 422. A changed newMeasurement is
        written back to the style's master measurement chart and the change is
        recorded in the audit log, as for PUT. An empty patch document is a 400.
      operationId: StyleSampleRequestMeasurements_PatchMeasurements
      parameters:
        - name: styleId
          in: path
          description: Identifier of the style the sample request belongs to.
          required: true
          schema:
            type: integer
            format: int64
        - name: sampleRequestId
          in: path
          description: Identifier of the sample request whose measured values are patched.
          required: true
          schema:
            type: integer
            format: int64
        - name: X-Delogue-Api
          in: header
          schema:
            type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/JsonPatchDocument'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ApiResponseOfListOfSampleRequestMeasurementDto
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      security:
        - {}
components:
  schemas:
    JsonPatchDocument:
      type: array
      items:
        type: object
        oneOf:
          - required:
              - op
              - path
              - value
            type: object
            properties:
              op:
                enum:
                  - add
                  - replace
                  - test
                type: string
              path:
                type: string
              value: {}
            additionalProperties: false
          - required:
              - op
              - path
              - from
            type: object
            properties:
              op:
                enum:
                  - move
                  - copy
                type: string
              path:
                type: string
              from:
                type: string
            additionalProperties: false
          - required:
              - op
              - path
            type: object
            properties:
              op:
                enum:
                  - remove
                type: string
              path:
                type: string
            additionalProperties: false
    ApiResponseOfListOfSampleRequestMeasurementDto:
      required:
        - status
        - code
        - data
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
          description: >-
            The coarse outcome of the request, indicating whether it succeeded
            or failed.
        code:
          type: string
          description: >-
            The specific machine-readable outcome code, such as ok on success or
            the most specific error code on failure. Always lowercase on the
            wire.
        data:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/SampleRequestMeasurementDto'
          description: >-
            The response payload, either a single object for a by-id read or an
            array for a bulk operation. Omitted from the body when there is no
            value.
      additionalProperties: false
    ApiErrorResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
          description: >-
            The coarse outcome of the request, indicating whether it succeeded
            or failed.
        code:
          type: string
          description: >-
            The specific machine-readable outcome code, such as ok on success or
            the most specific error code on failure. Always lowercase on the
            wire.
        error:
          $ref: '#/components/schemas/ErrorWrapper'
          description: >-
            The error payload, present instead of data on a failed response. It
            wraps the list of detail rows describing what went wrong.
      additionalProperties: false
    ApiResponseStatus:
      enum:
        - success
        - error
      type: string
      description: >-
        The coarse outcome of the request, indicating whether it succeeded or
        failed.
    SampleRequestMeasurementDto:
      type: object
      properties:
        sizeRangeSizeId:
          type: integer
          description: Identifier of the requested size this measurement entry belongs to.
          format: int64
        sizeRangeSizeName:
          type: string
          description: Display name of the requested size, for example M or 38.
        unit:
          type:
            - 'null'
            - string
          description: >-
            Unit the measurement values are expressed in, for example
            Centimeters. Null when no unit is set.
        designerComment:
          type:
            - 'null'
            - string
          description: >-
            The designer's fit comment for this size, text only. Null when no
            comment has been written.
        properties:
          type: array
          items:
            type: string
          description: >-
            Additive status markers for the size, for example approved,
            designerVisibleOnly or sizeDeactivated. A marker appears only when
            that condition holds.
        lines:
          type: array
          items:
            $ref: '#/components/schemas/SampleRequestMeasurementLineDto'
          description: The measured values for this size, one entry per measurement line.
      additionalProperties: false
    ErrorWrapper:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDto'
          description: >-
            The list of individual error detail rows for this failure, one per
            field or rule that failed.
      additionalProperties: false
      description: >-
        The error payload, present instead of data on a failed response. It
        wraps the list of detail rows describing what went wrong.
    SampleRequestMeasurementLineDto:
      type: object
      properties:
        lineId:
          type:
            - 'null'
            - integer
          description: >-
            Identifier of the measurement line, the point of measure. Null for a
            deactivated line, which is returned for display only and cannot be
            written.
          format: int64
        name:
          type:
            - 'null'
            - string
          description: Label of the measurement line, for example A - Back body length.
        requestedMeasurement:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: >-
            The sample's target value frozen from the style's measurement chart
            at request time. Read-only.
          format: double
        companyMeasurement:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: The designer's measured actual for this line.
          format: double
        supplierMeasurement:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: The supplier's measured actual for this line.
          format: double
        newMeasurement:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: The wanted value for the next sample round.
          format: double
        tolerance:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: >-
            The accepted tolerance band around the requested value. Null for a
            deactivated line.
          format: double
      additionalProperties: false
    ErrorDetailDto:
      required:
        - type
        - field
        - value
      type: object
      properties:
        type:
          type: string
          description: >-
            The hierarchical error code identifying the specific failure, such
            as validation_error.required_field. Consumers branch on this rather
            than on the message text.
        field:
          type:
            - 'null'
            - string
          description: >-
            The input field that caused the failure. Omitted when no specific
            field is at fault, such as an authorization denial or a server
            error.
        value:
          type:
            - 'null'
            - string
          description: >-
            A human-readable message describing the failure, or the offending
            value or limit that triggered it.
      additionalProperties: false

````

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