Quickstart
Use the hosted wabe Cloud API. Sign in to Dashboard, create a project and issue a project API key. Replace YOUR_PROJECT_API_KEY in each request with that key.
1. Create a disk
Section titled “1. Create a disk”curl --fail-with-body -X PUT "https://api.wabe.sh/v1/disks/demo" \ -H "Authorization: Bearer YOUR_PROJECT_API_KEY"The API returns {"name":"demo"}. Use the same key to access the disk in your project. Repeating the request keeps the existing disk.
2. Write and read a file
Section titled “2. Write and read a file”printf 'Hello wabe Disk\n' | curl --fail-with-body \ -X PUT "https://api.wabe.sh/v1/disks/demo/files/hello.txt" \ -H "Authorization: Bearer YOUR_PROJECT_API_KEY" \ --data-binary @-Generated IDs and edit timestamps vary.
{"bytes":16,"metadata":{"version":2,"object_id":"00000000-0000-4000-8000-000000000001","version_id":"00000000-0000-4000-8000-000000000002","branch_id":"00000000-0000-4000-8000-000000000003","revision":1,"first_edit_at_ms":1792083906000,"last_edit_at_ms":1792083906000,"mode":33188,"kind":{"File":{"content_root":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","size":16,"chunk_bytes":65536}}}}curl --fail-with-body "https://api.wabe.sh/v1/disks/demo/files/hello.txt" \ -H "Authorization: Bearer YOUR_PROJECT_API_KEY"The response body is the file’s bytes: Hello wabe Disk followed by a newline.
3. Execute a command
Section titled “3. Execute a command”curl --fail-with-body --no-buffer \ "https://api.wabe.sh/v1/disks/demo/exec?kind=bash" \ -H "Authorization: Bearer YOUR_PROJECT_API_KEY" \ --data-binary 'cat /hello.txt'Execution returns newline-delimited JSON. Output records carry base64 bytes; the final record contains the exit code. HTTP 200 confirms that the stream started. Check the terminal exit record to determine whether the command succeeded. The streaming guide includes a decoder.
4. Store a JSON value
Section titled “4. Store a JSON value”curl --fail-with-body "https://api.wabe.sh/v1/disks/demo/kv/app" \ -H "Authorization: Bearer YOUR_PROJECT_API_KEY" \ --json '{"op":"put","key":"settings","value":{"type":"json","value":{"theme":"dark"}}}'curl --fail-with-body "https://api.wabe.sh/v1/disks/demo/kv/app" \ -H "Authorization: Bearer YOUR_PROJECT_API_KEY" \ --json '{"op":"get","key":"settings"}'The result contains found:true and an entry with the stored value. The app namespace is created on use.
Writes persist in the background. See persistence and concurrency for acknowledgement semantics.
Continue with Filesystem, Redis, SQLite, Actors or Git.