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

# Bulk-updates and/or soft-deletes style custom field definitions in a single transaction.

> Bulk PUT with all-or-nothing semantics. Each item must include id. state="deleted" routes that item through the soft-delete code path so delete-time rules fire; mixed update + delete batches commit together. Capped at 200 items per request.



## OpenAPI

````yaml /openapi/external.enriched.json put /api/style-custom-fields
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/style-custom-fields:
    put:
      tags:
        - StyleCustomFields
      summary: >-
        Bulk-updates and/or soft-deletes style custom field definitions in a
        single transaction.
      description: >-
        Bulk PUT with all-or-nothing semantics. Each item must include id.
        state="deleted" routes that item through the soft-delete code path so
        delete-time rules fire; mixed update + delete batches commit together.
        Capped at 200 items per request.
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/StyleCustomFieldBulkUpdateCommand'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/StyleCustomFieldBulkUpdateCommand'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/StyleCustomFieldBulkUpdateCommand'
        required: true
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiResponseOfListOfStyleCustomFieldDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfListOfStyleCustomFieldDto'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfListOfStyleCustomFieldDto'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
        '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/ApiBulkErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
        '409':
          description: Conflict
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiBulkErrorResponse'
      security:
        - {}
components:
  schemas:
    StyleCustomFieldBulkUpdateCommand:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        name:
          type:
            - 'null'
            - string
        userDefinedId:
          type:
            - 'null'
            - string
        state:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/StyleCustomFieldState'
        position:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        internalOnly:
          type:
            - 'null'
            - boolean
        isMandatory:
          type:
            - 'null'
            - boolean
        isSupplierEditable:
          type:
            - 'null'
            - boolean
        isMultiLine:
          type:
            - 'null'
            - boolean
        isSortByAllowedValueId:
          type:
            - 'null'
            - boolean
        diffPerColor:
          type:
            - 'null'
            - boolean
        diffPerSize:
          type:
            - 'null'
            - boolean
        useInThumbnailViewGroupBy:
          type:
            - 'null'
            - boolean
        maxChar:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        allowedDecimals:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: uint8
        numericVariantCalculationFormula:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/NumericVariantCalculationFormula'
        allowedValues:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/StyleCustomFieldAllowedValueCreateDto'
        associatedBrands:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/BrandStyleCreateDto'
        associatedGroups:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/StyleGroupCreateDto'
        associatedStyleCategories:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/CategoryCreateDto'
      additionalProperties: false
    ApiResponseOfListOfStyleCustomFieldDto:
      required:
        - status
        - code
        - data
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        code:
          type: string
        data:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/StyleCustomFieldDto'
      additionalProperties: false
    ApiBulkErrorResponse:
      required:
        - status
        - code
        - error
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        code:
          type: string
        error:
          $ref: '#/components/schemas/BulkErrorDetail'
      additionalProperties: false
    ApiErrorResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        code:
          type: string
        error:
          $ref: '#/components/schemas/ErrorWrapper'
      additionalProperties: false
    StyleCustomFieldState: {}
    NumericVariantCalculationFormula: {}
    StyleCustomFieldAllowedValueCreateDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int64
        value:
          type: string
        userDefinedId:
          type:
            - 'null'
            - string
        isDefaultValue:
          type: boolean
        parentAllowedValueId:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int64
      additionalProperties: false
    BrandStyleCreateDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        customId:
          type:
            - 'null'
            - string
        name:
          type:
            - 'null'
            - string
        contactPersonId:
          type:
            - 'null'
            - string
        contactPersonName:
          type:
            - 'null'
            - string
      additionalProperties: false
    StyleGroupCreateDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        customId:
          type:
            - 'null'
            - string
        name:
          type:
            - 'null'
            - string
      additionalProperties: false
    CategoryCreateDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        customId:
          type:
            - 'null'
            - string
        name:
          type:
            - 'null'
            - string
      additionalProperties: false
    ApiResponseStatus: {}
    StyleCustomFieldDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        name:
          type: string
        userDefinedId:
          type:
            - 'null'
            - string
        type:
          $ref: '#/components/schemas/CustomFieldType'
        state:
          $ref: '#/components/schemas/StyleCustomFieldState'
        position:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        maxChar:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        allowedDecimals:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint8
        numericVariantCalculationFormula:
          $ref: '#/components/schemas/NumericVariantCalculationFormula'
        parentCustomFieldId:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int64
        parentCustomFieldName:
          type:
            - 'null'
            - string
        allowedValues:
          type: array
          items:
            $ref: '#/components/schemas/StyleCustomFieldAllowedValueDto'
        associatedBrands:
          type: array
          items:
            $ref: '#/components/schemas/AssociatedItemDto'
        associatedGroups:
          type: array
          items:
            $ref: '#/components/schemas/AssociatedItemDto'
        associatedStyleCategories:
          type: array
          items:
            $ref: '#/components/schemas/AssociatedItemDto'
        properties:
          type: array
          items:
            type: string
      additionalProperties: false
    BulkErrorDetail:
      required:
        - operation
        - total_items
        - failed_items
        - summary
        - details
      type: object
      properties:
        operation:
          type: string
        total_items:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        failed_items:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        summary:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDto'
      additionalProperties: false
    ErrorWrapper:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDto'
      additionalProperties: false
    CustomFieldType: {}
    StyleCustomFieldAllowedValueDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        value:
          type: string
        userDefinedId:
          type:
            - 'null'
            - string
        parentAllowedValueId:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int64
        properties:
          type: array
          items:
            type: string
      additionalProperties: false
    AssociatedItemDto:
      type: object
      properties:
        id:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        name:
          type: string
      additionalProperties: false
    ErrorDetailDto:
      required:
        - type
        - field
        - value
      type: object
      properties:
        type:
          type: string
        field:
          type:
            - 'null'
            - string
        value:
          type:
            - 'null'
            - string
      additionalProperties: false

````