# Structure items

The following endpoints allow you to manage items in a custom property structure.

To use custom properties, you have to:

1. Create a custom properties structure.
2. Create custom properties structure items.
3. Fill the items with data.

Read more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties)."

## List custom property structure items

> Gets the list of structure items in the specified custom properties structure.\
> \
> Use the API call \`GET /custom-property-structures?{organizationId}\` to get the ID of the custom property structure.<br>

```json
{"openapi":"3.0.0","info":{"title":"Web API v2 - Public ","version":"1.0.0"},"tags":[{"name":"Custom properties / Structure items","description":"The following endpoints allow you to manage items in a custom property structure.\n\nTo use custom properties, you have to:\n\n1. [Create a custom properties structure](../post--custom-property-structures.md).\n2. [Create custom properties structure items](./post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n3. [Fill the items with data](../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n\nRead more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties).\"\n"}],"servers":[{"url":"https://eu1.make.com/api/v2","description":"EU1 production zone"},{"url":"https://eu2.make.com/api/v2","description":"EU2 production zone"},{"url":"https://us1.make.com/api/v2","description":"US1 production zone"},{"url":"https://us2.make.com/api/v2","description":"US2 production zone"},{"url":"https://eu1.make.celonis.com/api/v2","description":"Celonis EU1 production zone"},{"url":"https://us1.make.celonis.com/api/v2","description":"Celonis US1 production zone"}],"security":[{"token":["custom-property-structures:read"]}],"components":{"securitySchemes":{"token":{"type":"apiKey","name":"Authorization","in":"header","description":"Authorize the API call with your API token in the `Authorization` header with the value: `Token your-api-token`.\n\nIf you don't have an API token yet, please refer to the [\"Authentication\" section](/api-documentation/authentication) to learn how to create one.\n"}}},"paths":{"/custom-property-structures/{customPropertyStructureId}/custom-property-structure-items":{"get":{"tags":["Custom properties / Structure items"],"summary":"List custom property structure items","description":"Gets the list of structure items in the specified custom properties structure.\n\nUse the API call `GET /custom-property-structures?{organizationId}` to get the ID of the custom property structure.\n","parameters":[{"name":"customPropertyStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure.\nUse the API call `GET /custom-property-structures?organizationId={organizationId}` to get the ID of a custom property structure."},{"name":"cols[]","in":"query","schema":{"type":"array","items":{"type":"string","enum":["id","name","label","description","type","options","required"]}},"description":"Specifies columns that are returned in the response. Use the `cols[]` parameter for every column that you want to return in the response. For example `GET /endpoint?cols[]=key1&cols[]=key2` to get both `key1` and `key2` columns in the response.\n\n[Check the \"Filtering\" section for a full example.](/pagination-sorting-filtering/filtering.md)\n"},{"name":"pg[sortBy]","in":"query","schema":{"type":"string","enum":["id","name","label","description","type","required"]},"description":"Specify the custom property item attribute. The custom property items in the response are sorted by the value of the attribute."},{"name":"pg[offset]","in":"query","schema":{"type":"integer"},"description":"The value of entities you want to skip before getting entities you need."},{"name":"pg[sortDir]","in":"query","schema":{"type":"string","enum":["asc","desc"]},"description":"The sorting order. It accepts the ascending and descending direction specifiers."},{"name":"pg[limit]","in":"query","schema":{"type":"integer"},"description":"Sets the maximum number of results per page in the API call response. For example, `pg[limit]=100`. The default number varies with different API endpoints."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"created":{"type":"string","format":"date-time"},"belongers":{"type":"array","items":{"type":"object","properties":{"belongerId":{"type":"integer"},"belongerType":{"type":"string"},"associatedTypes":{"type":"array","items":{"type":"string"}}}}}}}},"pg":{"type":"object","properties":{"last":{"type":"string"},"showLast":{"type":"boolean"},"sortBy":{"type":"string"},"sortDir":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}}}}}}}}}}
```

## Create a custom property structure item

> Creates custom properties structure items.\
> \
> After creating a structure item, you cannot change its \`name\` and \`type\`.\
> \
> To add data to the custom properties, use the API call to \[fill in custom properties data]\(../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).<br>

```json
{"openapi":"3.0.0","info":{"title":"Web API v2 - Public ","version":"1.0.0"},"tags":[{"name":"Custom properties / Structure items","description":"The following endpoints allow you to manage items in a custom property structure.\n\nTo use custom properties, you have to:\n\n1. [Create a custom properties structure](../post--custom-property-structures.md).\n2. [Create custom properties structure items](./post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n3. [Fill the items with data](../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n\nRead more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties).\"\n"}],"servers":[{"url":"https://eu1.make.com/api/v2","description":"EU1 production zone"},{"url":"https://eu2.make.com/api/v2","description":"EU2 production zone"},{"url":"https://us1.make.com/api/v2","description":"US1 production zone"},{"url":"https://us2.make.com/api/v2","description":"US2 production zone"},{"url":"https://eu1.make.celonis.com/api/v2","description":"Celonis EU1 production zone"},{"url":"https://us1.make.celonis.com/api/v2","description":"Celonis US1 production zone"}],"security":[{"token":["custom-property-structures:write"]}],"components":{"securitySchemes":{"token":{"type":"apiKey","name":"Authorization","in":"header","description":"Authorize the API call with your API token in the `Authorization` header with the value: `Token your-api-token`.\n\nIf you don't have an API token yet, please refer to the [\"Authentication\" section](/api-documentation/authentication) to learn how to create one.\n"}}},"paths":{"/custom-property-structures/{customPropertyStructureId}/custom-property-structure-items":{"post":{"tags":["Custom properties / Structure items"],"summary":"Create a custom property structure item","description":"Creates custom properties structure items.\n\nAfter creating a structure item, you cannot change its `name` and `type`.\n\nTo add data to the custom properties, use the API call to [fill in custom properties data](../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n","parameters":[{"name":"customPropertyStructureId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure.\nUse the API call `GET /custom-property-structures?organizationId={organizationId}` to get the ID of a custom property structure."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"The ID of the structure item. The `name` has to be unique in the custom properties structure.","type":"string"},"label":{"description":"Make displays the item label to users in the scenario table header.","type":"string"},"description":{"description":"The description of the custom property structure item. You can review the item description in the **Scenario properties** tab in the Organization dashboard.","type":"string"},"type":{"description":"The data type of the custom property structure item. The data types `dropdown` and `multiselect` allow you to specify available options for the item data.","type":"string","enum":["boolean","number","shortText","longText","date","dropdown","multiselect"]},"options":{"description":"The options available to users when filling in the item data. For the data types `dropdown` and `multiselect`, fill in an object like `{\"options\":[{\"value\": \"Marketing\"}, {\"value\": \"Sales\"}]}`.\nYou can omit the `options` parameter for the rest of the data types. "},"required":{"description":"Set to `true` in order to make a structure item required when adding custom property data. Default value is `false`.","type":"boolean"}},"required":["name","label","type"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItem":{"type":"object","properties":{"id":{"type":"integer"},"created":{"type":"string","format":"date-time"},"belongers":{"type":"array","items":{"type":"object","properties":{"belongerId":{"type":"integer"},"belongerType":{"type":"string"},"associatedTypes":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}}}}}
```

## Delete custom property structure item

> Deletes the specified custom property structure item. Use the \`confirmed\` parameter to confirm deleting the structure item.\
> When you delete a custom property item, Make deletes the data filled in the item as well. Deleting custom property item data is irreversible.

```json
{"openapi":"3.0.0","info":{"title":"Web API v2 - Public ","version":"1.0.0"},"tags":[{"name":"Custom properties / Structure items","description":"The following endpoints allow you to manage items in a custom property structure.\n\nTo use custom properties, you have to:\n\n1. [Create a custom properties structure](../post--custom-property-structures.md).\n2. [Create custom properties structure items](./post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n3. [Fill the items with data](../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n\nRead more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties).\"\n"}],"servers":[{"url":"https://eu1.make.com/api/v2","description":"EU1 production zone"},{"url":"https://eu2.make.com/api/v2","description":"EU2 production zone"},{"url":"https://us1.make.com/api/v2","description":"US1 production zone"},{"url":"https://us2.make.com/api/v2","description":"US2 production zone"},{"url":"https://eu1.make.celonis.com/api/v2","description":"Celonis EU1 production zone"},{"url":"https://us1.make.celonis.com/api/v2","description":"Celonis US1 production zone"}],"security":[{"token":["custom-property-structures:write"]}],"components":{"securitySchemes":{"token":{"type":"apiKey","name":"Authorization","in":"header","description":"Authorize the API call with your API token in the `Authorization` header with the value: `Token your-api-token`.\n\nIf you don't have an API token yet, please refer to the [\"Authentication\" section](/api-documentation/authentication) to learn how to create one.\n"}}},"paths":{"/custom-property-structures/custom-property-structure-items/{customPropertyStructureItemId}":{"delete":{"tags":["Custom properties / Structure items"],"summary":"Delete custom property structure item","description":"Deletes the specified custom property structure item. Use the `confirmed` parameter to confirm deleting the structure item.\nWhen you delete a custom property item, Make deletes the data filled in the item as well. Deleting custom property item data is irreversible.","parameters":[{"name":"customPropertyStructureItemId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure item. Get the item ID with the API call to [list custom property structure items](/api-reference/custom-properties/structure-items/get--custom-properties--custompropertystructureid--custom-property-structure-items.md)."},{"name":"confirmed","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItem":{"type":"number"}}}}}}}}}}}
```

## Update custom property structure item

> Updates the specified item of a custom property structure. Specify the attributes you want to update in the request body.\
> \
> You cannot update the item \`name\` and \`type\`.\
> \
> You can get the item ID with an API call to \[list custom property structure items]\(./get--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\
> \
> When you want to update the \`options\` of a \`multiselect\` or \`dropdown\` item, specify all the options for the property. The new set of options replaces the current options.<br>

```json
{"openapi":"3.0.0","info":{"title":"Web API v2 - Public ","version":"1.0.0"},"tags":[{"name":"Custom properties / Structure items","description":"The following endpoints allow you to manage items in a custom property structure.\n\nTo use custom properties, you have to:\n\n1. [Create a custom properties structure](../post--custom-property-structures.md).\n2. [Create custom properties structure items](./post--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n3. [Fill the items with data](../../scenarios/custom-properties-data/post--scenarios--scenarioid--custom-properties.md).\n\nRead more about custom properties in the [custom properties feature documentation](https://help.make.com/custom-scenario-properties).\"\n"}],"servers":[{"url":"https://eu1.make.com/api/v2","description":"EU1 production zone"},{"url":"https://eu2.make.com/api/v2","description":"EU2 production zone"},{"url":"https://us1.make.com/api/v2","description":"US1 production zone"},{"url":"https://us2.make.com/api/v2","description":"US2 production zone"},{"url":"https://eu1.make.celonis.com/api/v2","description":"Celonis EU1 production zone"},{"url":"https://us1.make.celonis.com/api/v2","description":"Celonis US1 production zone"}],"security":[{"token":["custom-property-structures:write"]}],"components":{"securitySchemes":{"token":{"type":"apiKey","name":"Authorization","in":"header","description":"Authorize the API call with your API token in the `Authorization` header with the value: `Token your-api-token`.\n\nIf you don't have an API token yet, please refer to the [\"Authentication\" section](/api-documentation/authentication) to learn how to create one.\n"}}},"paths":{"/custom-property-structures/custom-property-structure-items/{customPropertyStructureItemId}":{"patch":{"tags":["Custom properties / Structure items"],"summary":"Update custom property structure item","description":"Updates the specified item of a custom property structure. Specify the attributes you want to update in the request body.\n\nYou cannot update the item `name` and `type`.\n\nYou can get the item ID with an API call to [list custom property structure items](./get--custom-property-structures--custompropertystructureid--custom-property-structure-items.md).\n\nWhen you want to update the `options` of a `multiselect` or `dropdown` item, specify all the options for the property. The new set of options replaces the current options.\n","parameters":[{"name":"customPropertyStructureItemId","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the custom property structure item. Get the item ID with the API call to [list custom property structure items](/api-reference/custom-properties/structure-items/get--custom-properties--custompropertystructureid--custom-property-structure-items.md)."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"description":"Make displays the item label to users in the scenario table header.","type":"string"},"description":{"description":"The description of the custom property structure item. You can review the item description in the **Scenario properties** tab in the Organization dashboard.","type":"string"},"options":{"description":"The options available to users when filling in the item data. For the data types `dropdown` and `multiselect`, fill in an object like `{\"options\":[{\"value\": \"Marketing\"}, {\"value\": \"Sales\"}]}`.\nYou can omit the `options` parameter for the rest of the data types. "},"required":{"description":"Set to `true` if you require to fill in data to the structure item when adding custom property data. Default value is `false`.","type":"boolean"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"customPropertyStructureItem":{"type":"object","properties":{"id":{"type":"integer"},"created":{"type":"string","format":"date-time"},"belongers":{"type":"array","items":{"type":"object","properties":{"belongerId":{"type":"integer"},"belongerType":{"type":"string"},"associatedTypes":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}}}}}
```
