Your extension does not require any additional permissions to make AJAX calls from a single source. However, if api.library.edu does not set the corresponding CORS headers, you may need to request permission for cross origin for this domain:
{ "name": "My extension", ... "permissions": [ "http://api.library.edu/" ], ... }
From Google Docs:
Each running extension exists within its own separate security source. Without requesting additional privileges, the extension can use XMLHttpRequest to get resources as part of its installation.
...
By adding hosts or host matching patterns (or both) to the permissions section of the manifest file, the extension may request access to remote servers outside its origin.
If the extension already works, this may make me believe that cross-domain headers are already installed in the library API, and you wonβt need additional permissions.
source share