Edara API v3

Edara API v3: Dynamic Properties

Read the guide first: authentication, paging, errors, rate limits and the shared PagedResult, BatchResult and *Reference shapes.

Endpoints

GET /v3/dynamic-properties: Lists dynamic properties.

Operation GetDynamicProperties · permission read:dynamic-property

Query string: GetDynamicPropertiesQuery

field type default validation description
offset int? 0 >= 0 Number of items to skip before returning results. Defaults to 0.
limit int? 100 1..1000 (out of range → 400) Maximum number of items to return. Defaults to 100, maximum 1000.
names List<string> Optional names to filter by.

Responses: OK PagedResult<DynamicPropertyResponse>: Paged list of dynamic properties.

Business errors (HTTP 409, match on errorCode):

Notes


GET /v3/dynamic-properties/tree/{userId}: Gets the dynamic property tree for a user.

Operation GetDynamicPropertiesTree · permission read:dynamic-property

Parameters

name in type default description
userId route int The user id.

Responses: OK List<DynamicPropertyTreeResponse>: Dynamic property tree.

Notes


POST /v3/dynamic-properties/batch: Creates dynamic properties in batch.

Operation BatchInsertDynamicProperties · permission create:dynamic-property

Per-item errors returned in the response failed map: CodeRequiredForPropertyWhenCodingIsFree - The warehouse coding method is free coding and the property code is missing. CodeRequiredForPropertyWhenNoCoding - The warehouse coding method is no coding and the property code is missing. CodeRequiredForValueWhenCodingIsFree - The warehouse coding method is free coding and a value code is missing. CodeRequiredForValueWhenNoCoding - The warehouse coding method is no coding and a value code is missing. AlreadyExists - Another dynamic property with the same name already exists.

Body: List<DynamicPropertyBatchInsertRequest> (JSON array)

field type default validation description
name string NotEmpty() .MaximumLength(70) Display name (e.g. "Color", "Size").
code string MaximumLength(50) Optional code. Required when coding method is FreeCoding or NoCoding.
values List<DynamicPropertyValueUpsertRequest> NotEmpty(); each: SetValidator(new DynamicPropertyValueUpsertRequestValidator()) Values associated with the property. At least one required.

Responses: OK DynamicPropertyBatchInsertResponse: Batch insert result.

Business errors (HTTP 409, match on errorCode):

Notes


PUT /v3/dynamic-properties/{id}: Updates a dynamic property.

Operation UpdateDynamicPropertyById · permission update:dynamic-property

Parameters

name in type default description
id route int The dynamic property id.

Body: DynamicPropertyValuesUpdateRequest

field type default validation description
values List<DynamicPropertyValueUpsertRequest> NotEmpty(); each: SetValidator(new DynamicPropertyValueUpsertRequestValidator()) Full desired set of values; omitted values are deleted.

Responses: OK DynamicPropertyResponse: The updated dynamic property.

Business errors (HTTP 409, match on errorCode):

Notes

Types

DynamicPropertyBatchInsertResponse

Response describing the result of a dynamic-property batch insert.

field type description
failed Dictionary<string,string> Failed items with their error messages.
succeeded List<DynamicPropertyResponse> Successfully inserted dynamic properties.

DynamicPropertyResponse

Response describing a dynamic property.

field type description
id int Identifier.
name string Property name.
code string Optional property code.
values List<DynamicPropertyValueResponse> Property values.

DynamicPropertyTreeResponse

Response describing a dynamic-property tree node.

field type description
dynamicPropertyId int Dynamic property identifier.
parentId int Parent identifier.
description string Description.
isVisible bool Whether the node is visible.
treeLevel int Tree level.

DynamicPropertyValueResponse

Response describing a dynamic-property value.

field type description
id int Identifier.
value string Value text.
code string Optional code.

DynamicPropertyValueUpsertRequest

Request to create or update a dynamic-property value.

field type validation description
value string NotEmpty() .MaximumLength(70) Display text (e.g. "Red", "Large").
code string MaximumLength(50) Optional code. Required when coding method is FreeCoding or NoCoding.