General notes for the supported node actions are documented here:
Add: Add data to the database. Any ID field passed into this operation will be ignored. You can pass in a GUID that we will use when we create the new record in the database. All Adds then return "our" ID that was auto generated by the database. You can then correlate your GUID to our ID, for later passing into update, delete, or nuke operations. You must pass a valid .net GUID into the GUID. If you do not pass in any ID or GUID, we will auto assign both ID and GUID and return them in the output results.
Update: Update data in the database. All update actions MUST have either the node ID or GUID passed in. Without one of those key fields, the update would fail. On update actions, if you want to reset a field to "empty string", you should pass an empty element (e.g.). If you want to leave an existing value in the db alone, just omit the field from your Xml (e.g. if you do not have afield on your update, that field will remain unchanged in the db, even when other fields get updated).
Delete: Mark a record as Deleted. All delete actions MUST have either the node ID or GUID passed in. If the table supports it, a soft-delete will be performed (e.g. Deleted flag set to 1). If the table doesn't support soft-delete, a Nuke will be performed automatically.
Nuke: Physically delete the specified record. All nuke actions MUST have either the node ID or GUID passed in.
Lookup: Lookup a record in the database, to retrieve data for it. Must have either ID or GUID passed in.
Transactional Support: Transactional Support is also now built into the WSI interface (and DB.cs class). To use transactions, just embed your instruction Xml nodes inside a <Transaction> element, e.g.: