Skip to content

GCP.AndroidManagement reference

Source: src/GCP/AndroidManagement/Enterprise.ts

An Android Management API enterprise.

Enterprises have no labels field, so Alchemy tracks the enterprise by its resource name; without state it is found by display name, and one found under an explicit (non-generated) display name is reported as unowned. Customer-managed enterprises need signupUrlName plus enterpriseToken; otherwise an EMM-managed enterprise is created with agreementAccepted. Display name, color, notifications, logo, terms, sign-in details, and contact info update in place. Changing projectId replaces the enterprise. enterprises.delete only works for EMM-managed enterprises.

EMM-managed enterprise

const enterprise = yield* GCP.AndroidManagement.Enterprise("Work", {
enterpriseDisplayName: "Alchemy Work",
});

Customer-managed after signup

const enterprise = yield* GCP.AndroidManagement.Enterprise("Work", {
signupUrlName: "signupUrls/abc",
enterpriseToken: token,
enterpriseDisplayName: "Acme",
});
const enterprise = yield* GCP.AndroidManagement.Enterprise("Work", {
enterpriseDisplayName: "Alchemy Work 2026",
});

Source: src/GCP/AndroidManagement/EnterprisesEnrollmentToken.ts

An Android Management enrollment token.

Tokens are create-only (no patch API). Identity is the parent enterprise plus the server-assigned name. Changing parent, policy, duration, personal-usage, or additional data replaces the token. List/get return a partial view (name, expirationTimestamp, allowPersonalUsage, value, qrCode) and tokens have no labels, so Alchemy tracks a token only by the name recorded in state.

EnterprisesEnrollmentToken: Creating an Enrollment Token

Section titled “EnterprisesEnrollmentToken: Creating an Enrollment Token”

Long-lived token

const token = yield* GCP.AndroidManagement.EnterprisesEnrollmentToken(
"Enroll",
{ parent: enterprise.name },
);

One-time token for a policy

const token = yield* GCP.AndroidManagement.EnterprisesEnrollmentToken(
"Enroll",
{
parent: enterprise.name,
policyName: "default",
oneTimeOnly: true,
duration: "86400s",
},
);

Source: src/GCP/AndroidManagement/EnterprisesWebApp.ts

An Android Management web app.

Web apps have no labels field, so Alchemy tracks the web app by its resource name; without state it is found by title, and one found under an explicit (non-generated) title is reported as unowned. parent is identity — changing it replaces the web app. Title, start URL, display mode, and icons update in place. At least one icon is required by the API; a 1x1 PNG is sent when icons is omitted.

Standalone shortcut

const app = yield* GCP.AndroidManagement.EnterprisesWebApp("Docs", {
parent: enterprise.name,
startUrl: "https://docs.example.com/",
title: "Docs",
});

Full-screen kiosk URL

const app = yield* GCP.AndroidManagement.EnterprisesWebApp("Kiosk", {
parent: enterprise.name,
startUrl: "https://kiosk.example.com/",
displayMode: "FULL_SCREEN",
});

Change props on the same logical id; the engine keeps the physical id.

const app = yield* GCP.AndroidManagement.EnterprisesWebApp("Docs", {
parent: enterprise.name,
startUrl: "https://docs.example.com/",
title: "Internal docs",
});