/** * Response serializer for program license details. * * This serializer represents a program license with all its attributes, * including basic license information, program details, and usage statistics. * * Fields: * id: The unique identifier for the license * created: When the license was created * started: When the license becomes active * expired: When the license expires (null if no expiration) * name: The display name of the license * count: The number of seats purchased * active: Whether the license is active * metadata: Additional license metadata * source: The source identifier for the license * external_id: External identifier for the license (null if none) * platform_key: The platform key associated with the license * program_id: The program ID associated with the license * program_name: The name of the program associated with the license * usage_count: Number of assignments using this license * assignments: Assignment counts (if verbose mode is enabled) * * Notes: * - The assignments field is only included when verbose=true in the request * - The expired field may be null if the license doesn't expire * - The external_id field may be null if not provided */ export type ProgramLicenseDetail = { /** * The unique identifier for the license */ id: number; /** * When the license was created */ created: string; /** * When the license becomes active */ started: string; /** * When the license expires (null if no expiration) */ expired: string | null; /** * The display name of the license */ name: string; /** * The number of seats purchased */ count: number; /** * Whether the license is active */ active: boolean; /** * Additional license metadata */ metadata: Record; /** * The source identifier for the license */ source: string; /** * External identifier for the license (null if none) */ external_id: string | null; /** * The platform key associated with the license */ platform_key: string; /** * The program ID associated with the license */ program_id?: string; /** * The program key associated with the license */ program_key?: string; /** * The name of the program associated with the license */ program_name?: string; /** * Number of assignments using this license */ usage_count: number; /** * Assignment counts by status (only included in verbose mode) */ assignments?: Record; };