This C++ SDK is built from scratch as a prototype for interacting with Appwrite's backend services.
- It allows users to perform a limited set of functionalities as of now,
- including the creation of databases, collections, and documents,
- while also enabling the retrieval of usage statistics and
- management of storage and account health.
This SDK is compatible with Appwrite server version 1.6.x.
Before you begin, ensure that you have conan & clang-format installed on your system.
- You can install
conanusingpip, - and
clang-formatusingapt
sudo apt install clang-format pip install conanClone the repository and run the following commands
mkdir build && cd build conan install .. --build=missing cmake .. makeInstall the SDK.
sudo make installSet the neccessary header files.
#include "AppwriteSDK/Appwrite.hpp"Once your SDK header is set, create the Appwrite service objects and choose the request to send.
std::string projectId = "<your-project-id>"; std::string apiKey = "<your-api-key>"; Appwrite appwrite(projectId, apiKey); // for the Databases instance Databases& databases = appwrite.getDatabases();#include "Appwrite.hpp" #include <iostream> int main() { std::string projectId = "<your-project-id>"; std::string apiKey = "<your-api-key>"; std::string databaseId = "<unique-database-id>"; std::string name = "<unique-database-name>"; bool enabled = true; Appwrite appwrite(projectId, apiKey); std::string response = appwrite.getDatabases().create(databaseId, name, enabled); return 0; } The Appwrite C++ SDK raises AppwriteException object with message, code and response properties. You can handle any errors by catching AppwriteException and present the message to the user or handle it yourself based on the provided error information. Below is an example.
try { // Send some request here } catch (const AppwriteException& ex) { std::cerr << "Exception: " << ex.what() << std::endl; }g++ -o <output-file-name> <your-file-name>.cpp -I/usr/local/include/AppwriteSDK -L/usr/local/lib -lAppwriteSDK -lcurl./output-file-nameFor a more detailed view of the implementations, please check out the example directory. Example
You can use the following resources to learn more and get help
- ๐ Getting Started Tutorial
- ๐ C++ SDK Docs
This project is licensed under the MIT License, and further details can be found in the LICENSE file.

