Using the API script writers can:
find nodes (via XPath and directly via NodeRef or path)
perform searches (including Lucene full-text searches, with sorted results)
walk node hierarchies
examine and modify the value of properties, aspects and associations
transform and manipulate content
create Groups, People and modify permissions
In addition, scripts can create new files, folders, or nodes of any type, copy/move/delete nodes and create/modify/remove child and target associations between nodes. All the usual Alfresco security and ACL permissions apply.
Scripts can also include (or 'import') other scripts. The developer can build libraries of scripts that are included at runtime to reduce copy/paste between script files.