AccessRequirement <INTERFACE>
org.sagebionetworks.repo.model.AccessRequirement
Interface for JSON schema for AccessRequirement. The Access Requirement mechanism is distinct from the access control list in that it is controlled not by the entity owner but by a separate authority: Access Requirements are created and maintained by the Synapse Access and Compliance Team (ACT). ACTAccessRequirements can only be approved by the ACT. Self-sign Access Requirements can be approved by the user desiring access, but said user first has to meet 'terms of use' associated with the requirement.
Known Implementations:
ACTAccessRequirementInterface,  SelfSignAccessRequirementInterface,  LockAccessRequirement| Field | Type | Description |
|---|---|---|
| versionNumber | INTEGER | The version number issued to this version on the object. |
| id | INTEGER | The unique immutable ID. Provided by the system, the user may not set this field. |
| description | STRING | Depricated. Replaced by name. |
| name | STRING | Name of the AR. Limited to 50 characters and must be unique. Required. |
| etag | STRING | Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time an entity is updated it is used to detect when a client's current representation of an object is out-of-date. |
| createdOn | STRING | The date this object was created. Provided by the system, the user may not set this field. |
| modifiedOn | STRING | The date this object was last modified. Provided by the system, the user may not set this field. |
| createdBy | STRING | The user that created this object. Provided by the system, the user may not set this field. |
| modifiedBy | STRING | The user that last modified this object. Provided by the system, the user may not set this field. |
| subjectsDefinedByAnnotations | BOOLEAN | Defaults to 'false'. When 'true', the subjects controlled by this AR are defined by the the'_accessRequirementIds' annotations on individual entities. This property is mutually exclusive with 'subjectIds'. If this is set to 'true' then 'subjectIds' must be excluded or empty. |
| subjectIds | ARRAY<RestrictableObjectDescriptor> | The IDs of the items controlled by this Access Requirement when 'subjectsDefinedByAnnotations=false'. This property is mutually exclusive with 'subjectsDefinedByAnnotations'. When 'subjectsDefinedByAnnotations=true' then this property must be empty or excluded. Required when creating or updating and 'subjectsDefinedByAnnotations=false' or 'subjectsDefinedByAnnotations' is excluded. |
| accessType | ACCESS_TYPE | The enumeration of possible permission. |
| concreteType | STRING | Indicates which type of AccessRequirement this object represents. Provided by the system, the user may not set this field. |