1. A system for an application programming interface (API) notebook tool, comprising: a processor configured to: receive a request for a client for calling an API for a service at the API notebook tool; send a request for an API specification from the API notebook tool to a library for the API specification, wherein the API specification includes a description of one or more APIs in an API modeling language including the API for the service; request the API specification using the library for the API specification to request the API specification from a web-based hosting service and return the API specification to the library for the API specification; receive the API specification from the library for the API specification, wherein a user can view or edit the API specification using the API notebook tool; parse the description of the API for the service in the API specification using the library for the API specification and the API notebook tool; dynamically generate the client for calling the API for the service using the library for the API specification and the API notebook tool, wherein the client for calling the API for the service is dynamically generated based on the API specification; and convert the API into an object model stored as a note in a data store, wherein the note includes a coded implementation of the client and documentation for a documented usage scenario of the API implemented by the client, wherein user credentials for authenticating with the service are cached locally at a client device and are not stored in the data store, and wherein if a results cell includes confidential content, the API notebook tool automatically or via user prompts replaces the confidential content with a placeholder that indicates that the confidential content would be there without compromising confidentiality by including the confidential content itself; and a memory coupled to the processor and configured to provide the processor with instructions.