The API (short for Application Programming Interface) is the primary way to communicate with a running Zettelstore. Most integration with other systems and services is done through the API. The web user interface is just an alternative, secondary way of interacting with a Zettelstore. Background The API is HTTP-based and uses plain text and symbolic expressions as its main encoding formats for exchanging messages between a Zettelstore and its client software. There is an overview zettel that shows the structure of the endpoints used by the API and gives an indication about its use. Authentication If authentication is enabled, most API calls must include an access token that proves the identity of the caller. Authenticate an user to obtain an access token Renew an access token without costly re-authentication Provide an access token when doing an API call Zettel lists List all zettel Query the list of all zettel Determine a tag zettel Determine a role zettel Working with zettel Create a new zettel Retrieve metadata and content of an existing zettel Retrieve metadata of an existing zettel Retrieve evaluated metadata and content of an existing zettel in various encodings Retrieve parsed metadata and content of an existing zettel in various encodings Update metadata and content of a zettel Rename a zettel Delete a zettel Various helper methods Retrieve administrative data Execute some commands Check for authentication Refresh internal data