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

# Update a sample type (full replace)

> Updates a sample type owned by the current organization. PUT is a full replace: every field on the body is written verbatim. name and state are required (missing/null returns 400); state=deleted is rejected here (use DELETE). commentDeadline is a nullable scalar — omitting it or sending null clears the column. notifySettings is written verbatim: an explicit list replaces the notifying-status set, while an omitted/null/empty list clears it to 'no statuses notify'. There is no preserve-on-omit semantics — use PATCH (DL-59993) for partial updates. position is server-controlled and rejected when supplied. The route id wins over any id in the body. A reference to a sample type that exists in no organization returns 404; one that exists but belongs to a different organization returns 403.



## OpenAPI

````yaml https://service.my.delogue.com/openapi/external.json put /api/sample-types/{id}
openapi: 3.1.1
info:
  title: Delogue External API - (Production)
  description: Integration endpoints for Delogue API
  version: 1.0.0
servers:
  - url: >-
      http://ca-delogue-service-prod.bravepebble-62e34dbe.westeurope.azurecontainerapps.io/
security: []
tags:
  - name: SubSuppliers
  - name: StyleSupplierFacilities
  - name: StyleSkus
  - name: Styles
  - name: SampleRequests
  - name: StyleRelations
  - name: Style Prices
  - name: StyleItems
  - name: StyleFiles
  - name: StyleCustomFields
  - name: StyleContacts
  - name: StyleCategories
  - name: StyleCareInstructions
  - name: SizeRanges
  - name: Seasons
  - name: SampleTypes
  - name: Organizations
  - name: MeasurementCharts
  - name: Items
  - name: ItemCategories
  - name: Groups
  - name: Facilities
  - name: ComplianceCustomFields
  - name: ComplianceCategories
  - name: Color Groups
  - name: Colors
  - name: CareInstructions
  - name: CareInstructionMaterials
  - name: CareInstructionLayers
  - name: CareInstructionIcons
  - name: Brands
  - name: Barcodes
paths:
  /api/sample-types/{id}:
    put:
      tags:
        - SampleTypes
      summary: Update a sample type (full replace)
      description: >-
        Updates a sample type owned by the current organization. PUT is a full
        replace: every field on the body is written verbatim. name and state are
        required (missing/null returns 400); state=deleted is rejected here (use
        DELETE). commentDeadline is a nullable scalar — omitting it or sending
        null clears the column. notifySettings is written verbatim: an explicit
        list replaces the notifying-status set, while an omitted/null/empty list
        clears it to 'no statuses notify'. There is no preserve-on-omit
        semantics — use PATCH (DL-59993) for partial updates. position is
        server-controlled and rejected when supplied. The route id wins over any
        id in the body. A reference to a sample type that exists in no
        organization returns 404; one that exists but belongs to a different
        organization returns 403.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            pattern: ^-?(?:0|[1-9]\d*)$
            type:
              - integer
              - string
            format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SampleTypeUpdateDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/SampleTypeUpdateDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfSampleTypeDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/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'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      security:
        - {}
components:
  schemas:
    SampleTypeUpdateDto:
      type: object
      properties:
        name:
          type:
            - 'null'
            - string
        state:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/SampleTypeState'
        commentDeadline:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        position:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        notifySettings:
          type:
            - 'null'
            - array
      additionalProperties: false
    ApiResponseOfSampleTypeDto:
      required:
        - status
        - code
        - data
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        code:
          type: string
        data:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/SampleTypeDto'
      additionalProperties: false
    ApiErrorResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        code:
          type: string
        error:
          $ref: '#/components/schemas/ErrorWrapper'
      additionalProperties: false
    SampleTypeState: {}
    ApiResponseStatus: {}
    SampleTypeDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        name:
          type: string
        state:
          $ref: '#/components/schemas/SampleTypeState'
        commentDeadline:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        position:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        notifySettings:
          type: array
        properties:
          type: array
          items:
            type: string
      additionalProperties: false
    ErrorWrapper:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDto'
      additionalProperties: false
    ErrorDetailDto:
      required:
        - type
        - field
        - value
      type: object
      properties:
        type:
          type: string
        field:
          type:
            - 'null'
            - string
        value:
          type:
            - 'null'
            - string
      additionalProperties: false

````