Menu endpoint hangs when access callback returns false
To return 403 Forbidden in your callback function, use drupal_access_denied() function something like:

function user_is_api_user() {
  watchdog("GLOBALS", "&lt;pre&gt;" . print_r($GLOBALS['user'], TRUE) . "&lt;/pre&gt;");
  if ($GLOBALS['user']-&gt;name !== 'api'){
    drupal_access_denied();
  }
}