This section describes the key concepts and terminology you need to understand to use the CSP API effectively. Keep in mind that the CSP API represents a state transitional system. Client applications will interact with state-managed methods via ReST (Representational State Transfer) to implement various operations, including uploading and downloading files, renaming or moving files or containers, creating containers, files, or contacts, updating the modification time of a file or container, and assigning permission to access a file or container to a given account.
An account represents a virtual allocation of storage associated with a set of credentials. Typically, those credentials are an account name and a password. Every object on the system is owned by an account, and the owner of an object can grant access to that object to holders of other accounts on the system or users outside of the system.
Authentication is the process by which an account’s identity is verified. A client will present credentials using a supported authentication mechanism, such as HTTP basic authentication. Those credentials are checked, if necessary, before an operation is performed.
One of the main benefits of the Mezeo system is the ability for one account to allow others access to the account’s files and containers. A client accomplishes this by adjusting the permissions on the object. The allowable permissions are read, write, delete, and create.
The read, write, and delete permissions are meaningful for both files and containers. The create permission is only meaningful for containers and allows the creation of objects within the container. Permissions can be specified in any combination. Permissions should in no way be interpreted as roles for another account.
A container is an object that can contain files and other containers. The URI of a container will remain the same for the life of the container as long as the container’s owner does not change. Moving a container between accounts will cause the URI of the container to change.
A file is an object that can contain data, but not other files or containers.
An object is an item to which metadata can be attached. Examples of objects include files, containers, and accounts. All objects are identified by their URI.
All objects, including accounts, contacts are uniquely identified by and accessed through their URI (Uniform Resource Identifier).