CMIS provides a set of services to access and manage the content or repository. These services include:
Discovers information about the repository and the object types defined for the repository.
Traverses the folder hierarchy in a CMIS repository, and to locate documents which are checked out.
Executes ID-based CRUD functions (Create, Retrieve, Update, Delete) on objects in a repository.
|Multi-filing Services (optional)|
Puts an object in more than one folder (multi-filing), or outside the folder hierarchy (unfiling).
Searches for queryable objects in a repository.
Checks out, navigates to documents, or updates a Document Version Series (checkOut, cancelCheckOut, getPropertiesOfLatestVersion, getAllVersions, deleteAllVersions).
|Relationship Services (optional)|
Retrieves an object for its relationships.
|Policy Services (optional)|
Applies, removes, or queries for policies.
Returns and manages the Access Control List (ACL) of an object. ACL Services are not supported by all repositories.
Some repositories might not implement certain optional capabilities, but they are still considered as CMIS-compliant. Each service has binding which defines the way messages will be serialized and wired. Binding is based on HTTP and uses the Atom Publishing Protocol.