function civicrm_activity_check_params looks for the following items in an activity api entry:
-'activity_type_id' or 'activity_name'
However, submitting an activity entry with just these fields leads to a CiviCRM error that there is 'Not enough data to create the activity object'. Looking at the simple test for the Activity API, the 'subject' field is also required by the CiviCRM core. Setting 'subject' in the $params array does create the activity entry properly.
I've attached a patch to Activity.php that will check the 'subject' field as part of civicrm_activity_check_params().