I'm looking for a way to monitor API calls. Specifically when an API update came through. We have a hosting service that sends trial user info to the SFDC lead object through the SFDC API. There are questions as to whether some of the calls are reaching SFDC. Is there a way to see API call details? Or a way to monitor failed API calls?
There is now the Event Monitoring API (Paid Feature). You can use this with the API EventType to get a complete log of all the calls that were made on a certain day. You can use the METHOD_NAME, USER_ID, CLIENT_ID to identify who and what was making each call.
I've put some additional details about this in Monitoring your Salesforce API usage
In case you need more general overview, it can be useful to see API Usage Report. You can find it under Reports->Administrative Reports->API Calls Made Within Last 7 Days. It helped me quickly locate a source of an excessive amount of API requests.
There is no specific log per API call. However, you can enable the debug log for the user that the application is using to log in as under Setup->Monitoring->Debug Log. That will track up to 20 API calls (or inserts, updates, deletions, VisualForce pages, etc..). If you're actively monitoring it you can continually click the reset link to reset the limit and capture more logs.
If that's more detail than you're looking for and the application logs in each time it needs to use the Web Service API (rather than maintaining a session) you can simply look at that user's login history at the bottom of the user page. Look for a login type that isn't "Application" or "Sync".
If Setup->Monitoring->Debug logs won't meet your needs, you can do a few things.
Use an AppExchange Application to log items. http://appexchange.salesforce.com/listingDetail?listingId=a0N30000003IZ5PEAW for example. There are a few items on the AppExchange that meet this requireemtn and are free.
Build your own logging application. By combining Apex, Apex Triggers, Custom Objects, and SFDC Content or Documents you could build your own logging application. Your Apex Code could log the activities and persist to a custom object or document, etc.
If you have an active session started you can send an ajax request to the server just like the ApexCSIPage (Developer Console) does.
You can then parse the response into whatever report you want.
Request URL:https://na9.salesforce.com/_ui/common/apex/debug/ApexCSIAPI Request Method:POST Status Code:200 OK Request Headers Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Connection:keep-alive Content-Length:681 Content-Type:application/x-www-form-urlencoded; charset=UTF-8 Cookie:s_vi=[CS]v1|27BCFAA0050112C6-4000013080112CB5[CE]; web_core_geoCountry=us; HTPortal=%22%7B%27HTVersion%27%3A%20%272.0%27%7D%22; ApexCSIPageCookie=true; umps_clientId=364076-005E0000001JcFS; rememberUn=false; webact=%7B%22l_vdays%22%3A0%2C%22l_visit%22%3A1345049058716%2C%22session%22%3A1345058910089%2C%22l_search%22%3A%22%22%2C%22l_dtype%22%3A%22%22%2C%22l_page%22%3A%22SFDC%3Aus%3Alogin%22%2C%22counter%22%3A33%2C%22pv%22%3A1%2C%22f_visit%22%3A1343948212140%2C%22version%22%3A%22w172.1%22%2C%22developer%22%3A1343948212140%2C%22l_cloud%22%3A%22No%20Cloud%22%2C%22seg%22%3A%22customer%3Aus%22%2C%22customer%22%3A1344039343400%2C%22d%22%3A%2270130000000sUVv%22%7D; email@example.com_connect; com.salesforce.LocaleInfo=us; oinfo=c3RhdHVzPUZSRUUmdHlwZT0zJm9pZD0wMERFMDAwMDAwMFppTE0=; sfdc_lv2=KxG83HmRj82pZgH6/8VmeaQGh3JcSEKazKnqlR327YjjlxoAwTMdZL4JugEcb9DQhgNzhuK04XPp/vR6ozLks9wJRr3qKuh0zGVSvmMIsabxlP8caB7jCRV0N4zlWLychwiM3diYYSnptp3OxEB7+70Ei2ZTi3b8reEpWshFjCWHYTdsPHRC/M1Fnra9kLfqUZo8Zta1RxVTBfxGkeRkRZI/ZYmGTITxSVMqBCiDXjjK1qwzdL+3XBFCGSfVGzczNMZPnpdlUMjiB6UFaPOGqvA/Gdl5Pu87vhaCD63i+0uYuhVe056tFomcU48Z1estPswdUiLRrIoaIxArV191ZlBGUZO/DThzEMg5rsqf6bPHgL2awX8cx/rsjIe17pPz4TEcl9TvNKJKu1Ir6sqaDaEA6SzTlSYRVlDSYMbcIWJEHDfsPo/5g9gti+DjvHSUI/FpsSUUGuVGLYWQVz9blGb7cSG1IjBipCLS53pkzVlZiMpnsWMY2P8NdxKfSMlEE=; disco=E:00DE0000000ZiLM:005E0000001JcFS:0; autocomplete=1; sid=00DE0000000ZiLM!ARwAQPohYMWG4oLkVRaDfPhsMq8LtStEpm4BVf5TjkihMwQrmqjaU1Ntik5NfwVlR4ovwOTB_xX7L1jFg3j7JwCrJ82cd9O.; sid_Client=0000001JcFS0000000ZiLM; clientSrc=188.8.131.52; oid=00DE0000000ZiLM; inst=APPE; lastlist=/01IE0000000R0EL?setupid=CustomObjects; setupopen= Host:na9.salesforce.com Origin:https://na9.salesforce.com Referer:https://na9.salesforce.com/_ui/common/apex/debug/ApexCSIPage User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11 X-Requested-With:XMLHttpRequest