client.elements
Elements API resource.
Accessed via client.elements.
Usage
const element = await client.elements.create({
workspaceId: "wsp_abc123",
name: "RevenueCard",
});
// Write the source file, then build:
await client.elements.updateVersionFile({
versionId: element.defaultVersionId!,
path: "src/element.tsx",
content: source,
});
const build = await client.elements.build({
id: element.id,
versionId: element.defaultVersionId!,
});Methods
build
Trigger a build for a specific element version.
build(params: BuildElementParams): Promise<Build>Types: BuildElementParams · Build
create
Create a new element.
create(params: CreateElementParams): Promise<Element>Types: CreateElementParams · Element
createVersionFile
Create a file in a specific element version.
createVersionFile(params: CreateElementVersionFileParams): Promise<SuccessResponse>Types: CreateElementVersionFileParams · SuccessResponse
delete
Soft-delete an element.
delete(params: DeleteElementParams): Promise<SuccessResponse>Types: DeleteElementParams · SuccessResponse
deleteVersionFile
Delete a file from a specific element version.
deleteVersionFile(params: DeleteElementVersionFileParams): Promise<SuccessResponse>Types: DeleteElementVersionFileParams · SuccessResponse
getBundle
Fetch the element's active bundle JS (resolves to the default version).
GET /api/elements/:id/bundle
Returns the raw JavaScript text. Pin to a version with
versions.getBundle({ id, versionId }).
async getBundle(params: GetElementBundleParams): Promise<string>Types: GetElementBundleParams
const js = await client.elements.getBundle({ id: "elm_abc123" });getPreview
Get a preview session's current state.
getPreview(params: { sessionId: string }): Promise<unknown>keepalivePreview
Heartbeat a preview session. Call every ~30s while the preview is visible to prevent the idle reaper from tearing it down.
keepalivePreview(params: { sessionId: string; }): Promise<{ id: string; status: string }>list
List elements.
list(params?: Omit<ListElementsParams, "filter" | "orderBy"> & { filter?: ElementFilter; orderBy?: ElementOrderBy[]; } & ElementShorthands): Promise<Page<Element>>Types: ListElementsParams · ElementFilter · ElementOrderBy · ElementShorthands · Page · Element
listFiles
List files in an element's working tree.
listFiles(params: ListElementFilesParams): Promise<AppFileListResponse>Types: ListElementFilesParams · AppFileListResponse
listVersionFiles
List files in a specific element version.
listVersionFiles(params: ListElementVersionFilesParams): Promise<AppFileListResponse>Types: ListElementVersionFilesParams · AppFileListResponse
purge
Permanently delete a soft-deleted element.
purge(params: PurgeElementParams): Promise<SuccessResponse>Types: PurgeElementParams · SuccessResponse
readVersionFile
Read a file's content from a specific element version.
readVersionFile(params: ReadElementVersionFileParams): Promise<AppFileContentResponse>Types: ReadElementVersionFileParams · AppFileContentResponse
restore
Restore a soft-deleted element.
restore(params: RestoreElementParams): Promise<Element>Types: RestoreElementParams · Element
retrieve
Get a single element.
retrieve(params: RetrieveElementParams): Promise<Element>Types: RetrieveElementParams · Element
startPreview
Start a live preview sandbox for a version.
POST /api/elements/:id/versions/:versionId/preview
startPreview(params: { id: string; versionId: string }): Promise<unknown>stopPreview
Stop a preview session and tear down the sandbox.
stopPreview(params: { sessionId: string }): Promise<SuccessResponse>Types: SuccessResponse
update
Update an element.
update(params: UpdateElementParams): Promise<Element>Types: UpdateElementParams · Element
updateVersionFile
Update a file in a specific element version.
updateVersionFile(params: UpdateElementVersionFileParams): Promise<SuccessResponse>Types: UpdateElementVersionFileParams · SuccessResponse
client.elements.versions
Raw-text bundle accessors scoped to an element version. Basic CRUD on
versions lives at client.elementVersions; file CRUD lives directly
on client.elements as *VersionFile methods (manifest-driven).
Accessed via client.elements.versions.
getBundle
Fetch the compiled bundle JS for a specific version.
GET /api/elements/:id/versions/:versionId/bundle
async getBundle(params: GetElementVersionBundleParams): Promise<string>