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.
⚠️ DISCLAIMER
K2V AND ADMIN SDK ARE TECHNICAL PREVIEWS. The following limitations apply:
- The API is not complete, some actions are possible only through the 
garagebinary - 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 
#garage:deuxfleurs.fr, 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.
S3
De-facto standard, introduced by Amazon, designed to store blobs of data.
K2V
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:
Administration
Garage operations can also be automated through a REST API. We are currently building this SDK for Python, Javascript and Golang.
More information: