client.elements

Elements API resource.

Accessed via client.elements.

Usage

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

TypeScript
build(params: BuildElementParams): Promise<Build>

Types: BuildElementParams · Build

create

Create a new element.

TypeScript
create(params: CreateElementParams): Promise<Element>

Types: CreateElementParams · Element

createVersionFile

Create a file in a specific element version.

TypeScript
createVersionFile(params: CreateElementVersionFileParams): Promise<SuccessResponse>

Types: CreateElementVersionFileParams · SuccessResponse

delete

Soft-delete an element.

TypeScript
delete(params: DeleteElementParams): Promise<SuccessResponse>

Types: DeleteElementParams · SuccessResponse

deleteVersionFile

Delete a file from a specific element version.

TypeScript
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 }).

TypeScript
async getBundle(params: GetElementBundleParams): Promise<string>

Types: GetElementBundleParams

TypeScript
const js = await client.elements.getBundle({ id: "elm_abc123" });

getPreview

Get a preview session's current state.

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

TypeScript
keepalivePreview(params: { sessionId: string; }): Promise<{ id: string; status: string }>

list

List elements.

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

TypeScript
listFiles(params: ListElementFilesParams): Promise<AppFileListResponse>

Types: ListElementFilesParams · AppFileListResponse

listVersionFiles

List files in a specific element version.

TypeScript
listVersionFiles(params: ListElementVersionFilesParams): Promise<AppFileListResponse>

Types: ListElementVersionFilesParams · AppFileListResponse

purge

Permanently delete a soft-deleted element.

TypeScript
purge(params: PurgeElementParams): Promise<SuccessResponse>

Types: PurgeElementParams · SuccessResponse

readVersionFile

Read a file's content from a specific element version.

TypeScript
readVersionFile(params: ReadElementVersionFileParams): Promise<AppFileContentResponse>

Types: ReadElementVersionFileParams · AppFileContentResponse

restore

Restore a soft-deleted element.

TypeScript
restore(params: RestoreElementParams): Promise<Element>

Types: RestoreElementParams · Element

retrieve

Get a single element.

TypeScript
retrieve(params: RetrieveElementParams): Promise<Element>

Types: RetrieveElementParams · Element

startPreview

Start a live preview sandbox for a version. POST /api/elements/:id/versions/:versionId/preview

TypeScript
startPreview(params: { id: string; versionId: string }): Promise<unknown>

stopPreview

Stop a preview session and tear down the sandbox.

TypeScript
stopPreview(params: { sessionId: string }): Promise<SuccessResponse>

Types: SuccessResponse

update

Update an element.

TypeScript
update(params: UpdateElementParams): Promise<Element>

Types: UpdateElementParams · Element

updateVersionFile

Update a file in a specific element version.

TypeScript
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

TypeScript
async getBundle(params: GetElementVersionBundleParams): Promise<string>

Types: GetElementVersionBundleParams