Apps hooks
Hand-written shim. Generated CRUD hooks via ./apps.gen (`useListApps`, `useCreateApp`, `useRetrieveApp`, `useUpdateApp`, `useDeleteApp`, `useRestoreApp`). Hooks below cover the build/deploy mutations, the preview-session lifecycle, the live R2 file ops, version-scoped REST file ops, env vars, and the custom domain — none of which fit the manifest's standard CRUD kinds.
Usage
import Aeontel from "@aeontel/sdk";
import { AeontelProvider, useListApps } from "@aeontel/react";
const client = new Aeontel(import.meta.env.VITE_AEONTEL_API_KEY);
function App() {
return (
<AeontelProvider client={client}>
<AppsList workspaceId="wsp_abc123" />
</AeontelProvider>
);
}
function AppsList({ workspaceId }: { workspaceId: string }) {
const { data, isLoading } = useListApps({ workspace_id: workspaceId });
if (isLoading) return <p>Loading…</p>;
return (
<ul>
{data?.data.map((a) => (
<li key={a.id}>{a.name}</li>
))}
</ul>
);
}Hooks
useBuildApp composite
Trigger a build for an app version. Returns the freshly-created Build
row (status "pending") — poll via useRetrieveBuild({ id: result.id }).
Auto-invalidates build queries on success.
useBuildApp(options?: MutationOpts<Build, CreateBuildParams>)Types: Build · CreateBuildParams
const build = useBuildApp();
build.mutate({ appVersionId: "appver_abc123" });useCreateApp mutation
Create a new app.
useCreateApp(options?: MutationOpts<App, CreateAppParams>)Types: App · CreateAppParams
useCreateAppVersionFile mutation
Create a file in a specific app version.
useCreateAppVersionFile(options?: MutationOpts<SuccessResponse, CreateAppVersionFileParams>)Types: SuccessResponse · CreateAppVersionFileParams
useCreateDeploy mutation
Create a deploy from a specific build, or deploy an app's latest
successful build. Use this when you have a buildId and want to ship
a specific build; for "deploy this app's default version", use
.
useCreateDeploy(options?: MutationOpts<Deploy, CreateDeployParams>)Types: Deploy · CreateDeployParams
const deploy = useCreateDeploy();
deploy.mutate({ buildId: "bld_abc123" });useDeleteApp mutation
Soft-delete an app.
useDeleteApp(options?: MutationOpts<SuccessResponse, string>)Types: SuccessResponse
useDeleteAppEnvVar mutation
Delete an env var from an app's Pages project.
useDeleteAppEnvVar(options?: MutationOpts<SuccessResponse, { appId: string; name: string; }>)Types: SuccessResponse
const del = useDeleteAppEnvVar();
del.mutate({ appId: "app_abc123", name: "API_URL" });useDeleteAppVersionFile mutation
Delete a file from a specific app version.
useDeleteAppVersionFile(options?: MutationOpts<SuccessResponse, DeleteAppVersionFileParams>)Types: SuccessResponse · DeleteAppVersionFileParams
useDeployApp composite
Deploy a build. Returns the freshly-created Deploy row (status
"pending") — poll via useRetrieveDeploy({ id: result.id }).
Auto-invalidates deploy queries on success.
useDeployApp(options?: MutationOpts<Deploy, DeployAppParams>)Types: Deploy · DeployAppParams
const deploy = useDeployApp();
deploy.mutate({ id: "app_abc123", buildId: "bld_abc123" });useGetAppDomainForApp query
Get the custom domain attached to an app (or null). Takes the
app ID and reads apps.getDomain — different from the top-level
useRetrieveAppDomain which takes a domain row ID.
Pass { refetchInterval: POLL_ACTIVE } to watch a pending row
flip to active while the customer's CNAME is being verified.
useGetAppDomainForApp(id: string, options?: QueryOpts<AppDomain | null>)Types: AppDomain
const { data } = useGetAppDomainForApp("app_abc123");useGetAppPreview query
Poll the current state of a preview session. Pass refetchInterval
for polling.
useGetAppPreview(sessionId: string | null | undefined, options?: QueryOpts<AppPreviewSession>)Types: AppPreviewSession
const { data } = useGetAppPreview(sessionId, { refetchInterval: 2000 });useKeepalivePreview composite
Heartbeat — keeps a preview session from being reaped.
useKeepalivePreview();const keepalive = useKeepalivePreview();
keepalive.mutate({ sessionId: "appprv_abc" });useListAppEnvVars query
Fetch env vars for an app's Pages project.
useListAppEnvVars(appId: string, options?: QueryOpts<{ data: EnvVar[]; }>)const { data } = useListAppEnvVars("app_abc123");useListApps query
List apps with pagination and optional filtering.
useListApps(params?: Omit<ListAppsParams, | > & { filter?: AppFilter; orderBy?: AppOrderBy[]; } & AppShorthands, options?: QueryOpts<Page<App>>)Types: ListAppsParams · AppFilter · AppOrderBy · AppShorthands · Page · App
useListAppVersionFiles query
List files in a specific app version.
useListAppVersionFiles(appId: string, versionId: string, params?: { path?: string; }, options?: QueryOpts<AppFileListResponse>)Types: AppFileListResponse
const { data } = useListAppVersionFiles("app_abc123", "appver_def456", {
path: "src",
});usePurgeApp composite
Permanently delete a soft-deleted app.
usePurgeApp(options?: MutationOpts<SuccessResponse, PurgeAppParams>)Types: SuccessResponse · PurgeAppParams
useReadAppVersionFile composite
Read a file's content from a specific app version.
useReadAppVersionFile(versionId: string, path: string, options?: QueryOpts<AppFileContentResponse>)Types: AppFileContentResponse
const { data } = useReadAppVersionFile("appver_abc123", "src/index.ts");useRemoveAppDomain mutation
Detach the app's custom domain.
useRemoveAppDomain(options?: MutationOpts<SuccessResponse, RemoveAppDomainParams>)Types: SuccessResponse · RemoveAppDomainParams
const remove = useRemoveAppDomain();
remove.mutate({ id: "app_abc123" });useRestoreApp composite
Restore a soft-deleted app.
useRestoreApp(options?: MutationOpts<App, string>)Types: App
useRetrieveApp query
Get a single app by ID.
useRetrieveApp(id: string, options?: QueryOpts<App>)Types: App
useSetAppDomain composite
Attach (or replace) the app's custom domain. Invalidates the
appKeys.domain(id) cache + the app detail so the overview shows
the new URL.
useSetAppDomain(options?: MutationOpts<AppDomain, SetAppDomainParams>)Types: AppDomain · SetAppDomainParams
const set = useSetAppDomain();
set.mutate({ id: "app_abc123", hostname: "app.acme.com" });useSetAppEnvVar composite
Set (create or update) an env var on an app's Pages project.
useSetAppEnvVar(options?: MutationOpts<SuccessResponse, { appId: string; name: string; value: string; }>)Types: SuccessResponse
const setVar = useSetAppEnvVar();
setVar.mutate({ appId: "app_abc123", name: "API_URL", value: "https://..." });useStartAppPreview composite
Start (or wake) a live preview session for an app version.
Returns the session row in hydrating status — poll
useGetAppPreview until status === "ready" to get the URL.
useStartAppPreview(options?: MutationOpts<AppPreviewSession, { appVersionId: string; }>)Types: AppPreviewSession
const start = useStartAppPreview();
start.mutate({ appVersionId: "appver_abc123" });useStopAppPreview composite
Stop a preview session.
useStopAppPreview(options?: MutationOpts<SuccessResponse, { sessionId: string; }>)Types: SuccessResponse
const stop = useStopAppPreview();
stop.mutate({ sessionId: "appprv_abc" });useUpdateApp mutation
Update an app (name, description, handle, publicAccess, defaultVersionId, config).
useUpdateApp(options?: MutationOpts<App, UpdateAppParams>)Types: App · UpdateAppParams
useUpdateAppVersionFile mutation
Update a file in a specific app version.
useUpdateAppVersionFile(options?: MutationOpts<SuccessResponse, UpdateAppVersionFileParams>)