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

# Replace the measured values for one requested size of a sample request

> Full-replace write of one requested size's own measured values, addressed by sizeRangeSizeId in the route. The body is a single object carrying that size's lines addressed by lineId, and optionally the designer's per-size fit comment. It carries no sizeRangeSizeId of its own — the route is authoritative, so sending one in the body is a 400. Only companyMeasurement (the designer's measured actual), newMeasurement (the wanted value), and designerComment are writable; a null clears the value. As a full replace, designerComment is written verbatim, so seed it back from the read to preserve it. The read-only fields of the read contract — requestedMeasurement, supplierMeasurement, tolerance and name — are not accepted. As a full replace the body must cover every active line of the addressed size exactly once; a deactivated line, which has no lineId, cannot be written. Other sizes are untouched. A line not on the size, incomplete coverage, or a request in the Commented state returns 422; a size that is not a requested size on the request returns 404. A changed newMeasurement is also written back to the matching line of the style's master measurement chart, and that line is re-graded; a re-grade that would leave the chart line invalid returns 422. The write is not checked against the client's earlier read, so a change made since that read is overwritten; 409 is returned only when another write changes the size's measured values or designer comment while this write is in progress. Re-read and retry. The write records the changed values and comment in the sample request's measurement change history in the audit log. It does not change the sample request's status or dates and emits no notification. A failed write commits nothing.



## OpenAPI

````yaml https://service.my.delogue.com/openapi/external.json put /api/styles/{styleId}/sample-requests/{sampleRequestId}/measurements/{sizeRangeSizeId}
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/{sizeRangeSizeId}:
    put:
      tags:
        - SampleRequests
      summary: Replace the measured values for one requested size of a sample request
      description: >-
        Full-replace write of one requested size's own measured values,
        addressed by sizeRangeSizeId in the route. The body is a single object
        carrying that size's lines addressed by lineId, and optionally the
        designer's per-size fit comment. It carries no sizeRangeSizeId of its
        own — the route is authoritative, so sending one in the body is a 400.
        Only companyMeasurement (the designer's measured actual), newMeasurement
        (the wanted value), and designerComment are writable; a null clears the
        value. As a full replace, designerComment is written verbatim, so seed
        it back from the read to preserve it. The read-only fields of the read
        contract — requestedMeasurement, supplierMeasurement, tolerance and name
        — are not accepted. As a full replace the body must cover every active
        line of the addressed size exactly once; a deactivated line, which has
        no lineId, cannot be written. Other sizes are untouched. A line not on
        the size, incomplete coverage, or a request in the Commented state
        returns 422; a size that is not a requested size on the request returns
        404. A changed newMeasurement is also written back to the matching line
        of the style's master measurement chart, and that line is re-graded; a
        re-grade that would leave the chart line invalid returns 422. The write
        is not checked against the client's earlier read, so a change made since
        that read is overwritten; 409 is returned only when another write
        changes the size's measured values or designer comment while this write
        is in progress. Re-read and retry. The write records the changed values
        and comment in the sample request's measurement change history in the
        audit log. It does not change the sample request's status or dates and
        emits no notification. A failed write commits nothing.
      operationId: StyleSampleRequestMeasurements_ReplaceSizeMeasurement
      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 the size belongs to.
          required: true
          schema:
            type: integer
            format: int64
        - name: sizeRangeSizeId
          in: path
          description: Identifier of the requested size whose measured values are replaced.
          required: true
          schema:
            type: integer
            format: int64
        - name: X-Delogue-Api
          in: header
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SampleRequestSizeMeasurementUpdateDto'
          text/json:
            schema:
              $ref: '#/components/schemas/SampleRequestSizeMeasurementUpdateDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/SampleRequestSizeMeasurementUpdateDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfSampleRequestMeasurementDto'
        '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:
    SampleRequestSizeMeasurementUpdateDto:
      type: object
      properties:
        designerComment:
          type:
            - 'null'
            - string
          description: >-
            The designer's fit comment for this size, text only. Written
            verbatim on a full replace, so seed it back from the read to
            preserve it. Null or empty clears it.
        lines:
          type: array
          items:
            $ref: '#/components/schemas/SampleRequestMeasurementLineUpdateDto'
          description: >-
            The writable measured values for each active line of this size. Must
            cover every active line of the size exactly once.
      additionalProperties: false
    ApiResponseOfSampleRequestMeasurementDto:
      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:
          oneOf:
            - type: 'null'
            - $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.
          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
    SampleRequestMeasurementLineUpdateDto:
      type: object
      properties:
        lineId:
          type:
            - 'null'
            - integer
          description: >-
            Identifier of the measurement line to write, the point of measure.
            Must be a positive id of an active line; a deactivated line has no
            id and cannot be written.
          format: int64
        companyMeasurement:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: >-
            The designer's measured actual for this line. Null clears the stored
            value.
          format: double
        newMeasurement:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: >-
            The wanted value for the next sample round. Null clears the stored
            value.
          format: double
      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.