---
title: "POST /customAttributeDefinition"
method: POST
path: "/customAttributeDefinition"
tags: ["customAttributeDefinition"]
---

# POST /customAttributeDefinition

`POST /customAttributeDefinition`

## Request

- Base URL: `https://www.weclapp.com/api/nullapi/v2`
- URL: `https://www.weclapp.com/api/nullapi/v2/customAttributeDefinition`
- Auth: API key in header `AuthenticationToken`
- TypeScript: <https://skmtc.dev/weclapp/apis/weclapp-api/docs/customAttributeDefinition/post.ts> (a function with typed inputs; its response is checked against the schema)

create a customAttributeDefinition

## Query parameters

- `dryRun` boolean

## Request body

- CustomAttributeDefinition
  - `id` string
  - `version` string
  - `active` boolean
  - `attributeDescription` string
  - `attributeEntityType` 'article' | 'blanketPurchaseOrder' | 'blanketSalesOrder' | 'campaign' | 'contract' | 'customer' | 'incomingGoods' | 'opportunity' | 'party' | 'performanceRecord' | 'productionOrder' | 'project' | 'purchaseInvoice' | 'purchaseOrder' | 'purchaseOrderRequest' | 'quotation' | 'recurringInvoice' | 'salesInvoice' | 'salesOrder' | 'serialNumber' | 'shipment' | 'supplier' | 'ticket' | 'user'
  - `attributeKey` string
  - `attributeLabels` CustomAttributeDefinitionTranslation[]
    - `labelText` string
    - `locale` string
  - `attributeType` 'BOOLEAN' | 'DATE' | 'DECIMAL' | 'ENTITY' | 'INTEGER' | 'LARGE_TEXT' | 'LIST' | 'MULTISELECT_LIST' | 'REFERENCE' | 'STRING' | 'URL', required
  - `conditions` CustomAttributeDefinitionConditions
    - `conditionsForEntityType` ConditionsForEntityType[]
      - `entityType` 'article' | 'articleSupplySource' | 'batchNumber' | 'blanketPurchaseOrder' | 'blanketSalesOrder' | 'campaign' | 'competitor' | 'contract' | 'contractItem' | 'crmEvent' | 'customer' | 'incomingBooking' | 'incomingGoods' | 'incomingGoodsItem' | 'opportunity' | 'parcel' | 'party' | 'performanceRecord' | 'performanceRecordItem' | 'pick' | 'productionOrder' | 'productionOrderItem' | 'project' | 'purchaseInvoice' | 'purchaseInvoiceItem' | 'purchaseOrder' | 'purchaseOrderItem' | 'purchaseOrderRequest' | 'purchaseOrderRequestItem' | 'purchaseRequisition' | 'quotation' | 'quotationItem' | 'recurringInvoice' | 'recurringInvoiceItem' | 'salesInvoice' | 'salesInvoiceItem' | 'salesOrder' | 'salesOrderItem' | 'serialNumber' | 'serviceQuota' | 'shipment' | 'shipmentItem' | 'storageLocation' | 'storagePlace' | 'supplier' | 'task' | 'ticket' | 'timeRecord' | 'transportationOrder' | 'user' | 'warehouse' | 'warehouseStockMovement'
      - `propertyConditions` CustomAttributeDefinitionPropertyCondition[]
        - `conditionOperator` 'EQUAL' | 'NOT_EQUAL'
        - `propertyName` string
        - `propertyType` 'BOOLEAN' | 'STRING'
        - `propertyValue` string
    - `ignoreConditionsIfValueIsSet` boolean
  - `createdDate` integer
  - `defaultBooleanValue` boolean
  - `defaultDateValue` integer
  - `defaultNumberValue` string, number
  - `defaultStringValue` string
  - `entities` string[]
  - `groupName` string
  - `inheritOnCopy` boolean
  - `label` string, required
  - `lastModifiedDate` integer
  - `legacyEntities` string[]
  - `mandatory` boolean
  - `permissions` CustomAttributeDefinitionPermission[]
    - `id` string
    - `version` string
    - `createdDate` integer
    - `lastModifiedDate` integer
    - `permissionType` 'READ' | 'READ_AND_UPDATE', required
    - `userRoleId` string, required
  - `publicPageTypes` string[]
  - `readOnly` boolean
  - `selectableValues` CustomAttributeDefinitionListValue[]
    - `id` string
    - `version` string
    - `active` boolean
    - `createdDate` integer
    - `defaultValue` boolean
    - `lastModifiedDate` integer
    - `positionNumber` integer
    - `value` string
  - `showAttributeEntityType` boolean
  - `showInOverview` boolean
  - `showOnCreationDialog` boolean
  - `systemCustomAttribute` boolean

## Response `201`

customAttributeDefinition create response

- CustomAttributeDefinition
  - `id` string
  - `version` string
  - `active` boolean
  - `attributeDescription` string
  - `attributeEntityType` 'article' | 'blanketPurchaseOrder' | 'blanketSalesOrder' | 'campaign' | 'contract' | 'customer' | 'incomingGoods' | 'opportunity' | 'party' | 'performanceRecord' | 'productionOrder' | 'project' | 'purchaseInvoice' | 'purchaseOrder' | 'purchaseOrderRequest' | 'quotation' | 'recurringInvoice' | 'salesInvoice' | 'salesOrder' | 'serialNumber' | 'shipment' | 'supplier' | 'ticket' | 'user'
  - `attributeKey` string
  - `attributeLabels` CustomAttributeDefinitionTranslation[]
    - `labelText` string
    - `locale` string
  - `attributeType` 'BOOLEAN' | 'DATE' | 'DECIMAL' | 'ENTITY' | 'INTEGER' | 'LARGE_TEXT' | 'LIST' | 'MULTISELECT_LIST' | 'REFERENCE' | 'STRING' | 'URL', required
  - `conditions` CustomAttributeDefinitionConditions
    - `conditionsForEntityType` ConditionsForEntityType[]
      - `entityType` 'article' | 'articleSupplySource' | 'batchNumber' | 'blanketPurchaseOrder' | 'blanketSalesOrder' | 'campaign' | 'competitor' | 'contract' | 'contractItem' | 'crmEvent' | 'customer' | 'incomingBooking' | 'incomingGoods' | 'incomingGoodsItem' | 'opportunity' | 'parcel' | 'party' | 'performanceRecord' | 'performanceRecordItem' | 'pick' | 'productionOrder' | 'productionOrderItem' | 'project' | 'purchaseInvoice' | 'purchaseInvoiceItem' | 'purchaseOrder' | 'purchaseOrderItem' | 'purchaseOrderRequest' | 'purchaseOrderRequestItem' | 'purchaseRequisition' | 'quotation' | 'quotationItem' | 'recurringInvoice' | 'recurringInvoiceItem' | 'salesInvoice' | 'salesInvoiceItem' | 'salesOrder' | 'salesOrderItem' | 'serialNumber' | 'serviceQuota' | 'shipment' | 'shipmentItem' | 'storageLocation' | 'storagePlace' | 'supplier' | 'task' | 'ticket' | 'timeRecord' | 'transportationOrder' | 'user' | 'warehouse' | 'warehouseStockMovement'
      - `propertyConditions` CustomAttributeDefinitionPropertyCondition[]
        - `conditionOperator` 'EQUAL' | 'NOT_EQUAL'
        - `propertyName` string
        - `propertyType` 'BOOLEAN' | 'STRING'
        - `propertyValue` string
    - `ignoreConditionsIfValueIsSet` boolean
  - `createdDate` integer
  - `defaultBooleanValue` boolean
  - `defaultDateValue` integer
  - `defaultNumberValue` string, number
  - `defaultStringValue` string
  - `entities` string[]
  - `groupName` string
  - `inheritOnCopy` boolean
  - `label` string, required
  - `lastModifiedDate` integer
  - `legacyEntities` string[]
  - `mandatory` boolean
  - `permissions` CustomAttributeDefinitionPermission[]
    - `id` string
    - `version` string
    - `createdDate` integer
    - `lastModifiedDate` integer
    - `permissionType` 'READ' | 'READ_AND_UPDATE', required
    - `userRoleId` string, required
  - `publicPageTypes` string[]
  - `readOnly` boolean
  - `selectableValues` CustomAttributeDefinitionListValue[]
    - `id` string
    - `version` string
    - `active` boolean
    - `createdDate` integer
    - `defaultValue` boolean
    - `lastModifiedDate` integer
    - `positionNumber` integer
    - `value` string
  - `showAttributeEntityType` boolean
  - `showInOverview` boolean
  - `showOnCreationDialog` boolean
  - `systemCustomAttribute` boolean

## Other responses

- `default`: error response

## Changes

- **2026-11-07** `0e021229755d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/weclapp/apis/weclapp-api/changes/customAttributeDefinition/post.md)

---

[API](https://skmtc.dev/weclapp/apis/weclapp-api.md) - [All operations](https://skmtc.dev/weclapp/apis/weclapp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/weclapp/apis/weclapp-api/revisions/0e021229755d?raw)
