Skip to content

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.

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.

Write 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.

Write response
{"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}}}}
Read the file
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.

Read the file through the shell
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.

Write application state
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"}}}'
Read application state
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.