App
The `App` entity.
Definition
TypeScript
interface App {
id: string;
workspaceId: string;
name: string;
description: string | null;
handle: string | null;
defaultVersionId: string | null;
status: "draft" | "live";
publicAccess: boolean;
pagesProjectId: string | null;
apiKeyId: string | null;
config: {
[x: string]: unknown;
nodeVersion?: string | undefined;
env?: Record<string, string> | undefined;
};
createdBy: string;
deletedAt: string | null;
retentionTier: "short" | "medium" | "long" | "none" | null;
createdAt: string;
updatedAt: string;
}Fields
| Field | Type | Notes |
|---|---|---|
id | string | readonly required |
workspaceId | string | required — Workspace that owns this app. |
name | string | required — Human-readable name shown in the UI. |
description | string | null | required — Optional longer-form description. |
handle | string | null | required — URL slug used in the deployed hostname ({handle}.aeontel.app). |
defaultVersionId | string | null | required — App version served as the default; null until first deploy. |
status | "draft" | "live" | required — Current lifecycle status of the app. |
publicAccess | boolean | required — When true, the deployed app is reachable without auth from any visitor; when false, the route worker enforces auth before serving. |
pagesProjectId | string | null | required — Cloudflare Pages project ID backing deploys, if provisioned. |
apiKeyId | string | null | required — API key the app uses to call Aeontel from its runtime. |
config | { [x: string]: unknown; nodeVersion?: string | undefined; env?: Record<string, string> | undefined; } | required — Per-app runtime configuration (node version, env, etc.). |
createdBy | string | required — User who created the app. |
deletedAt | string | null | required — ISO-8601 timestamp of soft-delete; null while active. Cleanup worker hard-deletes once deletedAt + retentionTier.days passes. |
retentionTier | "short" | "medium" | "long" | "none" | null | required — Retention tier snapshotted at delete time. short=7d, medium=30d, long=90d, none=never. Null while active. |
createdAt | string | readonly required — ISO-8601 timestamp of creation. |
updatedAt | string | readonly required — ISO-8601 timestamp of the last update. |