API documentation describes what services an API offers and how to use those services, aiming to cover everything a client would need to know to use the API. Documentation is crucial for the development and maintenance of applications that use the API.  API documentation is traditionally found in documentation files, but can also be found in social media such as blogs, forums, and Q&A websites.  Traditional documentation files are often presented via a documentation system, such as Javadoc or Pydoc , that has a consistent appearance and structure. However, the types of content included in the documentation differs from API to API.  To facilitate understanding, API documentation can include description of classes and methods in the API as well as "typical usage scenarios, code snippets, design rationales, performance discussions, and contracts", but implementation details of the API services themselves are usually omitted. Restrictions and limitations on how the API can be used are also covered by the documentation. For example, documentation for an API function could note that its parameters cannot be null, or that the function itself is not thread safe .  Because API documentation is so comprehensive, it can be difficult for the writers to keep the documentation updated and for the users to read it carefully, potentially resulting in bugs .