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

# Updates a single item category by ID (full replace).

> Updates an item category owned by the current organization. PUT is a full replace: every field on the request body is written to the database verbatim. The route id is authoritative. name is required and bounded (<=200); an omitted state defaults to active. state is nullable on the wire so the JSON Patch applicator can distinguish a cleared value from an untouched one, but PUT itself rejects both an explicit null and state=deleted (400) — a concrete active/inactive value or omission are the only accepted forms. Use DELETE /api/item-categories/{id} so used-in checks fire. There is no preserve-on-omit semantics (that is PATCH). A genuinely missing id returns 404; an id that belongs to another organization returns 403.



## OpenAPI

````yaml https://service.my.delogue.com/openapi/external.json put /api/item-categories/{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/item-categories/{id}:
    put:
      tags:
        - ItemCategories
      summary: Updates a single item category by ID (full replace).
      description: >-
        Updates an item category owned by the current organization. PUT is a
        full replace: every field on the request body is written to the database
        verbatim. The route id is authoritative. name is required and bounded
        (<=200); an omitted state defaults to active. state is nullable on the
        wire so the JSON Patch applicator can distinguish a cleared value from
        an untouched one, but PUT itself rejects both an explicit null and
        state=deleted (400) — a concrete active/inactive value or omission are
        the only accepted forms. Use DELETE /api/item-categories/{id} so used-in
        checks fire. There is no preserve-on-omit semantics (that is PATCH). A
        genuinely missing id returns 404; an id that belongs to another
        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/ItemCategoryUpdateDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ItemCategoryUpdateDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ItemCategoryUpdateDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiResponseOfItemCategoryDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfItemCategoryDto'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfItemCategoryDto'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '409':
          description: Conflict
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      security:
        - {}
components:
  schemas:
    ItemCategoryUpdateDto:
      type: object
      properties:
        name:
          type:
            - 'null'
            - string
        state:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ItemCategoryState'
      additionalProperties: false
    ApiResponseOfItemCategoryDto:
      required:
        - status
        - code
        - data
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        code:
          type: string
        data:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ItemCategoryDto'
      additionalProperties: false
    ApiErrorResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        code:
          type: string
        error:
          $ref: '#/components/schemas/ErrorWrapper'
      additionalProperties: false
    ItemCategoryState: {}
    ApiResponseStatus: {}
    ItemCategoryDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        name:
          type:
            - 'null'
            - string
        state:
          $ref: '#/components/schemas/ItemCategoryState'
        usedInItems:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        beginDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        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

````