# List

Property Type: `list`

List types store an array of references. Lists are used to model One-to-Many Relationships.

### Property Options

| Name                 | Type                                     | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------- | ---------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sourceObject         | String                                   | 0       | The name of the source object for the list.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| grant                | Access Level (Integer) See Access Levels |         | This defines what level of access you have to the expanded list of object instances.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| roles                | ObjectID\[]                              |         | This defines a set of roles to merge into the calling principal for access to the expanded object list.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| skipAcl              | Boolean                                  | false   | Select this if you'd like the matching to disregard all ACL rules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| where                | String                                   |         | A stringified where clause consisting of local instance properties linking the list references. Example: "{"c\_doc\_ref": "{{input.\_id}}" }"                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| linkedProperty       | String                                   |         | <p>When set, connects the property to a top-level, indexed, readable, indexed, custom Reference in the sourceObject that points back to the current object.<br><br>When using a linked property, the where condition is augmented with {c\_parent: "{{input.\_id}}"}, which in many case makes the where clause obsolete.<br><br>When using write-through, newly created children will automatically set the liked property to the identifier of the list holder.<br><br>To further secure the relationship, the child reference can be marked as cascadeDelete:true and writable:false.</p> |
| readThrough          | Boolean                                  | false   | Allows reading objects in a list using specific identifiers and overriding list rules (defaultAcl, grant, roles)                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| writeThrough         | Boolean                                  | false   | Allows creating and updating objects in a list using specific identifiers and overriding list rules (createAcl/defaultAcl, grant, roles)                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| updateOnWriteThrough | Boolean                                  | false   | When true, write-through events bubble up to the current instance and modify the updated date, firing any triggers and updating the ETag where required.                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| inheritInstanceRoles | Boolean                                  | false   | When true, instance roles held by the caller on the current instance are applied to the list instances.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| createAcl            | Object\[]                                | \[]     | An overriding set of acl rules to apply to creation of child object instances when write-through is enabled.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| defaultAcl           | Object\[]                                | \[]     | An overriding set of acl rules to apply to reading of child object instances when read/write-through is enabled.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

**Base property options not available:**

* array
* indexed
* unique
* writable
* minItems
* maxItems
* canPull
* canPush
* maxShift
* writeOnCreate

##
