Skip to content

Quickstart

Terminal window
npm install @uiap/web-sdk
import { createUIAP } from "@uiap/web-sdk";
const uiap = createUIAP({
app: {
id: "my-app",
version: "1.0.0",
profile: "[email protected]",
},
transport: myTransport,
});
await uiap.start();

Add data-uiap-* attributes to your HTML elements:

<button
data-uiap-id="video.submit"
data-uiap-action="video.create"
data-uiap-risk="confirm"
>
Create Video
</button>

Or use programmatic bindings:

uiap.bindElement(document.querySelector("#submit"), {
id: "video.submit",
defaultAction: "video.create",
risk: "confirm",
});
uiap.registerAction(
{
id: "video.create",
kind: "domain",
risk: { level: "confirm", tags: ["external_effect"] },
},
async (ctx) => {
await app.actions.createVideo();
return { status: "succeeded", sideEffectState: "applied" };
}
);