diff --git a/docs/abra/hack.md b/docs/abra/hack.md
index 71a55090c..24f9614b4 100644
--- a/docs/abra/hack.md
+++ b/docs/abra/hack.md
@@ -20,6 +20,47 @@ Our [Drone CI configuration](https://git.coopcloud.tech/coop-cloud/abra/src/bran
 
 Please use the [conventional commit format](https://www.conventionalcommits.org/en/v1.0.0/) for your commits so we can automate our change log.
 
+### Using the `abra` public API
+
+Warning, there is currently no stability promise for the `abra` public API! Most of the internals are exposed in order to allow a free hand for developers to try build stuff. If people start to build things then we can start the discussion on what is useful to have open/closed and keep stable etc. Please let us know if you depend on the APIs!
+
+The `pkg.go.dev` documentation is [here](https://pkg.go.dev/coopcloud.tech/abra). Here's a brief example to get you going:
+
+```go
+package main
+
+import (
+	"context"
+	"fmt"
+	"log"
+
+	abraClient "coopcloud.tech/abra/pkg/client"
+	dockerClient "github.com/docker/docker/client"
+)
+
+func getClient(serverName string) (*dockerClient.Client, error) {
+	cl, err := abraClient.New(serverName)
+	if err != nil {
+		return nil, fmt.Errorf("getClient: %s", err)
+	}
+	return cl, nil
+}
+
+func main() {
+	cl, err := getClient("foo.example.com")
+	if err != nil {
+		log.Fatal(err)
+	}
+
+    // do stuff with the client...
+    // https://pkg.go.dev/github.com/docker/docker/client
+}
+```
+
+Some tools that are making use of the API so far are:
+
+* [`kadabra`](https://git.coopcloud.tech/coop-cloud/abra/src/branch/main/cmd/kadabra/main.go)
+
 ### Cross-compiling
 
 If there's no official release for the architecture you use, you can cross-compile `abra` very easily. Clone the source code from [here](https://git.coopcloud.tech/coop-cloud/abra) and then: