Full API implementation.