Data types¶
This section describes the data types returned by the API.
Roles¶
Three built-in roles (permission/clearance levels) exist for accsyn users. The role determines which entities and attributes can be read and written through the API:
- Administrators (admin); Full read/write access to all data and workspace configuration.
- Employees (employee); Full access to jobs and data on volumes with explicit access granted.
- Standard users (standard); External/remote users who receive deliveries and access resources (shared folders, homes, collections, compute resources) only through explicit ACLs (Access Control Lists).
Note
Bound to each role is a set of rights (permissions), an API key can be created with explicit rights.
Entities¶
Data read from accsyn using the API arrives as JSON dictionaries, categorised by entity types:
| Entity type: | Description: | Admin: | Employee: | Standard: | |||
|---|---|---|---|---|---|---|---|
| Read | Write | Read | Write | Read | Write | ||
| User | Users and their profile data | YES | YES | YES 1 | YES 1 | YES 2 | YES 2 |
| Workspace | Global workspace settings | YES | YES | YES | no | no | no |
| Queue | A queue of jobs (transfers, renders (compute), deliveries, …) to be executed |
YES | YES | YES | no | no | no |
| Transfer | A file transfer job with each task being a file of folder to transfer (was formerly known as “job”) |
YES | YES | YES | YES | YES 3 | YES 3 |
| Delivery | A delivery package containing one or more file(s) and/or folder(s) to be delivered to one or more recipients |
YES | YES | YES | YES | YES 4 | YES 4 |
| Request | A request package containing one or more file(s) and/or folder(s) to be requested from one or more senders |
YES | YES | YES | YES | YES 4 | YES 4 |
| Stream | A video stream of one or more files to be streamed and/or downloadable by one or more recipients |
YES | YES | YES | YES | YES 4 | YES 4 |
| Task | A file/directory that should be transferred within a job. |
YES | YES | YES | YES | YES 3 | YES 3 |
| Folder | Defines a sub-directory beneath a volume that should be granted access through ACLs to one or more standard users. |
YES | YES | YES | YES 5 | YES 6 | YES 6 |
| Collection | A virtual shared folder containing one or more files and/or folders to be granted access through ACLs to one or more standard users. |
YES | YES | YES | YES 5 | YES 6 | YES 6 |
| Home | Defines the special home sub-directory beneath a volume that should be granted access through ACLs to a specific user. |
YES | YES | YES | YES 5 | YES 6 | YES 6 |
| Volume | Defines a directory, typically on a network volume, available to accsyn and granted access through ACLs to one or more employees. |
YES | YES | no | no | no | no |
| Site | A physical or cloud location where accsyn can be deployed |
YES | YES | YES | no | no | no |
| Server | A workspace file transfer endpoint or compute node |
YES | YES | YES | no | no | no |
| User server | A server running remotely in user space for unattended file deliveries and globally mapped shares. |
YES | YES | YES | YES | YES 1 | YES 1 |
| Client | A user file transfer endpoint running in app or web browser. |
YES | YES | YES | YES | YES 1 | YES 1 |
| ACL | Access control list defining what a user has access to (workspace, folder, delivery etc.) |
YES | YES | YES | YES | YES 1 | YES 1 |
- 1 Their own and standard users.
- 2 Only their own.
- 3 If involved in the job as sender or receiver.
- 4 If an explicit recipient.
- 5 Except admin or other employee home shares.
- 6 Home share and share given explicit access through ACL.
A schematic view of the entity types and relationsship can be located here:
https://support.accsyn.com/developer
To retrieve a list of all known entity types:
session.find("entitytypes")
This returns a list of entity type strings — for example ["user","organization","job",..].
Attributes¶
Each entity has its own attributes, such as id or code (accsyn’s abbreviation for a unique name).
To retrieve known attributes for an entity:
session.find('attributes WHERE entitytype=delivery')
This returns a list of attributes a delivery entity can have — for example ["id","code","status",...].
Note
Available attributes depend on the API user’s role/clearance level.
By default, all readable attributes are returned. To return attributes only allowed during creation and edit:
session.find('attributes WHERE entitytype=folder', create=True)
session.find('attributes WHERE entitytype=folder', update=True)