Android Management API (androidmanagement v1): generated TS types missing googleAuthenticationOptions on EnrollmentToken and SigninDetail

Author: aarond-spCreated Jun 19, 2026Updated Jun 21, 2026

Summary

The generated TypeScript types for the Android Management API (androidmanagement, version v1) are missing the googleAuthenticationOptions field and its backing schemas. These exist in the live Discovery document but not in the checked-in discovery snapshot, so the generated Schema$* interfaces are out of date.

Package / source

  • Split package: @googleapis/[email protected] (current latest)
  • Also affects googleapis (aggregate) — both are generated from src/apis/androidmanagement/v1.ts in this repo.

What is missing

In src/apis/androidmanagement/v1.ts (and the published build/v1.d.ts):

  1. Schema$EnrollmentToken is missing the property googleAuthenticationOptions?: Schema$GoogleAuthenticationOptions.
  2. Schema$SigninDetail is missing the property googleAuthenticationOptions?: Schema$SigninDetailGoogleAuthenticationOptions.
  3. The interface Schema$GoogleAuthenticationOptions is not generated at all (fields: authenticationRequirement enum AUTHENTICATION_REQUIREMENT_UNSPECIFIED | OPTIONAL | REQUIRED, requiredAccountEmail string).
  4. The interface Schema$SigninDetailGoogleAuthenticationOptions is not generated at all (field: authenticationRequirement, same enum).

The only existing reference is a prose mention in the Schema$GoogleAuthenticationSettings description ("This value is overridden by EnrollmentToken.googleAuthenticationOptions and SigninDetail.googleAuthenticationOptions…"); the actual typed fields/schemas are absent.

Affected endpoints

  • androidmanagement.enterprises.enrollmentTokens.createrequestBody is Schema$EnrollmentToken; callers cannot set googleAuthenticationOptions without a type cast.
  • androidmanagement.enterprises.create / androidmanagement.enterprises.patchSchema$Enterprise.signinDetails[] is Schema$SigninDetail, which lacks googleAuthenticationOptions.

Evidence

Live Discovery document (revision: 20260618): https://androidmanagement.googleapis.com/$discovery/rest?version=v1

json
// schemas.EnrollmentToken.properties.googleAuthenticationOptions
{ "description": "Optional. Options related to Google authentication during the enrollment.", "$ref": "GoogleAuthenticationOptions" }

// schemas.SigninDetail.properties.googleAuthenticationOptions
{ "description": "Optional. Options related to Google authentication during the enrollment.", "$ref": "SigninDetailGoogleAuthenticationOptions" }

// schemas.GoogleAuthenticationOptions
{ "id": "GoogleAuthenticationOptions", "type": "object",
  "properties": {
    "authenticationRequirement": { "type": "string", "enum": ["AUTHENTICATION_REQUIREMENT_UNSPECIFIED","OPTIONAL","REQUIRED"] },
    "requiredAccountEmail": { "type": "string" }
  } }

// schemas.SigninDetailGoogleAuthenticationOptions
{ "id": "SigninDetailGoogleAuthenticationOptions", "type": "object",
  "properties": {
    "authenticationRequirement": { "type": "string", "enum": ["AUTHENTICATION_REQUIREMENT_UNSPECIFIED","OPTIONAL","REQUIRED"] }
  } }

The checked-in discovery/androidmanagement-v1.json on main does not contain any of the above (verified: all four are absent), which is why the generated types are stale.

Root cause / suggested fix

The repo's checked-in androidmanagement v1 discovery snapshot is out of date relative to the live Discovery doc. Refreshing the discovery document and re-running the generator should produce Schema$GoogleAuthenticationOptions, Schema$SigninDetailGoogleAuthenticationOptions, and the two missing properties.

Expected vs. actual

  • Expected: Schema$EnrollmentToken.googleAuthenticationOptions and Schema$SigninDetail.googleAuthenticationOptions are typed, matching the live Discovery doc.
  • Actual: Both properties and both schema interfaces are absent; consumers must cast (as) to send the field, even though the REST API accepts and honors it.

Source: googleapis/google-api-nodejs-client