Build your own app

2 min

Garage has many API that you can rely on to build complex applications. In this section, we reference the existing SDKs and give some code examples.


K2V AND ADMIN SDK ARE TECHNICAL PREVIEWS. The following limitations apply:

  • The API is not complete, some actions are possible only through the garage binary
  • The underlying admin API is not yet stable nor complete, it can breaks at any time
  • The generator configuration is currently tweaked, the library might break at any time due to a generator change
  • Because the API and the library are not stable, none of them are published in a package manager (npm, pypi, etc.)
  • This code has not been extensively tested, some things might not work (please report!)

To have the best experience possible, please consider:

  • Make sure that the version of the library you are using is pinned (go.sum, package-lock.json, requirements.txt).
  • Before upgrading your Garage cluster, make sure that you can find a version of this SDK that works with your targeted version and that you are able to update your own code to work with this new version of the library.
  • Join our Matrix channel at, say that you are interested by this SDK, and report any friction.
  • If stability is critical, mirror this repository on your own infrastructure, regenerate the SDKs and upgrade them at your own pace.

About the APIs

Code can interact with Garage through 3 different APIs: S3, K2V, and Admin. Each of them has a specific scope.


De-facto standard, introduced by Amazon, designed to store blobs of data.


A simple database API similar to RiakKV or DynamoDB. Think a key value store with some additional operations. Its design is inspired by Distributed Hash Tables (DHT).

More information:


Garage operations can also be automated through a REST API. We are currently building this SDK for Python, Javascript and Golang.

More information: