Build with it¶
One page per capability. Each opens with what you can build and the code to build it, and keeps the pod-level detail folded away at the bottom for when something surprises you.
Every page shows its code under Client and API tabs. Pick one and the whole site follows — see Client or API? if you have not chosen yet.
-
Getting a WebID to call with, staying signed in, and handling several accounts on one device.
-
What your app asks the user for — a level on the whole pod, on folders, or on a data module — and what each verb needs.
-
Read, write, patch, list, copy and stream. The verbs everything else is built on.
-
Address books, contacts and groups as vCard RDF — interoperable with other Solid contact apps.
-
A wallet on the pod: passes, their artifacts and images.
-
Give someone access to a resource, track what you have given and received, share by link.
-
The Linked Data Notifications inbox — offers, withdrawals and access requests.
-
What WAC and ACP actually enforce, and which one your pod server speaks.
-
How data is found on a pod by type instead of by path.
-
The pluggable sink, what is reported, and what never is.
Two things that apply everywhere¶
Every call takes a webId first. A device can hold several signed-in Solid identities at
once, so the WebID chooses which session signs the request. Keep the one you got at sign-in.
Every client call needs a grant. The user approves what your app may do on Solid Share's
consent screen, and a call outside that scope fails with NotPermissionException. Ask for the
least you need; App access has the verb table.
The client path waits for its binding by itself. Every call is a suspend function that
waits for the bound service, so nothing has to be collected first. Each client still exposes a
Flow<Boolean> of its connection for UI that wants to show it:
The api path has no binding at all — there is no service between your app and the pod.
Not finding it here?¶
- The generated API reference has every signature.
- Adding a data module covers extending the library with a new collection type of your own.
- The client sample app runs every call against a live pod beside the code that made it.