Headless Mode

Sebastian Schürmanns

Typemill provides a robust internal API that grants access to nearly all of its features. While primarily designed to support the author interface, this API also includes several endpoints for external use and a headless mode. These endpoints allow you to access markdown content, metadata, item objects, navigation elements, and user details.

Screenshot of the api documentation for Typemill

You can leverage these endpoints to create a centralized content hub and serve external platforms with your Typemill content. We are committed to continuously expanding the number of endpoints available for headless usage with new releases.

Activate the API

Unlike many other APIs, access to Typemill's API is user-specific. This offers the significant advantage of managing access and rights through user management. Consequently, it is straightforward to create multiple users with varying API access for different use cases. You can easily activate, deactivate, or modify access with just a few clicks. To get started, simply enable the API checkbox for a user, and you can start immediately.

Authentication and Authorization

API calls require Basic Authentication, utilizing the username and password of the respective user. The permissions for these calls are determined by the user’s role. You can enhance security by limiting API access to specific IP addresses or hostnames. These configurations can be adjusted in the Developer tab of the system settings.

Limitations

Unlike traditional APIs that utilize fixed IDs to identify pages, Typemill employs relative URLs. This method functions seamlessly within the author interface but may present challenges for external integrations. If a page's URL changes, external systems relying on the previous URL may lose access to the content. To address this, we have introduced an alternative endpoint that allows pages to be located using their slugs, which are more stable and less likely to change frequently.

Read the Docs

For further information, please refer to the chapter about the API in the Typemill documentation.