LTD Keeper provides a simple RESTFul API for both administering and browsing documentation resources.

Users and authentication

LTD Keeper requires authentication for POST/PUT/PATCH/DELETE operations, but GET requests can be anonymous.

Authenticated API users have a username and password, but a token must be generated for requests. See the Authentication page for information about obtaining a token.

Note that there is no public API for registering new users.


The LTD Keeper API is in beta and can be changed without notice. In the future, we may elect to version the API through the Accept header.

Content types

All data in the bodies of requests and responses is application/json.


LTD Keeper’s API expresses three basic resource types:


A Product represents a software project or a writing project. Generally speaking, a Product maps to a GitHub repository or an Eups meta-product.


An instance of a Product’s documentation is a Build. Builds are immutable; updating a Product’s documentation means creating/uploading a new Build.


Editions represent stable URLs where a reader can expect to find different versions of a Product’s documentation. Examples of Editions might be ‘latest’ that tracks documentation for the master branch of a Product, or a ‘v1’ Edition for that released version of a product. Although Editions have stable URLs, they can be updated by pointing to a different Build.