// Project: https://github.com/microsoftgraph/msgraph-typescript-typings // Definitions by: Microsoft Graph Team // Michael Mainer // Peter Ombwa // Mustafa Zengin // DeVere Dyett // Nikitha Udaykumar Chettiar // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.1 export as namespace microsoftgraph; export type NullableOption = T | null; export type AppliedConditionalAccessPolicyResult = | "success" | "failure" | "notApplied" | "notEnabled" | "unknown" | "unknownFutureValue"; export type ConditionalAccessStatus = "success" | "failure" | "notApplied" | "unknownFutureValue"; export type GroupType = "unifiedGroups" | "azureAD" | "unknownFutureValue"; export type OperationResult = "success" | "failure" | "timeout" | "unknownFutureValue"; export type RiskDetail = | "none" | "adminGeneratedTemporaryPassword" | "userPerformedSecuredPasswordChange" | "userPerformedSecuredPasswordReset" | "adminConfirmedSigninSafe" | "aiConfirmedSigninSafe" | "userPassedMFADrivenByRiskBasedPolicy" | "adminDismissedAllRiskForUser" | "adminConfirmedSigninCompromised" | "hidden" | "adminConfirmedUserCompromised" | "unknownFutureValue"; export type RiskEventType = | "unlikelyTravel" | "anonymizedIPAddress" | "maliciousIPAddress" | "unfamiliarFeatures" | "malwareInfectedIPAddress" | "suspiciousIPAddress" | "leakedCredentials" | "investigationsThreatIntelligence" | "generic" | "adminConfirmedUserCompromised" | "mcasImpossibleTravel" | "mcasSuspiciousInboxManipulationRules" | "investigationsThreatIntelligenceSigninLinked" | "maliciousIPAddressValidCredentialsBlockedIP" | "unknownFutureValue"; export type RiskLevel = "low" | "medium" | "high" | "hidden" | "none" | "unknownFutureValue"; export type RiskState = | "none" | "confirmedSafe" | "remediated" | "dismissed" | "atRisk" | "confirmedCompromised" | "unknownFutureValue"; export type PermissionClassificationType = "low" | "medium" | "high" | "unknownFutureValue"; export type PermissionType = "application" | "delegated" | "delegatedUserConsentable"; export type PhoneType = | "home" | "business" | "mobile" | "other" | "assistant" | "homeFax" | "businessFax" | "otherFax" | "pager" | "radio"; export type EducationExternalSource = "sis" | "manual" | "unknownFutureValue"; export type EducationGender = "female" | "male" | "other" | "unknownFutureValue"; export type EducationUserRole = "student" | "teacher" | "none" | "unknownFutureValue"; export type WorkbookOperationStatus = "notStarted" | "running" | "succeeded" | "failed"; export type ActivityDomain = "unknown" | "work" | "personal" | "unrestricted"; export type AttendeeType = "required" | "optional" | "resource"; export type FreeBusyStatus = "free" | "tentative" | "unknown" | "busy" | "oof" | "workingElsewhere"; export type LocationType = | "default" | "conferenceRoom" | "homeAddress" | "businessAddress" | "geoCoordinates" | "streetAddress" | "hotel" | "restaurant" | "localBusiness" | "postalAddress"; export type LocationUniqueIdType = "unknown" | "locationStore" | "directory" | "private" | "bing"; export type PhysicalAddressType = "unknown" | "home" | "business" | "other"; export type BookingType = "unknown" | "standard" | "reserved"; export type AttachmentType = "file" | "item" | "reference"; export type AutomaticRepliesStatus = "disabled" | "alwaysEnabled" | "scheduled"; export type BodyType = "text" | "html"; export type CalendarColor = | "lightBlue" | "lightGreen" | "auto" | "lightOrange" | "lightGray" | "lightYellow" | "lightTeal" | "lightPink" | "lightBrown" | "lightRed" | "maxColor"; export type CalendarRoleType = | "none" | "freeBusyRead" | "limitedRead" | "read" | "write" | "delegateWithoutPrivateEventAccess" | "delegateWithPrivateEventAccess" | "custom"; export type CalendarSharingAction = "accept" | "acceptAndViewCalendar" | "viewCalendar" | "addThisCalendar"; export type CalendarSharingActionImportance = "primary" | "secondary"; export type CalendarSharingActionType = "accept"; export type CategoryColor = | "preset0" | "preset1" | "none" | "preset2" | "preset3" | "preset4" | "preset5" | "preset6" | "preset7" | "preset8" | "preset9" | "preset10" | "preset11" | "preset12" | "preset13" | "preset14" | "preset15" | "preset16" | "preset17" | "preset18" | "preset19" | "preset20" | "preset21" | "preset22" | "preset23" | "preset24"; export type DayOfWeek = "sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday"; export type DelegateMeetingMessageDeliveryOptions = | "sendToDelegateAndInformationToPrincipal" | "sendToDelegateAndPrincipal" | "sendToDelegateOnly"; export type EventType = "singleInstance" | "occurrence" | "exception" | "seriesMaster"; export type ExchangeIdFormat = "entryId" | "ewsId" | "immutableEntryId" | "restId" | "restImmutableEntryId"; export type ExternalAudienceScope = "none" | "contactsOnly" | "all"; export type FollowupFlagStatus = "notFlagged" | "complete" | "flagged"; export type Importance = "low" | "normal" | "high"; export type InferenceClassificationType = "focused" | "other"; export type MailTipsType = | "automaticReplies" | "mailboxFullStatus" | "customMailTip" | "externalMemberCount" | "totalMemberCount" | "maxMessageSize" | "deliveryRestriction" | "moderationStatus" | "recipientScope" | "recipientSuggestions"; export type MeetingMessageType = | "none" | "meetingRequest" | "meetingCancelled" | "meetingAccepted" | "meetingTenativelyAccepted" | "meetingDeclined"; export type MeetingRequestType = | "none" | "newMeetingRequest" | "fullUpdate" | "informationalUpdate" | "silentUpdate" | "outdated" | "principalWantsCopy"; export type MessageActionFlag = | "any" | "call" | "doNotForward" | "followUp" | "fyi" | "forward" | "noResponseNecessary" | "read" | "reply" | "replyToAll" | "review"; export type OnlineMeetingProviderType = "unknown" | "skypeForBusiness" | "skypeForConsumer" | "teamsForBusiness"; export type RecipientScopeType = "none" | "internal" | "external" | "externalPartner" | "externalNonPartner"; export type RecurrencePatternType = | "daily" | "weekly" | "absoluteMonthly" | "relativeMonthly" | "absoluteYearly" | "relativeYearly"; export type RecurrenceRangeType = "endDate" | "noEnd" | "numbered"; export type ResponseType = "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"; export type SelectionLikelihoodInfo = "notSpecified" | "high"; export type Sensitivity = "normal" | "personal" | "private" | "confidential"; export type TimeZoneStandard = "windows" | "iana"; export type WebsiteType = "other" | "home" | "work" | "blog" | "profile"; export type WeekIndex = "first" | "second" | "third" | "fourth" | "last"; export type CloudAppSecuritySessionControlType = | "mcasConfigured" | "monitorOnly" | "blockDownloads" | "unknownFutureValue"; export type ConditionalAccessClientApp = | "all" | "browser" | "mobileAppsAndDesktopClients" | "exchangeActiveSync" | "easSupported" | "other" | "unknownFutureValue"; export type ConditionalAccessDevicePlatform = | "android" | "iOS" | "windows" | "windowsPhone" | "macOS" | "all" | "unknownFutureValue"; export type ConditionalAccessGrantControl = | "block" | "mfa" | "compliantDevice" | "domainJoinedDevice" | "approvedApplication" | "compliantApplication" | "unknownFutureValue"; export type ConditionalAccessPolicyState = "enabled" | "disabled" | "enabledForReportingButNotEnforced"; export type PersistentBrowserSessionMode = "always" | "never"; export type SigninFrequencyType = "days" | "hours"; export type ComplianceStatus = | "unknown" | "notApplicable" | "compliant" | "remediated" | "nonCompliant" | "error" | "conflict" | "notAssigned"; export type InstallIntent = "available" | "required" | "uninstall" | "availableWithoutEnrollment"; export type ManagedAppAvailability = "global" | "lineOfBusiness"; export type MdmAppConfigKeyType = "stringType" | "integerType" | "realType" | "booleanType" | "tokenType"; export type MicrosoftStoreForBusinessLicenseType = "offline" | "online"; export type MobileAppContentFileUploadState = | "success" | "transientError" | "error" | "unknown" | "azureStorageUriRequestSuccess" | "azureStorageUriRequestPending" | "azureStorageUriRequestFailed" | "azureStorageUriRequestTimedOut" | "azureStorageUriRenewalSuccess" | "azureStorageUriRenewalPending" | "azureStorageUriRenewalFailed" | "azureStorageUriRenewalTimedOut" | "commitFileSuccess" | "commitFilePending" | "commitFileFailed" | "commitFileTimedOut"; export type MobileAppPublishingState = "notPublished" | "processing" | "published"; export type RunAsAccountType = "system" | "user"; export type VppTokenAccountType = "business" | "education"; export type Win32LobAppFileSystemOperationType = | "notConfigured" | "exists" | "modifiedDate" | "createdDate" | "version" | "sizeInMB"; export type Win32LobAppMsiPackageType = "perMachine" | "perUser" | "dualPurpose"; export type Win32LobAppNotification = "showAll" | "showReboot" | "hideAll"; export type Win32LobAppPowerShellScriptRuleOperationType = | "notConfigured" | "string" | "dateTime" | "integer" | "float" | "version" | "boolean"; export type Win32LobAppRegistryRuleOperationType = | "notConfigured" | "exists" | "doesNotExist" | "string" | "integer" | "version"; export type Win32LobAppRestartBehavior = "basedOnReturnCode" | "allow" | "suppress" | "force"; export type Win32LobAppReturnCodeType = "failed" | "success" | "softReboot" | "hardReboot" | "retry"; export type Win32LobAppRuleOperator = | "notConfigured" | "equal" | "notEqual" | "greaterThan" | "greaterThanOrEqual" | "lessThan" | "lessThanOrEqual"; export type Win32LobAppRuleType = "detection" | "requirement"; export type WindowsArchitecture = "none" | "x86" | "x64" | "arm" | "neutral"; export type WindowsDeviceType = "none" | "desktop" | "mobile" | "holographic" | "team"; export type InstallState = "notApplicable" | "installed" | "failed" | "notInstalled" | "uninstallFailed" | "unknown"; export type AndroidRequiredPasswordType = | "deviceDefault" | "alphabetic" | "alphanumeric" | "alphanumericWithSymbols" | "lowSecurityBiometric" | "numeric" | "numericComplex" | "any"; export type AndroidWorkProfileCrossProfileDataSharingType = | "deviceDefault" | "preventAny" | "allowPersonalToWork" | "noRestrictions"; export type AndroidWorkProfileDefaultAppPermissionPolicyType = "deviceDefault" | "prompt" | "autoGrant" | "autoDeny"; export type AndroidWorkProfileRequiredPasswordType = | "deviceDefault" | "lowSecurityBiometric" | "required" | "atLeastNumeric" | "numericComplex" | "atLeastAlphabetic" | "atLeastAlphanumeric" | "alphanumericWithSymbols"; export type ApplicationGuardBlockClipboardSharingType = | "notConfigured" | "blockBoth" | "blockHostToContainer" | "blockContainerToHost" | "blockNone"; export type ApplicationGuardBlockFileTransferType = | "notConfigured" | "blockImageAndTextFile" | "blockImageFile" | "blockNone" | "blockTextFile"; export type AppListType = "none" | "appsInListCompliant" | "appsNotInListCompliant"; export type AppLockerApplicationControlType = | "notConfigured" | "enforceComponentsAndStoreApps" | "auditComponentsAndStoreApps" | "enforceComponentsStoreAppsAndSmartlocker" | "auditComponentsStoreAppsAndSmartlocker"; export type AutomaticUpdateMode = | "userDefined" | "notifyDownload" | "autoInstallAtMaintenanceTime" | "autoInstallAndRebootAtMaintenanceTime" | "autoInstallAndRebootAtScheduledTime" | "autoInstallAndRebootWithoutEndUserControl"; export type BitLockerEncryptionMethod = "aesCbc128" | "aesCbc256" | "xtsAes128" | "xtsAes256"; export type DefenderCloudBlockLevelType = "notConfigured" | "high" | "highPlus" | "zeroTolerance"; export type DefenderMonitorFileActivity = | "userDefined" | "disable" | "monitorAllFiles" | "monitorIncomingFilesOnly" | "monitorOutgoingFilesOnly"; export type DefenderPromptForSampleSubmission = | "userDefined" | "alwaysPrompt" | "promptBeforeSendingPersonalData" | "neverSendData" | "sendAllDataWithoutPrompting"; export type DefenderScanType = "userDefined" | "disabled" | "quick" | "full"; export type DefenderThreatAction = | "deviceDefault" | "clean" | "quarantine" | "remove" | "allow" | "userDefined" | "block"; export type DeviceComplianceActionType = | "noAction" | "notification" | "block" | "retire" | "wipe" | "removeResourceAccessProfiles" | "pushNotification"; export type DeviceThreatProtectionLevel = "unavailable" | "secured" | "low" | "medium" | "high" | "notSet"; export type DiagnosticDataSubmissionMode = "userDefined" | "none" | "basic" | "enhanced" | "full"; export type EdgeCookiePolicy = "userDefined" | "allow" | "blockThirdParty" | "blockAll"; export type EdgeSearchEngineType = "default" | "bing"; export type EditionUpgradeLicenseType = "productKey" | "licenseFile"; export type FirewallCertificateRevocationListCheckMethodType = "deviceDefault" | "none" | "attempt" | "require"; export type FirewallPacketQueueingMethodType = | "deviceDefault" | "disabled" | "queueInbound" | "queueOutbound" | "queueBoth"; export type FirewallPreSharedKeyEncodingMethodType = "deviceDefault" | "none" | "utF8"; export type InternetSiteSecurityLevel = "userDefined" | "medium" | "mediumHigh" | "high"; export type IosNotificationAlertType = "deviceDefault" | "banner" | "modal" | "none"; export type IosUpdatesInstallStatus = | "success" | "available" | "idle" | "unknown" | "deviceOsHigherThanDesiredOsVersion" | "sharedDeviceUserLoggedInError" | "notSupportedOperation" | "installFailed" | "installPhoneCallInProgress" | "installInsufficientPower" | "installInsufficientSpace" | "installing" | "downloadInsufficientNetwork" | "downloadInsufficientPower" | "downloadInsufficientSpace" | "downloadRequiresComputer" | "downloadFailed" | "downloading"; export type MiracastChannel = | "userDefined" | "one" | "two" | "three" | "four" | "five" | "six" | "seven" | "eight" | "nine" | "ten" | "eleven" | "thirtySix" | "forty" | "fortyFour" | "fortyEight" | "oneHundredFortyNine" | "oneHundredFiftyThree" | "oneHundredFiftySeven" | "oneHundredSixtyOne" | "oneHundredSixtyFive"; export type PolicyPlatformType = | "android" | "iOS" | "macOS" | "windowsPhone81" | "windows81AndLater" | "windows10AndLater" | "androidWorkProfile" | "all"; export type PrereleaseFeatures = "userDefined" | "settingsOnly" | "settingsAndExperimentations" | "notAllowed"; export type RatingAppsType = "allAllowed" | "allBlocked" | "agesAbove4" | "agesAbove9" | "agesAbove12" | "agesAbove17"; export type RatingAustraliaMoviesType = | "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "mature" | "agesAbove15" | "agesAbove18"; export type RatingAustraliaTelevisionType = | "allAllowed" | "allBlocked" | "preschoolers" | "children" | "general" | "parentalGuidance" | "mature" | "agesAbove15" | "agesAbove15AdultViolence"; export type RatingCanadaMoviesType = | "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "agesAbove14" | "agesAbove18" | "restricted"; export type RatingCanadaTelevisionType = | "allAllowed" | "allBlocked" | "children" | "childrenAbove8" | "general" | "parentalGuidance" | "agesAbove14" | "agesAbove18"; export type RatingFranceMoviesType = | "allAllowed" | "allBlocked" | "agesAbove10" | "agesAbove12" | "agesAbove16" | "agesAbove18"; export type RatingFranceTelevisionType = | "allAllowed" | "allBlocked" | "agesAbove10" | "agesAbove12" | "agesAbove16" | "agesAbove18"; export type RatingGermanyMoviesType = | "allAllowed" | "allBlocked" | "general" | "agesAbove6" | "agesAbove12" | "agesAbove16" | "adults"; export type RatingGermanyTelevisionType = | "allAllowed" | "allBlocked" | "general" | "agesAbove6" | "agesAbove12" | "agesAbove16" | "adults"; export type RatingIrelandMoviesType = | "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "agesAbove12" | "agesAbove15" | "agesAbove16" | "adults"; export type RatingIrelandTelevisionType = | "allAllowed" | "allBlocked" | "general" | "children" | "youngAdults" | "parentalSupervision" | "mature"; export type RatingJapanMoviesType = | "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "agesAbove15" | "agesAbove18"; export type RatingJapanTelevisionType = "allAllowed" | "allBlocked" | "explicitAllowed"; export type RatingNewZealandMoviesType = | "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "mature" | "agesAbove13" | "agesAbove15" | "agesAbove16" | "agesAbove18" | "restricted" | "agesAbove16Restricted"; export type RatingNewZealandTelevisionType = "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "adults"; export type RatingUnitedKingdomMoviesType = | "allAllowed" | "allBlocked" | "general" | "universalChildren" | "parentalGuidance" | "agesAbove12Video" | "agesAbove12Cinema" | "agesAbove15" | "adults"; export type RatingUnitedKingdomTelevisionType = "allAllowed" | "allBlocked" | "caution"; export type RatingUnitedStatesMoviesType = | "allAllowed" | "allBlocked" | "general" | "parentalGuidance" | "parentalGuidance13" | "restricted" | "adults"; export type RatingUnitedStatesTelevisionType = | "allAllowed" | "allBlocked" | "childrenAll" | "childrenAbove7" | "general" | "parentalGuidance" | "childrenAbove14" | "adults"; export type RequiredPasswordType = "deviceDefault" | "alphanumeric" | "numeric"; export type SafeSearchFilterType = "userDefined" | "strict" | "moderate"; export type SharedPCAccountDeletionPolicyType = | "immediate" | "diskSpaceThreshold" | "diskSpaceThresholdOrInactiveThreshold"; export type SharedPCAllowedAccountType = "guest" | "domain"; export type SiteSecurityLevel = "userDefined" | "low" | "mediumLow" | "medium" | "mediumHigh" | "high"; export type StateManagementSetting = "notConfigured" | "blocked" | "allowed"; export type VisibilitySetting = "notConfigured" | "hide" | "show"; export type WebBrowserCookieSettings = | "browserDefault" | "blockAlways" | "allowCurrentWebSite" | "allowFromWebsitesVisited" | "allowAlways"; export type WeeklySchedule = | "userDefined" | "everyday" | "sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday"; export type WelcomeScreenMeetingInformation = | "userDefined" | "showOrganizerAndTimeOnly" | "showOrganizerAndTimeAndSubject"; export type Windows10EditionType = | "windows10Enterprise" | "windows10EnterpriseN" | "windows10Education" | "windows10EducationN" | "windows10MobileEnterprise" | "windows10HolographicEnterprise" | "windows10Professional" | "windows10ProfessionalN" | "windows10ProfessionalEducation" | "windows10ProfessionalEducationN" | "windows10ProfessionalWorkstation" | "windows10ProfessionalWorkstationN"; export type WindowsDeliveryOptimizationMode = | "userDefined" | "httpOnly" | "httpWithPeeringNat" | "httpWithPeeringPrivateGroup" | "httpWithInternetPeering" | "simpleDownload" | "bypassMode"; export type WindowsSpotlightEnablementSettings = "notConfigured" | "disabled" | "enabled"; export type WindowsStartMenuAppListVisibilityType = "userDefined" | "collapse" | "remove" | "disableSettingsApp"; export type WindowsStartMenuModeType = "userDefined" | "fullScreen" | "nonFullScreen"; export type WindowsUpdateType = | "userDefined" | "all" | "businessReadyOnly" | "windowsInsiderBuildFast" | "windowsInsiderBuildSlow" | "windowsInsiderBuildRelease"; export type WindowsUserAccountControlSettings = | "userDefined" | "alwaysNotify" | "notifyOnAppChanges" | "notifyOnAppChangesWithoutDimming" | "neverNotify"; export type DeviceManagementExchangeConnectorStatus = "none" | "connectionPending" | "connected" | "disconnected"; export type DeviceManagementExchangeConnectorSyncType = "fullSync" | "deltaSync"; export type DeviceManagementExchangeConnectorType = "onPremises" | "hosted" | "serviceToService" | "dedicated"; export type DeviceManagementPartnerAppType = "unknown" | "singleTenantApp" | "multiTenantApp"; export type DeviceManagementPartnerTenantState = | "unknown" | "unavailable" | "enabled" | "terminated" | "rejected" | "unresponsive"; export type Enablement = "notConfigured" | "enabled" | "disabled"; export type MdmAuthority = "unknown" | "intune" | "sccm" | "office365"; export type MobileThreatPartnerTenantState = "unavailable" | "available" | "enabled" | "unresponsive"; export type VppTokenState = "unknown" | "valid" | "expired" | "invalid" | "assignedToExternalMDM"; export type VppTokenSyncStatus = "none" | "inProgress" | "completed" | "failed"; export type WindowsHelloForBusinessPinUsage = "allowed" | "required" | "disallowed"; export type ActionState = "none" | "pending" | "canceled" | "active" | "done" | "failed" | "notSupported"; export type ComplianceState = | "unknown" | "compliant" | "noncompliant" | "conflict" | "error" | "inGracePeriod" | "configManager"; export type DeviceEnrollmentType = | "unknown" | "userEnrollment" | "deviceEnrollmentManager" | "appleBulkWithUser" | "appleBulkWithoutUser" | "windowsAzureADJoin" | "windowsBulkUserless" | "windowsAutoEnrollment" | "windowsBulkAzureDomainJoin" | "windowsCoManagement"; export type DeviceManagementExchangeAccessState = "none" | "unknown" | "allowed" | "blocked" | "quarantined"; export type DeviceManagementExchangeAccessStateReason = | "none" | "unknown" | "exchangeGlobalRule" | "exchangeIndividualRule" | "exchangeDeviceRule" | "exchangeUpgrade" | "exchangeMailboxPolicy" | "other" | "compliant" | "notCompliant" | "notEnrolled" | "unknownLocation" | "mfaRequired" | "azureADBlockDueToAccessPolicy" | "compromisedPassword" | "deviceNotKnownWithManagedApp"; export type DeviceManagementSubscriptionState = | "pending" | "active" | "warning" | "disabled" | "deleted" | "blocked" | "lockedOut"; export type DeviceRegistrationState = | "notRegistered" | "registered" | "revoked" | "keyConflict" | "approvalPending" | "certificateReset" | "notRegisteredPendingEnrollment" | "unknown"; export type ManagedDeviceOwnerType = "unknown" | "company" | "personal"; export type ManagedDevicePartnerReportedHealthState = | "unknown" | "activated" | "deactivated" | "secured" | "lowSeverity" | "mediumSeverity" | "highSeverity" | "unresponsive" | "compromised" | "misconfigured"; export type ManagementAgentType = | "eas" | "mdm" | "easMdm" | "intuneClient" | "easIntuneClient" | "configurationManagerClient" | "configurationManagerClientMdm" | "configurationManagerClientMdmEas" | "unknown" | "jamf" | "googleCloudDevicePolicyController"; export type ManagedAppClipboardSharingLevel = "allApps" | "managedAppsWithPasteIn" | "managedApps" | "blocked"; export type ManagedAppDataEncryptionType = | "useDeviceSettings" | "afterDeviceRestart" | "whenDeviceLockedExceptOpenFiles" | "whenDeviceLocked"; export type ManagedAppDataStorageLocation = "oneDriveForBusiness" | "sharePoint" | "localStorage"; export type ManagedAppDataTransferLevel = "allApps" | "managedApps" | "none"; export type ManagedAppFlaggedReason = "none" | "rootedDevice"; export type ManagedAppPinCharacterSet = "numeric" | "alphanumericAndSymbol"; export type ManagedBrowserType = "notConfigured" | "microsoftEdge"; export type WindowsInformationProtectionEnforcementLevel = | "noProtection" | "encryptAndAuditOnly" | "encryptAuditAndPrompt" | "encryptAuditAndBlock"; export type WindowsInformationProtectionPinCharacterRequirements = "notAllow" | "requireAtLeastOne" | "allow"; export type NotificationTemplateBrandingOptions = | "none" | "includeCompanyLogo" | "includeCompanyName" | "includeContactInformation"; export type RemoteAssistanceOnboardingStatus = "notOnboarded" | "onboarding" | "onboarded"; export type DeviceEnrollmentFailureReason = | "unknown" | "authentication" | "authorization" | "accountValidation" | "userValidation" | "deviceNotSupported" | "inMaintenance" | "badRequest" | "featureNotSupported" | "enrollmentRestrictionsEnforced" | "clientDisconnected" | "userAbandonment"; export type ApplicationType = "universal" | "desktop"; export type EntityType = | "event" | "message" | "driveItem" | "externalItem" | "site" | "list" | "listItem" | "drive" | "unknownfuturevalue"; export type PlannerPreviewType = "automatic" | "noPreview" | "checklist" | "description" | "reference"; export type OnenotePatchActionType = "Replace" | "Append" | "Delete" | "Insert" | "Prepend"; export type OnenotePatchInsertPosition = "After" | "Before"; export type OnenoteSourceService = "Unknown" | "OneDrive" | "OneDriveForBusiness" | "OnPremOneDriveForBusiness"; export type OnenoteUserRole = "Owner" | "Contributor" | "None" | "Reader"; export type OperationStatus = "NotStarted" | "Running" | "Completed" | "Failed"; export type Status = "active" | "updated" | "deleted" | "ignored" | "unknownFutureValue"; export type DataPolicyOperationStatus = "notStarted" | "running" | "complete" | "failed" | "unknownFutureValue"; export type AlertFeedback = "unknown" | "truePositive" | "falsePositive" | "benignPositive" | "unknownFutureValue"; export type AlertSeverity = "unknown" | "informational" | "low" | "medium" | "high" | "unknownFutureValue"; export type AlertStatus = "unknown" | "newAlert" | "inProgress" | "resolved" | "dismissed" | "unknownFutureValue"; export type ConnectionDirection = "unknown" | "inbound" | "outbound" | "unknownFutureValue"; export type ConnectionStatus = "unknown" | "attempted" | "succeeded" | "blocked" | "failed" | "unknownFutureValue"; export type EmailRole = "unknown" | "sender" | "recipient" | "unknownFutureValue"; export type FileHashType = | "unknown" | "sha1" | "sha256" | "md5" | "authenticodeHash256" | "lsHash" | "ctph" | "unknownFutureValue"; export type LogonType = | "unknown" | "interactive" | "remoteInteractive" | "network" | "batch" | "service" | "unknownFutureValue"; export type ProcessIntegrityLevel = | "unknown" | "untrusted" | "low" | "medium" | "high" | "system" | "unknownFutureValue"; export type RegistryHive = | "unknown" | "currentConfig" | "currentUser" | "localMachineSam" | "localMachineSecurity" | "localMachineSoftware" | "localMachineSystem" | "usersDefault" | "unknownFutureValue"; export type RegistryOperation = "unknown" | "create" | "modify" | "delete" | "unknownFutureValue"; export type RegistryValueType = | "unknown" | "binary" | "dword" | "dwordLittleEndian" | "dwordBigEndian" | "expandSz" | "link" | "multiSz" | "none" | "qword" | "qwordlittleEndian" | "sz" | "unknownFutureValue"; export type SecurityNetworkProtocol = | "ip" | "icmp" | "unknown" | "igmp" | "ggp" | "ipv4" | "tcp" | "pup" | "udp" | "idp" | "ipv6" | "ipv6RoutingHeader" | "ipv6FragmentHeader" | "ipSecEncapsulatingSecurityPayload" | "ipSecAuthenticationHeader" | "icmpV6" | "ipv6NoNextHeader" | "ipv6DestinationOptions" | "nd" | "raw" | "ipx" | "spx" | "spxII" | "unknownFutureValue"; export type SecurityResourceType = "unknown" | "attacked" | "related" | "unknownFutureValue"; export type UserAccountSecurityType = "unknown" | "standard" | "power" | "administrator" | "unknownFutureValue"; export type CallDirection = "incoming" | "outgoing"; export type CallState = | "incoming" | "establishing" | "established" | "hold" | "transferring" | "transferAccepted" | "redirecting" | "terminating" | "terminated" | "unknownFutureValue"; export type CallTranscriptionState = "notStarted" | "active" | "inactive" | "unknownFutureValue"; export type ChangeType = "created" | "updated" | "deleted"; export type EndpointType = | "default" | "voicemail" | "skypeForBusiness" | "skypeForBusinessVoipPhone" | "unknownFutureValue"; export type LobbyBypassScope = | "organizer" | "organization" | "organizationAndFederated" | "everyone" | "unknownFutureValue"; export type MediaDirection = "inactive" | "sendOnly" | "receiveOnly" | "sendReceive"; export type MediaState = "active" | "inactive" | "unknownFutureValue"; export type Modality = "audio" | "video" | "videoBasedScreenSharing" | "data" | "unknownFutureValue"; export type OnlineMeetingPresenters = | "everyone" | "organization" | "roleIsPresenter" | "organizer" | "unknownFutureValue"; export type OnlineMeetingRole = "attendee" | "presenter" | "unknownFutureValue"; export type RecordingStatus = "unknown" | "notRecording" | "recording" | "failed" | "unknownFutureValue"; export type RejectReason = "none" | "busy" | "forbidden" | "unknownFutureValue"; export type RoutingType = "forwarded" | "lookup" | "selfFork" | "unknownFutureValue"; export type ScreenSharingRole = "viewer" | "sharer"; export type Tone = | "tone0" | "tone1" | "tone2" | "tone3" | "tone4" | "tone5" | "tone6" | "tone7" | "tone8" | "tone9" | "star" | "pound" | "a" | "b" | "c" | "d" | "flash"; export type LifecycleEventType = "missed" | "subscriptionRemoved" | "reauthorizationRequired"; export type ChannelMembershipType = "standard" | "private" | "unknownFutureValue"; export type ChatMessageImportance = "normal" | "high" | "urgent" | "unknownFutureValue"; export type ChatMessagePolicyViolationDlpActionTypes = "none" | "notifySender" | "blockAccess" | "blockAccessExternal"; export type ChatMessagePolicyViolationUserActionTypes = "none" | "override" | "reportFalsePositive"; export type ChatMessagePolicyViolationVerdictDetailsTypes = | "none" | "allowFalsePositiveOverride" | "allowOverrideWithoutJustification" | "allowOverrideWithJustification"; export type ChatMessageType = "message" | "chatEvent" | "typing" | "unknownFutureValue"; export type ClonableTeamParts = "apps" | "tabs" | "settings" | "channels" | "members"; export type GiphyRatingType = "strict" | "moderate" | "unknownFutureValue"; export type TeamsAppDistributionMethod = "store" | "organization" | "sideloaded" | "unknownFutureValue"; export type TeamsAsyncOperationStatus = | "invalid" | "notStarted" | "inProgress" | "succeeded" | "failed" | "unknownFutureValue"; export type TeamsAsyncOperationType = | "invalid" | "cloneTeam" | "archiveTeam" | "unarchiveTeam" | "createTeam" | "unknownFutureValue"; export type TeamSpecialization = | "none" | "educationStandard" | "educationClass" | "educationProfessionalLearningCommunity" | "educationStaff" | "healthcareStandard" | "healthcareCareCoordination" | "unknownFutureValue"; export type TeamVisibilityType = "private" | "public" | "hiddenMembership" | "unknownFutureValue"; export type ScheduleChangeRequestActor = "sender" | "recipient" | "manager" | "system" | "unknownFutureValue"; export type ScheduleChangeState = "pending" | "approved" | "declined" | "unknownFutureValue"; export type ScheduleEntityTheme = | "white" | "blue" | "green" | "purple" | "pink" | "yellow" | "gray" | "darkBlue" | "darkGreen" | "darkPurple" | "darkPink" | "darkYellow" | "unknownFutureValue"; export type TimeOffReasonIconType = | "none" | "car" | "calendar" | "running" | "plane" | "firstAid" | "doctor" | "notWorking" | "clock" | "juryDuty" | "globe" | "cup" | "phone" | "weather" | "umbrella" | "piggyBank" | "dog" | "cake" | "trafficCone" | "pin" | "sunny" | "unknownFutureValue"; export type WorkforceIntegrationEncryptionProtocol = "sharedSecret" | "unknownFutureValue"; export type WorkforceIntegrationSupportedEntities = | "none" | "shift" | "swapRequest" | "userShiftPreferences" | "openShift" | "openShiftRequest" | "offerShiftRequest" | "unknownFutureValue"; export type MailDestinationRoutingReason = | "none" | "mailFlowRule" | "safeSender" | "blockedSender" | "advancedSpamFiltering" | "domainAllowList" | "domainBlockList" | "notInAddressBook" | "firstTimeSender" | "autoPurgeToInbox" | "autoPurgeToJunk" | "autoPurgeToDeleted" | "outbound" | "notJunk" | "junk" | "unknownFutureValue"; export type ThreatAssessmentContentType = "mail" | "url" | "file"; export type ThreatAssessmentRequestSource = "undefined" | "user" | "administrator"; export type ThreatAssessmentResultType = "checkPolicy" | "rescan" | "unknownFutureValue"; export type ThreatAssessmentStatus = "pending" | "completed"; export type ThreatCategory = "undefined" | "spam" | "phishing" | "malware" | "unknownFutureValue"; export type ThreatExpectedAssessment = "block" | "unblock"; export type TaskStatus = "notStarted" | "inProgress" | "completed" | "waitingOnOthers" | "deferred"; export type WellknownListName = "none" | "defaultList" | "flaggedEmails" | "unknownFutureValue"; export interface Entity { // Read-only. id?: string; } export interface AuditLogRoot extends Entity { // Read-only. Nullable. directoryAudits?: NullableOption; restrictedSignIns?: NullableOption; // Read-only. Nullable. signIns?: NullableOption; } export interface DirectoryAudit extends Entity { /** * Indicates the date and time the activity was performed. The Timestamp type is always in UTC time. For example, midnight * UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ activityDateTime?: string; /** * Indicates the activity name or the operation name (examples: 'Create User' and 'Add member to group'). For full list, * see Azure AD activity list. */ activityDisplayName?: string; // Indicates additional details on the activity. additionalDetails?: NullableOption; /** * Indicates which resource category that's targeted by the activity. (For example: User Management, Group Management * etc..) */ category?: string; /** * Indicates a unique ID that helps correlate activities that span across various services. Can be used to trace logs * across services. */ correlationId?: NullableOption; // Indicates information about the user or app initiated the activity. initiatedBy?: AuditActivityInitiator; /** * Indicates information on which service initiated the activity (For example: Self-service Password Management, Core * Directory, B2C, Invited Users, Microsoft Identity Manager, Privileged Identity Management. */ loggedByService?: NullableOption; operationType?: NullableOption; // Indicates the result of the activity. Possible values are: success, failure, timeout, unknownFutureValue. result?: NullableOption; // Describes cause of 'failure' or 'timeout' results. resultReason?: NullableOption; /** * Indicates information on which resource was changed due to the activity. Target Resource Type can be User, Device, * Directory, App, Role, Group, Policy or Other. */ targetResources?: NullableOption; } export interface SignIn extends Entity { // App name displayed in the Azure Portal. appDisplayName?: NullableOption; // Unique GUID representing the app ID in the Azure Active Directory. appId?: NullableOption; appliedConditionalAccessPolicies?: NullableOption; /** * Identifies the legacy client used for sign-in activity. Includes Browser, Exchange Active Sync, modern clients, IMAP, * MAPI, SMTP, and POP. */ clientAppUsed?: NullableOption; /** * Reports status of an activated conditional access policy. Possible values are: success, failure, notApplied, and * unknownFutureValue. */ conditionalAccessStatus?: NullableOption; // The request ID sent from the client when the sign-in is initiated; used to troubleshoot sign-in activity. correlationId?: NullableOption; // Date and time (UTC) the sign-in was initiated. Example: midnight on Jan 1, 2014 is reported as '2014-01-01T00:00:00Z'. createdDateTime?: string; // Device information from where the sign-in occurred; includes device ID, operating system, and browser. deviceDetail?: NullableOption; // IP address of the client used to sign in. ipAddress?: NullableOption; // Indicates if a sign-in is interactive or not. isInteractive?: NullableOption; // Provides the city, state, and country code where the sign-in originated. location?: NullableOption; // Name of the resource the user signed into. resourceDisplayName?: NullableOption; // ID of the resource that the user signed into. resourceId?: NullableOption; /** * Provides the 'reason' behind a specific state of a risky user, sign-in or a risk event. The possible values are: none, * adminGeneratedTemporaryPassword, userPerformedSecuredPasswordChange, userPerformedSecuredPasswordReset, * adminConfirmedSigninSafe, aiConfirmedSigninSafe, userPassedMFADrivenByRiskBasedPolicy, adminDismissedAllRiskForUser, * adminConfirmedSigninCompromised, unknownFutureValue. The value none means that no action has been performed on the user * or sign-in so far. Note: Details for this property require an Azure AD Premium P2 license. Other licenses return the * value hidden. */ riskDetail?: NullableOption; /** * Risk event types associated with the sign-in. The possible values are: unlikelyTravel, anonymizedIPAddress, * maliciousIPAddress, unfamiliarFeatures, malwareInfectedIPAddress, suspiciousIPAddress, leakedCredentials, * investigationsThreatIntelligence, generic, and unknownFutureValue. */ riskEventTypes?: NullableOption; /** * The list of risk event types associated with the sign-in. Possible values: unlikelyTravel, anonymizedIPAddress, * maliciousIPAddress, unfamiliarFeatures, malwareInfectedIPAddress, suspiciousIPAddress, leakedCredentials, * investigationsThreatIntelligence, generic, or unknownFutureValue. */ riskEventTypes_v2?: NullableOption; /** * Aggregated risk level. The possible values are: none, low, medium, high, hidden, and unknownFutureValue. The value * hidden means the user or sign-in was not enabled for Azure AD Identity Protection. Note: Details for this property are * only available for Azure AD Premium P2 customers. All other customers will be returned hidden. */ riskLevelAggregated?: NullableOption; /** * Risk level during sign-in. The possible values are: none, low, medium, high, hidden, and unknownFutureValue. The value * hidden means the user or sign-in was not enabled for Azure AD Identity Protection. Note: Details for this property are * only available for Azure AD Premium P2 customers. All other customers will be returned hidden. */ riskLevelDuringSignIn?: NullableOption; /** * Reports status of the risky user, sign-in, or a risk event. The possible values are: none, confirmedSafe, remediated, * dismissed, atRisk, confirmedCompromised, unknownFutureValue. */ riskState?: NullableOption; // Sign-in status. Possible values include Success and Failure. status?: NullableOption; // Display name of the user that initiated the sign-in. userDisplayName?: NullableOption; // ID of the user that initiated the sign-in. userId?: string; // User principal name of the user that initiated the sign-in. userPrincipalName?: NullableOption; } export interface RestrictedSignIn extends SignIn { targetTenantId?: NullableOption; } // tslint:disable-next-line: interface-name export interface Invitation extends Entity { // The display name of the user being invited. invitedUserDisplayName?: NullableOption; /** * The email address of the user being invited. Required. The following special characters are not permitted in the email * address:Tilde (~)Exclamation point (!)Number sign (#)Dollar sign ($)Percent (%)Circumflex (^)Ampersand (&)Asterisk * (*)Parentheses (( ))Plus sign (+)Equal sign (=)Brackets ([ ])Braces ({ })Backslash (/)Slash mark (/)Pipe (/|)Semicolon * (;)Colon (:)Quotation marks (')Angle brackets (< >)Question mark (?)Comma (,)However, the following * exceptions apply:A period (.) or a hyphen (-) is permitted anywhere in the user name, except at the beginning or end of * the name.An underscore (_) is permitted anywhere in the user name. This includes at the beginning or end of the name. */ invitedUserEmailAddress?: string; /** * Additional configuration for the message being sent to the invited user, including customizing message text, language * and cc recipient list. */ invitedUserMessageInfo?: NullableOption; /** * The userType of the user being invited. By default, this is Guest. You can invite as Member if you are a company * administrator. */ invitedUserType?: NullableOption; // The URL the user can use to redeem their invitation. Read-only inviteRedeemUrl?: NullableOption; // The URL the user should be redirected to once the invitation is redeemed. Required. inviteRedirectUrl?: string; // Indicates whether an email should be sent to the user being invited or not. The default is false. sendInvitationMessage?: NullableOption; // The status of the invitation. Possible values: PendingAcceptance, Completed, InProgress, and Error status?: NullableOption; // The user created as part of the invitation creation. Read-Only invitedUser?: NullableOption; } export interface DirectoryObject extends Entity { deletedDateTime?: NullableOption; } export interface User extends DirectoryObject { // true if the account is enabled; otherwise, false. This property is required when a user is created. Supports $filter. accountEnabled?: NullableOption; /** * Sets the age group of the user. Allowed values: null, minor, notAdult and adult. Refer to the legal age group property * definitions for further information. */ ageGroup?: NullableOption; // The licenses that are assigned to the user. Not nullable. assignedLicenses?: AssignedLicense[]; // The plans that are assigned to the user. Read-only. Not nullable. assignedPlans?: AssignedPlan[]; /** * The telephone numbers for the user. NOTE: Although this is a string collection, only one number can be set for this * property. Read-only for users synced from on-premises directory. */ businessPhones?: string[]; // The city in which the user is located. Supports $filter. city?: NullableOption; /** * The company name which the user is associated. This property can be useful for describing the company that an external * user comes from. The maximum length of the company name is 64 chararcters.Returned only on $select. */ companyName?: NullableOption; /** * Sets whether consent has been obtained for minors. Allowed values: null, granted, denied and notRequired. Refer to the * legal age group property definitions for further information. */ consentProvidedForMinor?: NullableOption; // The country/region in which the user is located; for example, 'US' or 'UK'. Supports $filter. country?: NullableOption; // The created date of the user object. createdDateTime?: NullableOption; /** * Indicates whether the user account was created as a regular school or work account (null), an external account * (Invitation), a local account for an Azure Active Directory B2C tenant (LocalAccount) or self-service sign-up using * email verification (EmailVerified). Read-only. */ creationType?: NullableOption; // The name for the department in which the user works. Supports $filter. department?: NullableOption; /** * The name displayed in the address book for the user. This is usually the combination of the user's first name, middle * initial and last name. This property is required when a user is created and it cannot be cleared during updates. * Supports $filter and $orderby. */ displayName?: NullableOption; // The employee identifier assigned to the user by the organization. Returned only on $select. Supports $filter. employeeId?: NullableOption; /** * For an external user invited to the tenant using the invitation API, this property represents the invited user's * invitation status. For invited users, the state can be PendingAcceptance or Accepted, or null for all other users. * Returned only on $select. Supports $filter with the supported values. For example: $filter=externalUserState eq * 'PendingAcceptance'. */ externalUserState?: NullableOption; // Shows the timestamp for the latest change to the externalUserState property. Returned only on $select. externalUserStateChangeDateTime?: NullableOption; // The fax number of the user. faxNumber?: NullableOption; // The given name (first name) of the user. Supports $filter. givenName?: NullableOption; /** * Represents the identities that can be used to sign in to this user account. An identity can be provided by Microsoft * (also known as a local account), by organizations, or by social identity providers such as Facebook, Google, and * Microsoft, and tied to a user account. May contain multiple items with the same signInType value. Supports $filter. */ identities?: NullableOption; // The instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user. Read-only. imAddresses?: NullableOption; // Do not use – reserved for future use. isResourceAccount?: NullableOption; // The user's job title. Supports $filter. jobTitle?: NullableOption; /** * The time when this Azure AD user last changed their password. The date and time information uses ISO 8601 format and is * always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ lastPasswordChangeDateTime?: NullableOption; /** * Used by enterprise applications to determine the legal age group of the user. This property is read-only and calculated * based on ageGroup and consentProvidedForMinor properties. Allowed values: null, minorWithOutParentalConsent, * minorWithParentalConsent, minorNoParentalConsentRequired, notAdult and adult. Refer to the legal age group property * definitions for further information.) */ legalAgeGroupClassification?: NullableOption; // State of license assignments for this user. Read-only. licenseAssignmentStates?: NullableOption; // The SMTP address for the user, for example, 'jeff@contoso.onmicrosoft.com'. Supports $filter. mail?: NullableOption; // The mail alias for the user. This property must be specified when a user is created. Supports $filter. mailNickname?: NullableOption; // The primary cellular telephone number for the user. Read-only for users synced from on-premises directory. mobilePhone?: NullableOption; // The office location in the user's place of business. officeLocation?: NullableOption; /** * Contains the on-premises Active Directory distinguished name or DN. The property is only populated for customers who * are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only. */ onPremisesDistinguishedName?: NullableOption; /** * Contains the on-premises domainFQDN, also called dnsDomainName synchronized from the on-premises directory. The * property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory * via Azure AD Connect. Read-only. */ onPremisesDomainName?: NullableOption; /** * Contains extensionAttributes 1-15 for the user. Note that the individual extension attributes are neither selectable * nor filterable. For an onPremisesSyncEnabled user, the source of authority for this set of properties is the * on-premises and is read-only. For a cloud-only user (where onPremisesSyncEnabled is false), these properties may be set * during creation or update. These extension attributes are also known as Exchange custom attributes 1-15. */ onPremisesExtensionAttributes?: NullableOption; /** * This property is used to associate an on-premises Active Directory user account to their Azure AD user object. This * property must be specified when creating a new user account in the Graph if you are using a federated domain for the * user's userPrincipalName (UPN) property. Important: The $ and _ characters cannot be used when specifying this * property. Supports $filter. */ onPremisesImmutableId?: NullableOption; /** * Indicates the last time at which the object was synced with the on-premises directory; for example: * '2013-02-16T03:04:54Z'. The Timestamp type represents date and time information using ISO 8601 format and is always in * UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Read-only. */ onPremisesLastSyncDateTime?: NullableOption; // Errors when using Microsoft synchronization product during provisioning. onPremisesProvisioningErrors?: NullableOption; /** * Contains the on-premises samAccountName synchronized from the on-premises directory. The property is only populated for * customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only. */ onPremisesSamAccountName?: NullableOption; /** * Contains the on-premises security identifier (SID) for the user that was synchronized from on-premises to the cloud. * Read-only. */ onPremisesSecurityIdentifier?: NullableOption; /** * true if this object is synced from an on-premises directory; false if this object was originally synced from an * on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory * (default). Read-only */ onPremisesSyncEnabled?: NullableOption; /** * Contains the on-premises userPrincipalName synchronized from the on-premises directory. The property is only populated * for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. * Read-only. */ onPremisesUserPrincipalName?: NullableOption; /** * A list of additional email addresses for the user; for example: ['bob@contoso.com', 'Robert@fabrikam.com']. Supports * $filter. */ otherMails?: string[]; /** * Specifies password policies for the user. This value is an enumeration with one possible value being * 'DisableStrongPassword', which allows weaker passwords than the default policy to be specified. * 'DisablePasswordExpiration' can also be specified. The two may be specified together; for example: * 'DisablePasswordExpiration, DisableStrongPassword'. */ passwordPolicies?: NullableOption; /** * Specifies the password profile for the user. The profile contains the user’s password. This property is required when a * user is created. The password in the profile must satisfy minimum requirements as specified by the passwordPolicies * property. By default, a strong password is required. */ passwordProfile?: NullableOption; /** * The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United * States of America, this attribute contains the ZIP code. */ postalCode?: NullableOption; // The preferred language for the user. Should follow ISO 639-1 Code; for example 'en-US'. preferredLanguage?: NullableOption; // The plans that are provisioned for the user. Read-only. Not nullable. provisionedPlans?: ProvisionedPlan[]; /** * For example: ['SMTP: bob@contoso.com', 'smtp: bob@sales.contoso.com'] The any operator is required for filter * expressions on multi-valued properties. Read-only, Not nullable. Supports $filter. */ proxyAddresses?: string[]; /** * true if the Outlook global address list should contain this user, otherwise false. If not set, this will be treated as * true. For users invited through the invitation manager, this property will be set to false. */ showInAddressList?: NullableOption; /** * Any refresh tokens or sessions tokens (session cookies) issued before this time are invalid, and applications will get * an error when using an invalid refresh or sessions token to acquire a delegated access token (to access APIs such as * Microsoft Graph). If this happens, the application will need to acquire a new refresh token by making a request to the * authorize endpoint. Read-only. Use revokeSignInSessions to reset. */ signInSessionsValidFromDateTime?: NullableOption; // The state or province in the user's address. Supports $filter. state?: NullableOption; // The street address of the user's place of business. streetAddress?: NullableOption; // The user's surname (family name or last name). Supports $filter. surname?: NullableOption; /** * A two letter country code (ISO standard 3166). Required for users that will be assigned licenses due to legal * requirement to check for availability of services in countries. Examples include: 'US', 'JP', and 'GB'. Not nullable. * Supports $filter. */ usageLocation?: NullableOption; /** * The user principal name (UPN) of the user. The UPN is an Internet-style login name for the user based on the Internet * standard RFC 822. By convention, this should map to the user's email name. The general format is alias@domain, where * domain must be present in the tenant's collection of verified domains. This property is required when a user is * created. The verified domains for the tenant can be accessed from the verifiedDomains property of organization. * Supports $filter and $orderby. */ userPrincipalName?: NullableOption; /** * A string value that can be used to classify user types in your directory, such as 'Member' and 'Guest'. Supports * $filter. */ userType?: NullableOption; /** * Settings for the primary mailbox of the signed-in user. You can get or update settings for sending automatic replies to * incoming messages, locale and time zone. */ mailboxSettings?: NullableOption; // The limit on the maximum number of devices that the user is permitted to enroll. Allowed values are 5 or 1000. deviceEnrollmentLimit?: number; // A freeform text entry field for the user to describe themselves. aboutMe?: NullableOption; /** * The birthday of the user. The Timestamp type represents date and time information using ISO 8601 format and is always * in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ birthday?: string; /** * The hire date of the user. The Timestamp type represents date and time information using ISO 8601 format and is always * in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Returned only on * $select. Note: This property is specific to SharePoint Online. We recommend using the native employeeHireDate property * to set and update hire date values using Microsoft Graph APIs. */ hireDate?: string; // A list for the user to describe their interests. interests?: NullableOption; // The URL for the user's personal site. mySite?: NullableOption; // A list for the user to enumerate their past projects. pastProjects?: NullableOption; // The preferred name for the user. preferredName?: NullableOption; // A list for the user to enumerate their responsibilities. responsibilities?: NullableOption; // A list for the user to enumerate the schools they have attended. schools?: NullableOption; // A list for the user to enumerate their skills. skills?: NullableOption; appRoleAssignments?: NullableOption; // Directory objects that were created by the user. Read-only. Nullable. createdObjects?: NullableOption; /** * The users and contacts that report to the user. (The users and contacts that have their manager property set to this * user.) Read-only. Nullable. */ directReports?: NullableOption; // A collection of this user's license details. Read-only. licenseDetails?: NullableOption; // The user or contact that is this user's manager. Read-only. (HTTP Methods: GET, PUT, DELETE.) manager?: NullableOption; // The groups and directory roles that the user is a member of. Read-only. Nullable. memberOf?: NullableOption; oauth2PermissionGrants?: NullableOption; // Devices that are owned by the user. Read-only. Nullable. ownedDevices?: NullableOption; // Directory objects that are owned by the user. Read-only. Nullable. ownedObjects?: NullableOption; // Devices that are registered for the user. Read-only. Nullable. registeredDevices?: NullableOption; scopedRoleMemberOf?: NullableOption; transitiveMemberOf?: NullableOption; // The user's primary calendar. Read-only. calendar?: NullableOption; // The user's calendar groups. Read-only. Nullable. calendarGroups?: NullableOption; // The user's calendars. Read-only. Nullable. calendars?: NullableOption; // The calendar view for the calendar. Read-only. Nullable. calendarView?: NullableOption; // The user's contacts folders. Read-only. Nullable. contactFolders?: NullableOption; // The user's contacts. Read-only. Nullable. contacts?: NullableOption; // The user's events. Default is to show Events under the Default Calendar. Read-only. Nullable. events?: NullableOption; /** * Relevance classification of the user's messages based on explicit designations which override inferred relevance or * importance. */ inferenceClassification?: NullableOption; // The user's mail folders. Read-only. Nullable. mailFolders?: NullableOption; // The messages in a mailbox or folder. Read-only. Nullable. messages?: NullableOption; // Read-only. outlook?: NullableOption; // People that are relevant to the user. Read-only. Nullable. people?: NullableOption; // The user's profile photo. Read-only. photo?: NullableOption; photos?: NullableOption; // The user's OneDrive. Read-only. drive?: NullableOption; // A collection of drives available for this user. Read-only. drives?: NullableOption; followedSites?: NullableOption; // The collection of open extensions defined for the user. Read-only. Nullable. extensions?: NullableOption; // The managed devices associated with the user. managedDevices?: NullableOption; // Zero or more managed app registrations that belong to the user. managedAppRegistrations?: NullableOption; // The list of troubleshooting events for this user. deviceManagementTroubleshootingEvents?: NullableOption; // Entry-point to the Planner resource that might exist for a user. Read-only. planner?: NullableOption; // Read-only. Nullable. insights?: NullableOption; settings?: NullableOption; // Read-only. onenote?: NullableOption; // The user's activities across devices. Read-only. Nullable. activities?: NullableOption; onlineMeetings?: NullableOption; joinedTeams?: NullableOption; teamwork?: NullableOption; // Represents the To Do services available to a user. todo?: NullableOption; } export interface AppRoleAssignment extends DirectoryObject { /** * The identifier (id) for the app role which is assigned to the principal. This app role must be exposed in the appRoles * property on the resource application's service principal (resourceId). If the resource application has not declared any * app roles, a default app role ID of 00000000-0000-0000-0000-000000000000 can be specified to signal that the principal * is assigned to the resource app without any specific app roles. Required on create. Does not support $filter. */ appRoleId?: string; createdDateTime?: NullableOption; /** * The display name of the user, group, or service principal that was granted the app role assignment. Read-only. Supports * $filter (eq and startswith). */ principalDisplayName?: NullableOption; /** * The unique identifier (id) for the user, group or service principal being granted the app role. Required on create. * Does not support $filter. */ principalId?: NullableOption; /** * The type of the assigned principal. This can either be 'User', 'Group' or 'ServicePrincipal'. Read-only. Does not * support $filter. */ principalType?: NullableOption; // The display name of the resource app's service principal to which the assignment is made. Does not support $filter. resourceDisplayName?: NullableOption; /** * The unique identifier (id) for the resource service principal for which the assignment is made. Required on create. * Supports $filter (eq only). */ resourceId?: NullableOption; } export interface LicenseDetails extends Entity { // Information about the service plans assigned with the license. Read-only, Not nullable servicePlans?: ServicePlanInfo[]; /** * Unique identifier (GUID) for the service SKU. Equal to the skuId property on the related SubscribedSku object. * Read-only */ skuId?: NullableOption; /** * Unique SKU display name. Equal to the skuPartNumber on the related SubscribedSku object; for example: 'AAD_Premium'. * Read-only */ skuPartNumber?: NullableOption; } export interface OAuth2PermissionGrant extends Entity { /** * The id of the client service principal for the application which is authorized to act on behalf of a signed-in user * when accessing an API. Required. Supports $filter (eq only). */ clientId?: string; /** * Indicates if authorization is granted for the client application to impersonate all users or only a specific user. * AllPrincipals indicates authorization to impersonate all users. Principal indicates authorization to impersonate a * specific user. Consent on behalf of all users can be granted by an administrator. Non-admin users may be authorized to * consent on behalf of themselves in some cases, for some delegated permissions. Required. Supports $filter (eq only). */ consentType?: NullableOption; /** * The id of the user on behalf of whom the client is authorized to access the resource, when consentType is Principal. If * consentType is AllPrincipals this value is null. Required when consentType is Principal. */ principalId?: NullableOption; /** * The id of the resource service principal to which access is authorized. This identifies the API which the client is * authorized to attempt to call on behalf of a signed-in user. */ resourceId?: string; /** * A space-separated list of the claim values for delegated permissions which should be included in access tokens for the * resource application (the API). For example, openid User.Read GroupMember.Read.All. Each claim value should match the * value field of one of the delegated permissions defined by the API, listed in the publishedPermissionScopes property of * the resource service principal. */ scope?: NullableOption; } export interface ScopedRoleMembership extends Entity { // Unique identifier for the administrative unit that the directory role is scoped to administrativeUnitId?: string; // Unique identifier for the directory role that the member is in. roleId?: string; // Role member identity information. Represents the user that is a member of this scoped-role. roleMemberInfo?: Identity; } export interface Calendar extends Entity { /** * Represent the online meeting service providers that can be used to create online meetings in this calendar. Possible * values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness. */ allowedOnlineMeetingProviders?: NullableOption; /** * True if the user can write to the calendar, false otherwise. This property is true for the user who created the * calendar. This property is also true for a user who has been shared a calendar and granted write access. */ canEdit?: NullableOption; /** * True if the user has the permission to share the calendar, false otherwise. Only the user who created the calendar can * share it. */ canShare?: NullableOption; // True if the user can read calendar items that have been marked private, false otherwise. canViewPrivateItems?: NullableOption; /** * Identifies the version of the calendar object. Every time the calendar is changed, changeKey changes as well. This * allows Exchange to apply changes to the correct version of the object. Read-only. */ changeKey?: NullableOption; /** * Specifies the color theme to distinguish the calendar from other calendars in a UI. The property values are: * LightBlue=0, LightGreen=1, LightOrange=2, LightGray=3, LightYellow=4, LightTeal=5, LightPink=6, LightBrown=7, * LightRed=8, MaxColor=9, Auto=-1 */ color?: NullableOption; /** * The default online meeting provider for meetings sent from this calendar. Possible values are: unknown, * skypeForBusiness, skypeForConsumer, teamsForBusiness. */ defaultOnlineMeetingProvider?: NullableOption; hexColor?: NullableOption; isDefaultCalendar?: NullableOption; // Indicates whether this user calendar can be deleted from the user mailbox. isRemovable?: NullableOption; /** * Indicates whether this user calendar supports tracking of meeting responses. Only meeting invites sent from users' * primary calendars support tracking of meeting responses. */ isTallyingResponses?: NullableOption; // The calendar name. name?: NullableOption; /** * If set, this represents the user who created or added the calendar. For a calendar that the user created or added, the * owner property is set to the user. For a calendar shared with the user, the owner property is set to the person who * shared that calendar with the user. */ owner?: NullableOption; // The permissions of the users with whom the calendar is shared. calendarPermissions?: NullableOption; // The calendar view for the calendar. Navigation property. Read-only. calendarView?: NullableOption; // The events in the calendar. Navigation property. Read-only. events?: NullableOption; // The collection of multi-value extended properties defined for the calendar. Read-only. Nullable. multiValueExtendedProperties?: NullableOption; // The collection of single-value extended properties defined for the calendar. Read-only. Nullable. singleValueExtendedProperties?: NullableOption; } export interface CalendarGroup extends Entity { /** * Identifies the version of the calendar group. Every time the calendar group is changed, ChangeKey changes as well. This * allows Exchange to apply changes to the correct version of the object. Read-only. */ changeKey?: NullableOption; // The class identifier. Read-only. classId?: NullableOption; // The group name. name?: NullableOption; // The calendars in the calendar group. Navigation property. Read-only. Nullable. calendars?: NullableOption; } export interface OutlookItem extends Entity { // The categories associated with the item categories?: NullableOption; /** * Identifies the version of the item. Every time the item is changed, changeKey changes as well. This allows Exchange to * apply changes to the correct version of the object. Read-only. */ changeKey?: NullableOption; /** * The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ createdDateTime?: NullableOption; /** * The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ lastModifiedDateTime?: NullableOption; } export interface Event extends OutlookItem { /** * True if the meeting organizer allows invitees to propose a new time when responding, false otherwise. Optional. Default * is true. */ allowNewTimeProposals?: NullableOption; // The collection of attendees for the event. attendees?: NullableOption; // The body of the message associated with the event. It can be in HTML or text format. body?: NullableOption; // The preview of the message associated with the event. It is in text format. bodyPreview?: NullableOption; // The date, time, and time zone that the event ends. By default, the end time is in UTC. end?: NullableOption; // Set to true if the event has attachments. hasAttachments?: NullableOption; /** * A unique identifier for an event across calendars. This ID is different for each occurrence in a recurring series. * Read-only. */ iCalUId?: NullableOption; // The importance of the event. The possible values are: low, normal, high. importance?: NullableOption; // Set to true if the event lasts all day. isAllDay?: NullableOption; // Set to true if the event has been canceled. isCancelled?: NullableOption; isDraft?: NullableOption; // True if this event has online meeting information, false otherwise. Default is false. Optional. isOnlineMeeting?: NullableOption; /** * Set to true if the calendar owner (specified by the owner property of the calendar) is the organizer of the event * (specified by the organizer property of the event). This also applies if a delegate organized the event on behalf of * the owner. */ isOrganizer?: NullableOption; // Set to true if an alert is set to remind the user of the event. isReminderOn?: NullableOption; // The location of the event. location?: NullableOption; /** * The locations where the event is held or attended from. The location and locations properties always correspond with * each other. If you update the location property, any prior locations in the locations collection would be removed and * replaced by the new location value. */ locations?: NullableOption; // Details for an attendee to join the meeting online. Read-only. onlineMeeting?: NullableOption; /** * Represents the online meeting service provider. The possible values are teamsForBusiness, skypeForBusiness, and * skypeForConsumer. Optional. */ onlineMeetingProvider?: NullableOption; /** * A URL for an online meeting. The property is set only when an organizer specifies an event as an online meeting such as * a Skype meeting. Read-only. */ onlineMeetingUrl?: NullableOption; // The organizer of the event. organizer?: NullableOption; /** * The end time zone that was set when the event was created. A value of tzone://Microsoft/Custom indicates that a legacy * custom time zone was set in desktop Outlook. */ originalEndTimeZone?: NullableOption; /** * The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ originalStart?: NullableOption; /** * The start time zone that was set when the event was created. A value of tzone://Microsoft/Custom indicates that a * legacy custom time zone was set in desktop Outlook. */ originalStartTimeZone?: NullableOption; // The recurrence pattern for the event. recurrence?: NullableOption; // The number of minutes before the event start time that the reminder alert occurs. reminderMinutesBeforeStart?: NullableOption; // Default is true, which represents the organizer would like an invitee to send a response to the event. responseRequested?: NullableOption; // Indicates the type of response sent in response to an event message. responseStatus?: NullableOption; // The possible values are: normal, personal, private, confidential. sensitivity?: NullableOption; // The ID for the recurring series master item, if this event is part of a recurring series. seriesMasterId?: NullableOption; // The status to show. The possible values are: free, tentative, busy, oof, workingElsewhere, unknown. showAs?: NullableOption; // The date, time, and time zone that the event starts. By default, the start time is in UTC. start?: NullableOption; // The text of the event's subject line. subject?: NullableOption; /** * A custom identifier specified by a client app for the server to avoid redundant POST operations in case of client * retries to create the same event. This is useful when low network connectivity causes the client to time out before * receiving a response from the server for the client's prior create-event request. After you set transactionId when * creating an event, you cannot change transactionId in a subsequent update. This property is only returned in a response * payload if an app has set it. Optional. */ transactionId?: NullableOption; // The event type. The possible values are: singleInstance, occurrence, exception, seriesMaster. Read-only. type?: NullableOption; /** * The URL to open the event in Outlook on the web.Outlook on the web opens the event in the browser if you are signed in * to your mailbox. Otherwise, Outlook on the web prompts you to sign in.This URL cannot be accessed from within an * iFrame. */ webLink?: NullableOption; /** * The collection of fileAttachment and itemAttachment attachments for the event. Navigation property. Read-only. * Nullable. */ attachments?: NullableOption; // The calendar that contains the event. Navigation property. Read-only. calendar?: NullableOption; // The collection of open extensions defined for the event. Read-only. Nullable. extensions?: NullableOption; // The instances of the event. Navigation property. Read-only. Nullable. instances?: NullableOption; // The collection of multi-value extended properties defined for the event. Read-only. Nullable. multiValueExtendedProperties?: NullableOption; // The collection of single-value extended properties defined for the event. Read-only. Nullable. singleValueExtendedProperties?: NullableOption; } export interface ContactFolder extends Entity { // The folder's display name. displayName?: NullableOption; // The ID of the folder's parent folder. parentFolderId?: NullableOption; // The collection of child folders in the folder. Navigation property. Read-only. Nullable. childFolders?: NullableOption; // The contacts in the folder. Navigation property. Read-only. Nullable. contacts?: NullableOption; // The collection of multi-value extended properties defined for the contactFolder. Read-only. Nullable. multiValueExtendedProperties?: NullableOption; // The collection of single-value extended properties defined for the contactFolder. Read-only. Nullable. singleValueExtendedProperties?: NullableOption; } export interface Contact extends OutlookItem { // The name of the contact's assistant. assistantName?: NullableOption; /** * The contact's birthday. The Timestamp type represents date and time information using ISO 8601 format and is always in * UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ birthday?: NullableOption; // The contact's business address. businessAddress?: NullableOption; // The business home page of the contact. businessHomePage?: NullableOption; // The contact's business phone numbers. businessPhones?: NullableOption; // The names of the contact's children. children?: NullableOption; // The name of the contact's company. companyName?: NullableOption; // The contact's department. department?: NullableOption; /** * The contact's display name. You can specify the display name in a create or update operation. Note that later updates * to other properties may cause an automatically generated value to overwrite the displayName value you have specified. * To preserve a pre-existing value, always include it as displayName in an update operation. */ displayName?: NullableOption; // The contact's email addresses. emailAddresses?: NullableOption; // The name the contact is filed under. fileAs?: NullableOption; // The contact's generation. generation?: NullableOption; // The contact's given name. givenName?: NullableOption; // The contact's home address. homeAddress?: NullableOption; // The contact's home phone numbers. homePhones?: NullableOption; // The contact's instant messaging (IM) addresses. imAddresses?: NullableOption; // The contact's initials. initials?: NullableOption; // The contact’s job title. jobTitle?: NullableOption; // The name of the contact's manager. manager?: NullableOption; // The contact's middle name. middleName?: NullableOption; // The contact's mobile phone number. mobilePhone?: NullableOption; // The contact's nickname. nickName?: NullableOption; // The location of the contact's office. officeLocation?: NullableOption; // Other addresses for the contact. otherAddress?: NullableOption; // The ID of the contact's parent folder. parentFolderId?: NullableOption; // The user's notes about the contact. personalNotes?: NullableOption; // The contact's profession. profession?: NullableOption; // The name of the contact's spouse/partner. spouseName?: NullableOption; // The contact's surname. surname?: NullableOption; // The contact's title. title?: NullableOption; // The phonetic Japanese company name of the contact. yomiCompanyName?: NullableOption; // The phonetic Japanese given name (first name) of the contact. yomiGivenName?: NullableOption; // The phonetic Japanese surname (last name) of the contact. yomiSurname?: NullableOption; // The collection of open extensions defined for the contact. Read-only. Nullable. extensions?: NullableOption; // The collection of multi-value extended properties defined for the contact. Read-only. Nullable. multiValueExtendedProperties?: NullableOption; // Optional contact picture. You can get or set a photo for a contact. photo?: NullableOption; // The collection of single-value extended properties defined for the contact. Read-only. Nullable. singleValueExtendedProperties?: NullableOption; } // tslint:disable-next-line: interface-name export interface InferenceClassification extends Entity { /** * A set of overrides for a user to always classify messages from specific senders in certain ways: focused, or other. * Read-only. Nullable. */ overrides?: NullableOption; } export interface MailFolder extends Entity { // The number of immediate child mailFolders in the current mailFolder. childFolderCount?: NullableOption; // The mailFolder's display name. displayName?: NullableOption; // The unique identifier for the mailFolder's parent mailFolder. parentFolderId?: NullableOption; // The number of items in the mailFolder. totalItemCount?: NullableOption; // The number of items in the mailFolder marked as unread. unreadItemCount?: NullableOption; // The collection of child folders in the mailFolder. childFolders?: NullableOption; // The collection of rules that apply to the user's Inbox folder. messageRules?: NullableOption; // The collection of messages in the mailFolder. messages?: NullableOption; // The collection of multi-value extended properties defined for the mailFolder. Read-only. Nullable. multiValueExtendedProperties?: NullableOption; // The collection of single-value extended properties defined for the mailFolder. Read-only. Nullable. singleValueExtendedProperties?: NullableOption; } export interface Message extends OutlookItem { // The Bcc: recipients for the message. bccRecipients?: NullableOption; // The body of the message. It can be in HTML or text format. Find out about safe HTML in a message body. body?: NullableOption; // The first 255 characters of the message body. It is in text format. bodyPreview?: NullableOption; // The Cc: recipients for the message. ccRecipients?: NullableOption; // The ID of the conversation the email belongs to. conversationId?: NullableOption; // Indicates the position of the message within the conversation. conversationIndex?: NullableOption; // The flag value that indicates the status, start date, due date, or completion date for the message. flag?: NullableOption; /** * The owner of the mailbox from which the message is sent. In most cases, this value is the same as the sender property, * except for sharing or delegation scenarios. The value must correspond to the actual mailbox used. Find out more about * setting the from and sender properties of a message. */ from?: NullableOption; /** * Indicates whether the message has attachments. This property doesn't include inline attachments, so if a message * contains only inline attachments, this property is false. To verify the existence of inline attachments, parse the body * property to look for a src attribute, such as <IMG src='cid:image001.jpg@01D26CD8.6C05F070'>. */ hasAttachments?: NullableOption; // The importance of the message: Low, Normal, High. importance?: NullableOption; /** * The classification of the message for the user, based on inferred relevance or importance, or on an explicit override. * The possible values are: focused or other. */ inferenceClassification?: NullableOption; /** * A collection of message headers defined by RFC5322. The set includes message headers indicating the network path taken * by a message from the sender to the recipient. It can also contain custom message headers that hold app data for the * message. Returned only on applying a $select query option. Read-only. */ internetMessageHeaders?: NullableOption; // The message ID in the format specified by RFC2822. internetMessageId?: NullableOption; // Indicates whether a read receipt is requested for the message. isDeliveryReceiptRequested?: NullableOption; // Indicates whether the message is a draft. A message is a draft if it hasn't been sent yet. isDraft?: NullableOption; // Indicates whether the message has been read. isRead?: NullableOption; // Indicates whether a read receipt is requested for the message. isReadReceiptRequested?: NullableOption; // The unique identifier for the message's parent mailFolder. parentFolderId?: NullableOption; // The date and time the message was received. receivedDateTime?: NullableOption; // The email addresses to use when replying. replyTo?: NullableOption; /** * The account that is actually used to generate the message. In most cases, this value is the same as the from property. * You can set this property to a different value when sending a message from a shared mailbox, for a shared calendar, or * as a delegate. In any case, the value must correspond to the actual mailbox used. Find out more about setting the from * and sender properties of a message. */ sender?: NullableOption; // The date and time the message was sent. sentDateTime?: NullableOption; // The subject of the message. subject?: NullableOption; // The To: recipients for the message. toRecipients?: NullableOption; /** * The part of the body of the message that is unique to the current message. uniqueBody is not returned by default but * can be retrieved for a given message by use of the ?$select=uniqueBody query. It can be in HTML or text format. */ uniqueBody?: NullableOption; /** * The URL to open the message in Outlook on the web.You can append an ispopout argument to the end of the URL to change * how the message is displayed. If ispopout is not present or if it is set to 1, then the message is shown in a popout * window. If ispopout is set to 0, then the browser will show the message in the Outlook on the web review pane.The * message will open in the browser if you are logged in to your mailbox via Outlook on the web. You will be prompted to * login if you are not already logged in with the browser.This URL cannot be accessed from within an iFrame. */ webLink?: NullableOption; // The fileAttachment and itemAttachment attachments for the message. attachments?: NullableOption; // The collection of open extensions defined for the message. Nullable. extensions?: NullableOption; // The collection of multi-value extended properties defined for the message. Nullable. multiValueExtendedProperties?: NullableOption; // The collection of single-value extended properties defined for the message. Nullable. singleValueExtendedProperties?: NullableOption; } export interface OutlookUser extends Entity { // A list of categories defined for the user. masterCategories?: NullableOption; } export interface Person extends Entity { // The person's birthday. birthday?: NullableOption; // The name of the person's company. companyName?: NullableOption; // The person's department. department?: NullableOption; // The person's display name. displayName?: NullableOption; // The person's given name. givenName?: NullableOption; // The instant message voice over IP (VOIP) session initiation protocol (SIP) address for the user. Read-only. imAddress?: NullableOption; // true if the user has flagged this person as a favorite. isFavorite?: NullableOption; // The person's job title. jobTitle?: NullableOption; // The location of the person's office. officeLocation?: NullableOption; // Free-form notes that the user has taken about this person. personNotes?: NullableOption; // The type of person. personType?: NullableOption; // The person's phone numbers. phones?: NullableOption; // The person's addresses. postalAddresses?: NullableOption; // The person's profession. profession?: NullableOption; // The person's email addresses. scoredEmailAddresses?: NullableOption; // The person's surname. surname?: NullableOption; /** * The user principal name (UPN) of the person. The UPN is an Internet-style login name for the person based on the * Internet standard RFC 822. By convention, this should map to the person's email name. The general format is * alias@domain. */ userPrincipalName?: NullableOption; // The person's websites. websites?: NullableOption; // The phonetic Japanese name of the person's company. yomiCompany?: NullableOption; } export interface ProfilePhoto extends Entity { // The height of the photo. Read-only. height?: NullableOption; // The width of the photo. Read-only. width?: NullableOption; } export interface BaseItem extends Entity { // Identity of the user, device, or application which created the item. Read-only. createdBy?: NullableOption; // Date and time of item creation. Read-only. createdDateTime?: string; // Provides a user-visible description of the item. Optional. description?: NullableOption; // ETag for the item. Read-only. eTag?: NullableOption; // Identity of the user, device, and application which last modified the item. Read-only. lastModifiedBy?: NullableOption; // Date and time the item was last modified. Read-only. lastModifiedDateTime?: string; // The name of the item. Read-write. name?: NullableOption; // Parent information, if the item has a parent. Read-write. parentReference?: NullableOption; // URL that displays the resource in the browser. Read-only. webUrl?: NullableOption; // Identity of the user who created the item. Read-only. createdByUser?: NullableOption; // Identity of the user who last modified the item. Read-only. lastModifiedByUser?: NullableOption; } export interface Drive extends BaseItem { /** * Describes the type of drive represented by this resource. OneDrive personal drives will return personal. OneDrive for * Business will return business. SharePoint document libraries will return documentLibrary. Read-only. */ driveType?: NullableOption; // Optional. The user account that owns the drive. Read-only. owner?: NullableOption; // Optional. Information about the drive's storage space quota. Read-only. quota?: NullableOption; sharePointIds?: NullableOption; // If present, indicates that this is a system-managed drive. Read-only. system?: NullableOption; // The list of items the user is following. Only in OneDrive for Business. following?: NullableOption; // All items contained in the drive. Read-only. Nullable. items?: NullableOption; // For drives in SharePoint, the underlying document library list. Read-only. Nullable. list?: NullableOption; // The root folder of the drive. Read-only. root?: NullableOption; // Collection of common folders available in OneDrive. Read-only. Nullable. special?: NullableOption; } export interface Site extends BaseItem { // The full title for the site. Read-only. displayName?: NullableOption; error?: NullableOption; // If present, indicates that this is the root site in the site collection. Read-only. root?: NullableOption; // Returns identifiers useful for SharePoint REST compatibility. Read-only. sharepointIds?: NullableOption; // Provides details about the site's site collection. Available only on the root site. Read-only. siteCollection?: NullableOption; // Analytics about the view activities that took place in this site. analytics?: NullableOption; // The collection of column definitions reusable across lists under this site. columns?: NullableOption; // The collection of content types defined for this site. contentTypes?: NullableOption; // The default drive (document library) for this site. drive?: NullableOption; // The collection of drives (document libraries) under this site. drives?: NullableOption; // Used to address any item contained in this site. This collection cannot be enumerated. items?: NullableOption; // The collection of lists under this site. lists?: NullableOption; // The collection of the sub-sites under this site. sites?: NullableOption; // Calls the OneNote service for notebook related operations. onenote?: NullableOption; } // tslint:disable-next-line: no-empty-interface export interface Extension extends Entity {} export interface ManagedDevice extends Entity { // Code that allows the Activation Lock on a device to be bypassed. activationLockBypassCode?: NullableOption; // Android security patch level androidSecurityPatchLevel?: NullableOption; // The unique identifier for the Azure Active Directory device. Read only. azureADDeviceId?: NullableOption; // Whether the device is Azure Active Directory registered. azureADRegistered?: NullableOption; // The DateTime when device compliance grace period expires complianceGracePeriodExpirationDateTime?: string; /** * Compliance state of the device. Possible values are: unknown, compliant, noncompliant, conflict, error, inGracePeriod, * configManager. */ complianceState?: ComplianceState; // ConfigrMgr client enabled features configurationManagerClientEnabledFeatures?: NullableOption; // List of ComplexType deviceActionResult objects. deviceActionResults?: NullableOption; // Device category display name deviceCategoryDisplayName?: NullableOption; /** * Enrollment type of the device. Possible values are: unknown, userEnrollment, deviceEnrollmentManager, * appleBulkWithUser, appleBulkWithoutUser, windowsAzureADJoin, windowsBulkUserless, windowsAutoEnrollment, * windowsBulkAzureDomainJoin, windowsCoManagement. */ deviceEnrollmentType?: DeviceEnrollmentType; // The device health attestation state. deviceHealthAttestationState?: NullableOption; // Name of the device deviceName?: NullableOption; /** * Device registration state. Possible values are: notRegistered, registered, revoked, keyConflict, approvalPending, * certificateReset, notRegisteredPendingEnrollment, unknown. */ deviceRegistrationState?: DeviceRegistrationState; // Whether the device is Exchange ActiveSync activated. easActivated?: boolean; // Exchange ActivationSync activation time of the device. easActivationDateTime?: string; // Exchange ActiveSync Id of the device. easDeviceId?: NullableOption; // Email(s) for the user associated with the device emailAddress?: NullableOption; // Enrollment time of the device. enrolledDateTime?: string; // The Access State of the device in Exchange. Possible values are: none, unknown, allowed, blocked, quarantined. exchangeAccessState?: DeviceManagementExchangeAccessState; /** * The reason for the device's access state in Exchange. Possible values are: none, unknown, exchangeGlobalRule, * exchangeIndividualRule, exchangeDeviceRule, exchangeUpgrade, exchangeMailboxPolicy, other, compliant, notCompliant, * notEnrolled, unknownLocation, mfaRequired, azureADBlockDueToAccessPolicy, compromisedPassword, * deviceNotKnownWithManagedApp. */ exchangeAccessStateReason?: DeviceManagementExchangeAccessStateReason; // Last time the device contacted Exchange. exchangeLastSuccessfulSyncDateTime?: string; // Free Storage in Bytes freeStorageSpaceInBytes?: number; // IMEI imei?: NullableOption; // Device encryption status isEncrypted?: boolean; // Device supervised status isSupervised?: boolean; // whether the device is jail broken or rooted. jailBroken?: NullableOption; // The date and time that the device last completed a successful sync with Intune. lastSyncDateTime?: string; // Automatically generated name to identify a device. Can be overwritten to a user friendly name. managedDeviceName?: NullableOption; // Ownership of the device. Can be 'company' or 'personal'. Possible values are: unknown, company, personal. managedDeviceOwnerType?: ManagedDeviceOwnerType; /** * Management channel of the device. Intune, EAS, etc. Possible values are: eas, mdm, easMdm, intuneClient, * easIntuneClient, configurationManagerClient, configurationManagerClientMdm, configurationManagerClientMdmEas, unknown, * jamf, googleCloudDevicePolicyController. */ managementAgent?: ManagementAgentType; // Manufacturer of the device manufacturer?: NullableOption; // MEID meid?: NullableOption; // Model of the device model?: NullableOption; // Operating system of the device. Windows, iOS, etc. operatingSystem?: NullableOption; // Operating system version of the device. osVersion?: NullableOption; /** * Indicates the threat state of a device when a Mobile Threat Defense partner is in use by the account and device. Read * Only. Possible values are: unknown, activated, deactivated, secured, lowSeverity, mediumSeverity, highSeverity, * unresponsive, compromised, misconfigured. */ partnerReportedThreatState?: ManagedDevicePartnerReportedHealthState; // Phone number of the device phoneNumber?: NullableOption; // An error string that identifies issues when creating Remote Assistance session objects. remoteAssistanceSessionErrorDetails?: NullableOption; // Url that allows a Remote Assistance session to be established with the device. remoteAssistanceSessionUrl?: NullableOption; // SerialNumber serialNumber?: NullableOption; // Subscriber Carrier subscriberCarrier?: NullableOption; // Total Storage in Bytes totalStorageSpaceInBytes?: number; // User display name userDisplayName?: NullableOption; // Unique Identifier for the user associated with the device userId?: NullableOption; // Device user principal name userPrincipalName?: NullableOption; // Wi-Fi MAC wiFiMacAddress?: NullableOption; // Device compliance policy states for this device. deviceCompliancePolicyStates?: NullableOption; // Device configuration states for this device. deviceConfigurationStates?: NullableOption; // Device category deviceCategory?: NullableOption; } export interface ManagedAppRegistration extends Entity { // The app package Identifier appIdentifier?: NullableOption; // App version applicationVersion?: NullableOption; // Date and time of creation createdDateTime?: string; // Host device name deviceName?: NullableOption; /** * App management SDK generated tag, which helps relate apps hosted on the same device. Not guaranteed to relate apps in * all conditions. */ deviceTag?: NullableOption; // Host device type deviceType?: NullableOption; // Zero or more reasons an app registration is flagged. E.g. app running on rooted device flaggedReasons?: ManagedAppFlaggedReason[]; // Date and time of last the app synced with management service. lastSyncDateTime?: string; // App management SDK version managementSdkVersion?: NullableOption; // Operating System version platformVersion?: NullableOption; // The user Id to who this app registration belongs. userId?: NullableOption; // Version of the entity. version?: NullableOption; // Zero or more policys already applied on the registered app when it last synchronized with managment service. appliedPolicies?: NullableOption; // Zero or more policies admin intended for the app as of now. intendedPolicies?: NullableOption; // Zero or more long running operations triggered on the app registration. operations?: NullableOption; } export interface DeviceManagementTroubleshootingEvent extends Entity { // Id used for tracing the failure in the service. correlationId?: NullableOption; // Time when the event occurred . eventDateTime?: string; } export interface PlannerUser extends Entity { // Read-only. Nullable. Returns the plannerTasks assigned to the user. plans?: NullableOption; // Read-only. Nullable. Returns the plannerPlans shared with the user. tasks?: NullableOption; } export interface OfficeGraphInsights extends Entity { /** * Calculated relationship identifying documents shared with or by the user. This includes URLs, file attachments, and * reference attachments to OneDrive for Business and SharePoint files found in Outlook messages and meetings. This also * includes URLs and reference attachments to Teams conversations. Ordered by recency of share. */ shared?: NullableOption; /** * Calculated relationship identifying documents trending around a user. Trending documents are calculated based on * activity of the user's closest network of people and include files stored in OneDrive for Business and SharePoint. * Trending insights help the user to discover potentially useful content that the user has access to, but has never * viewed before. */ trending?: NullableOption; /** * Calculated relationship identifying the latest documents viewed or modified by a user, including OneDrive for Business * and SharePoint documents, ranked by recency of use. */ used?: NullableOption; } export interface UserSettings extends Entity { contributionToContentDiscoveryAsOrganizationDisabled?: boolean; contributionToContentDiscoveryDisabled?: boolean; shiftPreferences?: NullableOption; } export interface Onenote extends Entity { // The collection of OneNote notebooks that are owned by the user or group. Read-only. Nullable. notebooks?: NullableOption; /** * The status of OneNote operations. Getting an operations collection is not supported, but you can get the status of * long-running operations if the Operation-Location header is returned in the response. Read-only. Nullable. */ operations?: NullableOption; // The pages in all OneNote notebooks that are owned by the user or group. Read-only. Nullable. pages?: NullableOption; /** * The image and other file resources in OneNote pages. Getting a resources collection is not supported, but you can get * the binary content of a specific resource. Read-only. Nullable. */ resources?: NullableOption; // The section groups in all OneNote notebooks that are owned by the user or group. Read-only. Nullable. sectionGroups?: NullableOption; // The sections in all OneNote notebooks that are owned by the user or group. Read-only. Nullable. sections?: NullableOption; } export interface UserActivity extends Entity { /** * Required. URL used to launch the activity in the best native experience represented by the appId. Might launch a * web-based app if no native app exists. */ activationUrl?: string; /** * Required. URL for the domain representing the cross-platform identity mapping for the app. Mapping is stored either as * a JSON file hosted on the domain or configurable via Windows Dev Center. The JSON file is named * cross-platform-app-identifiers and is hosted at root of your HTTPS domain, either at the top level domain or include a * sub domain. For example: https://contoso.com or https://myapp.contoso.com but NOT https://myapp.contoso.com/somepath. * You must have a unique file and domain (or sub domain) per cross-platform app identity. For example, a separate file * and domain is needed for Word vs. PowerPoint. */ activitySourceHost?: string; // Required. The unique activity ID in the context of the app - supplied by caller and immutable thereafter. appActivityId?: string; /** * Optional. Short text description of the app used to generate the activity for use in cases when the app is not * installed on the user’s local device. */ appDisplayName?: NullableOption; // Optional. A custom piece of data - JSON-LD extensible description of content according to schema.org syntax. contentInfo?: NullableOption; /** * Optional. Used in the event the content can be rendered outside of a native or web-based app experience (for example, a * pointer to an item in an RSS feed). */ contentUrl?: NullableOption; // Set by the server. DateTime in UTC when the object was created on the server. createdDateTime?: NullableOption; // Set by the server. DateTime in UTC when the object expired on the server. expirationDateTime?: NullableOption; // Optional. URL used to launch the activity in a web-based app, if available. fallbackUrl?: NullableOption; // Set by the server. DateTime in UTC when the object was modified on the server. lastModifiedDateTime?: NullableOption; // Set by the server. A status code used to identify valid objects. Values: active, updated, deleted, ignored. status?: NullableOption; /** * Optional. The timezone in which the user's device used to generate the activity was located at activity creation time; * values supplied as Olson IDs in order to support cross-platform representation. */ userTimezone?: NullableOption; // Required. The object containing information to render the activity in the UX. visualElements?: VisualInfo; // Optional. NavigationProperty/Containment; navigation property to the activity's historyItems. historyItems?: NullableOption; } export interface OnlineMeeting extends Entity { // Specifies who can be a presenter in a meeting. Possible values are listed in the following table. allowedPresenters?: NullableOption; // The phone access (dial-in) information for an online meeting. Read-only. audioConferencing?: NullableOption; // The chat information associated with this online meeting. chatInfo?: NullableOption; // The meeting creation time in UTC. Read-only. creationDateTime?: NullableOption; // The meeting end time in UTC. endDateTime?: NullableOption; externalId?: NullableOption; // Whether or not to announce when callers join or leave. isEntryExitAnnounced?: NullableOption; /** * The join information in the language and locale variant specified in the Accept-Language request HTTP header. * Read-only. */ joinInformation?: NullableOption; // The join URL of the online meeting. Read-only. joinWebUrl?: NullableOption; // Specifies which participants can bypass the meeting lobby. lobbyBypassSettings?: NullableOption; // The participants associated with the online meeting. This includes the organizer and the attendees. participants?: NullableOption; // The meeting start time in UTC. startDateTime?: NullableOption; // The subject of the online meeting. subject?: NullableOption; // The video teleconferencing ID. Read-only. videoTeleconferenceId?: NullableOption; } export interface Team extends Entity { /** * An optional label. Typically describes the data or business sensitivity of the team. Must match one of a pre-configured * set in the tenant's directory. */ classification?: NullableOption; // An optional description for the team. description?: NullableOption; // The name of the team. displayName?: NullableOption; // Settings to configure use of Giphy, memes, and stickers in the team. funSettings?: NullableOption; // Settings to configure whether guests can create, update, or delete channels in the team. guestSettings?: NullableOption; // A unique ID for the team that has been used in a few places such as the audit log/Office 365 Management Activity API. internalId?: NullableOption; // Whether this team is in read-only mode. isArchived?: NullableOption; /** * Settings to configure whether members can perform certain actions, for example, create channels and add bots, in the * team. */ memberSettings?: NullableOption; // Settings to configure messaging and mentions in the team. messagingSettings?: NullableOption; /** * Optional. Indicates whether the team is intended for a particular use case. Each team specialization has access to * unique behaviors and experiences targeted to its use case. */ specialization?: NullableOption; // The visibility of the group and team. Defaults to Public. visibility?: NullableOption; /** * A hyperlink that will go to the team in the Microsoft Teams client. This is the URL that you get when you right-click a * team in the Microsoft Teams client and select Get link to team. This URL should be treated as an opaque blob, and not * parsed. */ webUrl?: NullableOption; // The schedule of shifts for this team. schedule?: NullableOption; // The collection of channels & messages associated with the team. channels?: NullableOption; group?: NullableOption; // The apps installed in this team. installedApps?: NullableOption; // Members and owners of the team. members?: NullableOption; // The async operations that ran or are running on this team. operations?: NullableOption; // The general channel for the team. primaryChannel?: NullableOption; // The template this team was created from. See available templates. template?: NullableOption; } export interface UserTeamwork extends Entity { // The apps installed in the personal scope of this user. installedApps?: NullableOption; } export interface Todo extends Entity { // The task lists in the users mailbox. lists?: NullableOption; } export interface Application extends DirectoryObject { /** * Defines custom behavior that a consuming service can use to call an app in specific contexts. For example, applications * that can render file streams may set the addIns property for its 'FileHandler' functionality. This will let services * like Microsoft 365 call the application in the context of a document the user is working on. */ addIns?: AddIn[]; // Specifies settings for an application that implements a web API. api?: NullableOption; // The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only. appId?: NullableOption; applicationTemplateId?: NullableOption; /** * The collection of roles the application declares. With app role assignments, these roles can be assigned to users, * groups, or other applications' service principals. Not nullable. */ appRoles?: AppRole[]; // The date and time the application was registered. Read-only. createdDateTime?: NullableOption; description?: NullableOption; // The display name for the application. displayName?: NullableOption; /** * Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this * attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: * This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is * a member of */ groupMembershipClaims?: NullableOption; /** * The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the * application is multi-tenant. For more information see Application Objects and Service Principal Objects. The any * operator is required for filter expressions on multi-valued properties. Not nullable. */ identifierUris?: string[]; /** * Basic profile information of the application such as app's marketing, support, terms of service and privacy statement * URLs. The terms of service and privacy statement are surfaced to users through the user consent experience. For more * info, see How to: Add Terms of service and privacy statement for registered Azure AD apps. */ info?: NullableOption; isDeviceOnlyAuthSupported?: NullableOption; /** * Specifies the fallback application type as public client, such as an installed application running on a mobile device. * The default value is false which means the fallback application type is confidential client such as web app. There are * certain scenarios where Azure AD cannot determine the client application type (e.g. ROPC flow where it is configured * without specifying a redirect URI). In those cases Azure AD will interpret the application type based on the value of * this property. */ isFallbackPublicClient?: NullableOption; // The collection of key credentials associated with the application Not nullable. keyCredentials?: KeyCredential[]; // The main logo for the application. Not nullable. logo?: any; notes?: NullableOption; oauth2RequirePostResponse?: boolean; /** * Application developers can configure optional claims in their Azure AD apps to specify which claims they want in tokens * sent to their application by the Microsoft security token service. See provide optional claims to your Azure AD app for * more information. */ optionalClaims?: NullableOption; // Specifies parental control settings for an application. parentalControlSettings?: NullableOption; // The collection of password credentials associated with the application. Not nullable. passwordCredentials?: PasswordCredential[]; // Specifies settings for installed clients such as desktop or mobile devices. publicClient?: NullableOption; // The verified publisher domain for the application. Read-only. publisherDomain?: NullableOption; /** * Specifies resources that this application requires access to and the set of OAuth permission scopes and application * roles that it needs under each of those resources. This pre-configuration of required resource access drives the * consent experience. Not nullable. */ requiredResourceAccess?: RequiredResourceAccess[]; /** * Specifies the Microsoft accounts that are supported for the current application. Supported values are:AzureADMyOrg: * Users with a Microsoft work or school account in my organization’s Azure AD tenant (single tenant)AzureADMultipleOrgs: * Users with a Microsoft work or school account in any organization’s Azure AD tenant * (multi-tenant).AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account * in any organization’s Azure AD tenant.PersonalMicrosoftAccount: Users with a personal Microsoft account only. */ signInAudience?: NullableOption; // Custom strings that can be used to categorize and identify the application. Not nullable. tags?: string[]; /** * Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the * tokens it emits by using the key this property points to. The application code that receives the encrypted token must * use the matching private key to decrypt the token before it can be used for the signed-in user. */ tokenEncryptionKeyId?: NullableOption; // Specifies settings for a web application. web?: NullableOption; // Read-only. createdOnBehalfOf?: NullableOption; // Read-only. Nullable. extensionProperties?: NullableOption; homeRealmDiscoveryPolicies?: NullableOption; /** * Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify * this object. Requires version 2013-11-08 or newer. Read-only. Nullable. */ owners?: NullableOption; tokenIssuancePolicies?: NullableOption; tokenLifetimePolicies?: NullableOption; } export interface ExtensionProperty extends DirectoryObject { // Display name of the application object on which this extension property is defined. Read-only. appDisplayName?: NullableOption; /** * Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. * Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - * 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum */ dataType?: string; // Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only. isSyncedFromOnPremises?: NullableOption; // Name of the extension property. Not nullable. name?: string; // Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication targetObjects?: string[]; } export interface PolicyBase extends DirectoryObject { // Description for this policy. description?: NullableOption; // Display name for this policy. displayName?: NullableOption; } export interface StsPolicy extends PolicyBase { /** * A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the * definition differs for each derived policy type. Required. */ definition?: string[]; /** * If set to true, activates this policy. There can be many policies for the same policy type, but only one can be * activated as the organization default. Optional, default value is false. */ isOrganizationDefault?: NullableOption; appliesTo?: NullableOption; } // tslint:disable-next-line: no-empty-interface export interface HomeRealmDiscoveryPolicy extends StsPolicy {} // tslint:disable-next-line: no-empty-interface export interface TokenIssuancePolicy extends StsPolicy {} // tslint:disable-next-line: no-empty-interface export interface TokenLifetimePolicy extends StsPolicy {} export interface ServicePrincipal extends DirectoryObject { // true if the service principal account is enabled; otherwise, false. accountEnabled?: NullableOption; /** * Defines custom behavior that a consuming service can use to call an app in specific contexts. For example, applications * that can render file streams may set the addIns property for its 'FileHandler' functionality. This will let services * like Microsoft 365 call the application in the context of a document the user is working on. */ addIns?: AddIn[]; /** * Used to retrieve service principals by subscription, identify resource group and full resource ids for managed * identities. */ alternativeNames?: string[]; appDescription?: NullableOption; // The display name exposed by the associated application. appDisplayName?: NullableOption; // The unique identifier for the associated application (its appId property). appId?: NullableOption; // Unique identifier of the applicationTemplate that the servicePrincipal was created from. Read-only. applicationTemplateId?: NullableOption; /** * Contains the tenant id where the application is registered. This is applicable only to service principals backed by * applications. */ appOwnerOrganizationId?: NullableOption; /** * Specifies whether users or other service principals need to be granted an app role assignment for this service * principal before users can sign in or apps can get tokens. The default value is false. Not nullable. */ appRoleAssignmentRequired?: boolean; /** * The roles exposed by the application which this service principal represents. For more information see the appRoles * property definition on the application entity. Not nullable. */ appRoles?: AppRole[]; description?: NullableOption; // The display name for the service principal. displayName?: NullableOption; // Home page or landing page of the application. homepage?: NullableOption; /** * Basic profile information of the acquired application such as app's marketing, support, terms of service and privacy * statement URLs. The terms of service and privacy statement are surfaced to users through the user consent experience. * For more info, see How to: Add Terms of service and privacy statement for registered Azure AD apps. */ info?: NullableOption; // The collection of key credentials associated with the service principal. Not nullable. keyCredentials?: KeyCredential[]; /** * Specifies the URL where the service provider redirects the user to Azure AD to authenticate. Azure AD uses the URL to * launch the application from Microsoft 365 or the Azure AD My Apps. When blank, Azure AD performs IdP-initiated sign-on * for applications configured with SAML-based single sign-on. The user launches the application from Microsoft 365, the * Azure AD My Apps, or the Azure AD SSO URL. */ loginUrl?: NullableOption; /** * Specifies the URL that will be used by Microsoft's authorization service to logout an user using OpenId Connect * front-channel, back-channel or SAML logout protocols. */ logoutUrl?: NullableOption; notes?: NullableOption; /** * Specifies the list of email addresses where Azure AD sends a notification when the active certificate is near the * expiration date. This is only for the certificates used to sign the SAML token issued for Azure AD Gallery * applications. */ notificationEmailAddresses?: string[]; /** * The delegated permissions exposed by the application. For more information see the oauth2PermissionScopes property on * the application entity's api property. Not nullable. */ oauth2PermissionScopes?: PermissionScope[]; // The collection of password credentials associated with the service principal. Not nullable. passwordCredentials?: PasswordCredential[]; /** * Specifies the single sign-on mode configured for this application. Azure AD uses the preferred single sign-on mode to * launch the application from Microsoft 365 or the Azure AD My Apps. The supported values are password, saml, external, * and oidc. */ preferredSingleSignOnMode?: NullableOption; preferredTokenSigningKeyThumbprint?: NullableOption; /** * The URLs that user tokens are sent to for sign in with the associated application, or the redirect URIs that OAuth 2.0 * authorization codes and access tokens are sent to for the associated application. Not nullable. */ replyUrls?: string[]; // The collection for settings related to saml single sign-on. samlSingleSignOnSettings?: NullableOption; /** * Contains the list of identifiersUris, copied over from the associated application. Additional values can be added to * hybrid applications. These values can be used to identify the permissions exposed by this app within Azure AD. For * example,Client apps can specify a resource URI which is based on the values of this property to acquire an access * token, which is the URI returned in the 'aud' claim.The any operator is required for filter expressions on multi-valued * properties. Not nullable. */ servicePrincipalNames?: string[]; /** * Identifies if the service principal represents an application or a managed identity. This is set by Azure AD * internally. For a service principal that represents an application this is set as Application. For a service principal * that represent a managed identity this is set as ManagedIdentity. */ servicePrincipalType?: NullableOption; signInAudience?: NullableOption; // Custom strings that can be used to categorize and identify the service principal. Not nullable. tags?: string[]; /** * Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD issues tokens for * this application encrypted using the key specified by this property. The application code that receives the encrypted * token must use the matching private key to decrypt the token before it can be used for the signed-in user. */ tokenEncryptionKeyId?: NullableOption; // Principals (users, groups, and service principals) that are assigned to this service principal. Read-only. appRoleAssignedTo?: NullableOption; // Applications that this service principal is assigned to. Read-only. Nullable. appRoleAssignments?: NullableOption; // The claimsMappingPolicies assigned to this service principal. claimsMappingPolicies?: NullableOption; // Directory objects created by this service principal. Read-only. Nullable. createdObjects?: NullableOption; delegatedPermissionClassifications?: NullableOption; /** * Endpoints available for discovery. Services like Sharepoint populate this property with a tenant specific SharePoint * endpoints that other applications can discover and use in their experiences. */ endpoints?: NullableOption; // The homeRealmDiscoveryPolicies assigned to this service principal. homeRealmDiscoveryPolicies?: NullableOption; // Roles that this service principal is a member of. HTTP Methods: GET Read-only. Nullable. memberOf?: NullableOption; /** * Delegated permission grants authorizing this service principal to access an API on behalf of a signed-in user. * Read-only. Nullable. */ oauth2PermissionGrants?: NullableOption; // Directory objects that are owned by this service principal. Read-only. Nullable. ownedObjects?: NullableOption; /** * Directory objects that are owners of this servicePrincipal. The owners are a set of non-admin users or * servicePrincipals who are allowed to modify this object. Read-only. Nullable. */ owners?: NullableOption; // The tokenIssuancePolicies assigned to this service principal. tokenIssuancePolicies?: NullableOption; // The tokenLifetimePolicies assigned to this service principal. tokenLifetimePolicies?: NullableOption; transitiveMemberOf?: NullableOption; } // tslint:disable-next-line: no-empty-interface export interface ClaimsMappingPolicy extends StsPolicy {} export interface DelegatedPermissionClassification extends Entity { classification?: NullableOption; permissionId?: NullableOption; permissionName?: NullableOption; } export interface Endpoint extends DirectoryObject { /** * Describes the capability that is associated with this resource. (e.g. Messages, Conversations, etc.) Not nullable. * Read-only. */ capability?: string; // Application id of the publishing underlying service. Not nullable. Read-only. providerId?: NullableOption; // Name of the publishing underlying service. Read-only. providerName?: NullableOption; /** * For Microsoft 365 groups, this is set to a well-known name for the resource (e.g. Yammer.FeedURL etc.). Not nullable. * Read-only. */ providerResourceId?: NullableOption; // URL of the published resource. Not nullable. Read-only. uri?: string; } // tslint:disable-next-line: interface-name export interface IdentityContainer extends Entity { conditionalAccess?: NullableOption; } export interface ConditionalAccessRoot extends Entity { namedLocations?: NullableOption; policies?: NullableOption; } // tslint:disable-next-line: interface-name export interface IdentityProvider extends Entity { clientId?: NullableOption; clientSecret?: NullableOption; name?: NullableOption; type?: NullableOption; } // tslint:disable-next-line: no-empty-interface export interface ActivityBasedTimeoutPolicy extends StsPolicy {} export interface AdministrativeUnit extends DirectoryObject { // An optional description for the administrative unit. description?: NullableOption; // Display name for the administrative unit. displayName?: NullableOption; /** * Controls whether the administrative unit and its members are hidden or public. Can be set to HiddenMembership or * Public. If not set, default behavior is Public. When set to HiddenMembership, only members of the administrative unit * can list other members of the adminstrative unit. */ visibility?: NullableOption; /** * Users and groups that are members of this Adminsitrative Unit. HTTP Methods: GET (list members), POST (add members), * DELETE (remove members). */ members?: NullableOption; /** * Scoped-role members of this Administrative Unit. HTTP Methods: GET (list scopedRoleMemberships), POST (add * scopedRoleMembership), DELETE (remove scopedRoleMembership). */ scopedRoleMembers?: NullableOption; extensions?: NullableOption; } export interface CertificateBasedAuthConfiguration extends Entity { // Collection of certificate authorities which creates a trusted certificate chain. certificateAuthorities?: CertificateAuthority[]; } export interface Contract extends DirectoryObject { /** * Type of contract.Possible values are: SyndicationPartner - Partner that exclusively resells and manages O365 and Intune * for this customer. They resell and support their customers. BreadthPartner - Partner has the ability to provide * administrative support for this customer. However, the partner is not allowed to resell to the customer.ResellerPartner * - Partner that is similar to a syndication partner, except that the partner doesn’t have exclusive access to a tenant. * In the syndication case, the customer cannot buy additional direct subscriptions from Microsoft or from other partners. */ contractType?: NullableOption; /** * The unique identifier for the customer tenant referenced by this partnership. Corresponds to the id property of the * customer tenant's organization resource. */ customerId?: NullableOption; /** * A copy of the customer tenant's default domain name. The copy is made when the partnership with the customer is * established. It is not automatically updated if the customer tenant's default domain name changes. */ defaultDomainName?: NullableOption; /** * A copy of the customer tenant's display name. The copy is made when the partnership with the customer is established. * It is not automatically updated if the customer tenant's display name changes. */ displayName?: NullableOption; } export interface Device extends DirectoryObject { // true if the account is enabled; otherwise, false. Required. accountEnabled?: NullableOption; // For internal use only. Not nullable. alternativeSecurityIds?: AlternativeSecurityId[]; /** * The timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Read-only. */ approximateLastSignInDateTime?: NullableOption; /** * The timestamp when the device is no longer deemed compliant. The timestamp type represents date and time information * using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: * '2014-01-01T00:00:00Z'. Read-only. */ complianceExpirationDateTime?: NullableOption; // Unique identifier set by Azure Device Registration Service at the time of registration. deviceId?: NullableOption; // For internal use only. Set to null. deviceMetadata?: NullableOption; // For internal use only. deviceVersion?: NullableOption; // The display name for the device. Required. displayName?: NullableOption; /** * true if the device complies with Mobile Device Management (MDM) policies; otherwise, false. Read-only. This can only be * updated by Intune for any device OS type or by an approved MDM app for Windows OS devices. */ isCompliant?: NullableOption; /** * true if the device is managed by a Mobile Device Management (MDM) app; otherwise, false. This can only be updated by * Intune for any device OS type or by an approved MDM app for Windows OS devices. */ isManaged?: NullableOption; // Application identifier used to register device into MDM. Read-only. Supports $filter. mdmAppId?: NullableOption; /** * The last time at which the object was synced with the on-premises directory. The Timestamp type represents date and * time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look * like this: '2014-01-01T00:00:00Z' Read-only. */ onPremisesLastSyncDateTime?: NullableOption; /** * true if this object is synced from an on-premises directory; false if this object was originally synced from an * on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory * (default). Read-only. */ onPremisesSyncEnabled?: NullableOption; // The type of operating system on the device. Required. operatingSystem?: NullableOption; // The version of the operating system on the device. Required. operatingSystemVersion?: NullableOption; // For internal use only. Not nullable. physicalIds?: string[]; // The profile type of the device. Possible values:RegisteredDevice (default)SecureVMPrinterSharedIoT profileType?: NullableOption; // List of labels applied to the device by the system. systemLabels?: string[]; /** * Type of trust for the joined device. Read-only. Possible values: Workplace - indicates bring your own personal * devicesAzureAd - Cloud only joined devicesServerAd - on-premises domain joined devices joined to Azure AD. For more * details, see Introduction to device management in Azure Active Directory */ trustType?: NullableOption; // Groups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. memberOf?: NullableOption; /** * The user that cloud joined the device or registered their personal device. The registered owner is set at the time of * registration. Currently, there can be only one owner. Read-only. Nullable. */ registeredOwners?: NullableOption; /** * Collection of registered users of the device. For cloud joined devices and registered personal devices, registered * users are set to the same value as registered owners at the time of registration. Read-only. Nullable. */ registeredUsers?: NullableOption; transitiveMemberOf?: NullableOption; // The collection of open extensions defined for the device. Read-only. Nullable. extensions?: NullableOption; } export interface Directory extends Entity { administrativeUnits?: NullableOption; // Recently deleted items. Read-only. Nullable. deletedItems?: NullableOption; } export interface DirectoryObjectPartnerReference extends DirectoryObject { // Description of the object returned. Read-only. description?: NullableOption; // Name of directory object being returned, like group or application. Read-only. displayName?: NullableOption; // The tenant identifier for the partner tenant. Read-only. externalPartnerTenantId?: NullableOption; // The type of the referenced object in the partner tenant. Read-only. objectType?: NullableOption; } export interface DirectoryRole extends DirectoryObject { // The description for the directory role. Read-only. description?: NullableOption; // The display name for the directory role. Read-only. displayName?: NullableOption; /** * The id of the directoryRoleTemplate that this role is based on. The property must be specified when activating a * directory role in a tenant with a POST operation. After the directory role has been activated, the property is read * only. */ roleTemplateId?: NullableOption; // Users that are members of this directory role. HTTP Methods: GET, POST, DELETE. Read-only. Nullable. members?: NullableOption; scopedMembers?: NullableOption; } export interface DirectoryRoleTemplate extends DirectoryObject { // The description to set for the directory role. Read-only. description?: NullableOption; // The display name to set for the directory role. Read-only. displayName?: NullableOption; } export interface Domain extends Entity { /** * Indicates the configured authentication type for the domain. The value is either Managed or Federated. Managed * indicates a cloud managed domain where Azure AD performs user authentication.Federated indicates authentication is * federated with an identity provider such as the tenant's on-premises Active Directory via Active Directory Federation * Services. This property is read-only and is not nullable. */ authenticationType?: string; /** * This property is always null except when the verify action is used. When the verify action is used, a domain entity is * returned in the response. The availabilityStatus property of the domain entity in the response is either * AvailableImmediately or EmailVerifiedDomainTakeoverScheduled. */ availabilityStatus?: NullableOption; /** * The value of the property is false if the DNS record management of the domain has been delegated to Microsoft 365. * Otherwise, the value is true. Not nullable */ isAdminManaged?: boolean; /** * True if this is the default domain that is used for user creation. There is only one default domain per company. Not * nullable */ isDefault?: boolean; /** * True if this is the initial domain created by Microsoft Online Services (companyname.onmicrosoft.com). There is only * one initial domain per company. Not nullable */ isInitial?: boolean; // True if the domain is a verified root domain. Otherwise, false if the domain is a subdomain or unverified. Not nullable isRoot?: boolean; // True if the domain has completed domain ownership verification. Not nullable isVerified?: boolean; manufacturer?: NullableOption; model?: NullableOption; /** * Specifies the number of days before a user receives notification that their password will expire. If the property is * not set, a default value of 14 days will be used. */ passwordNotificationWindowInDays?: NullableOption; /** * Specifies the length of time that a password is valid before it must be changed. If the property is not set, a default * value of 90 days will be used. */ passwordValidityPeriodInDays?: NullableOption; // Status of asynchronous operations scheduled for the domain. state?: NullableOption; /** * The capabilities assigned to the domain.Can include 0, 1 or more of following values: Email, Sharepoint, * EmailInternalRelayOnly, OfficeCommunicationsOnline, SharePointDefaultDomain, FullRedelegation, SharePointPublic, * OrgIdAuthentication, Yammer, Intune The values which you can add/remove using Graph API include: Email, * OfficeCommunicationsOnline, YammerNot nullable */ supportedServices?: string[]; // Read-only, Nullable domainNameReferences?: NullableOption; /** * DNS records the customer adds to the DNS zone file of the domain before the domain can be used by Microsoft Online * services.Read-only, Nullable */ serviceConfigurationRecords?: NullableOption; /** * DNS records that the customer adds to the DNS zone file of the domain before the customer can complete domain ownership * verification with Azure AD.Read-only, Nullable */ verificationDnsRecords?: NullableOption; } export interface DomainDnsRecord extends Entity { /** * If false, this record must be configured by the customer at the DNS host for Microsoft Online Services to operate * correctly with the domain. */ isOptional?: boolean; // Value used when configuring the name of the DNS record at the DNS host. label?: string; // Indicates what type of DNS record this entity represents.The value can be one of the following: CName, Mx, Srv, TxtKey recordType?: NullableOption; /** * Microsoft Online Service or feature that has a dependency on this DNS record.Can be one of the following values: null, * Email, Sharepoint, EmailInternalRelayOnly, OfficeCommunicationsOnline, SharePointDefaultDomain, FullRedelegation, * SharePointPublic, OrgIdAuthentication, Yammer, Intune */ supportedService?: string; // Value to use when configuring the time-to-live (ttl) property of the DNS record at the DNS host. Not nullable ttl?: number; } export interface DomainDnsCnameRecord extends DomainDnsRecord { // The canonical name of the CNAME record. Used to configure the CNAME record at the DNS host. canonicalName?: NullableOption; } export interface DomainDnsMxRecord extends DomainDnsRecord { // Value used when configuring the answer/destination/value of the MX record at the DNS host. mailExchange?: string; // Value used when configuring the Preference/Priority property of the MX record at the DNS host. preference?: NullableOption; } export interface DomainDnsSrvRecord extends DomainDnsRecord { // Value to use when configuring the Target property of the SRV record at the DNS host. nameTarget?: NullableOption; // Value to use when configuring the port property of the SRV record at the DNS host. port?: NullableOption; // Value to use when configuring the priority property of the SRV record at the DNS host. priority?: NullableOption; // Value to use when configuring the protocol property of the SRV record at the DNS host. protocol?: NullableOption; // Value to use when configuring the service property of the SRV record at the DNS host. service?: NullableOption; // Value to use when configuring the weight property of the SRV record at the DNS host. weight?: NullableOption; } export interface DomainDnsTxtRecord extends DomainDnsRecord { // Value used when configuring the text property at the DNS host. text?: string; } export interface DomainDnsUnavailableRecord extends DomainDnsRecord { // Provides the reason why the DomainDnsUnavailableRecord entity is returned. description?: NullableOption; } export interface Group extends DirectoryObject { /** * The list of sensitivity label pairs (label ID, label name) associated with an Microsoft 365 group. Returned only on * $select. Read-only. */ assignedLabels?: NullableOption; // The licenses that are assigned to the group. Returned only on $select. Read-only. assignedLicenses?: NullableOption; /** * Describes a classification for the group (such as low, medium or high business impact). Valid values for this property * are defined by creating a ClassificationList setting value, based on the template definition.Returned by default. */ classification?: NullableOption; /** * Timestamp of when the group was created. The value cannot be modified and is automatically populated when the group is * created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For * example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Returned by default. Read-only. */ createdDateTime?: NullableOption; // An optional description for the group. Returned by default. description?: NullableOption; /** * The display name for the group. This property is required when a group is created and cannot be cleared during updates. * Returned by default. Supports $filter and $orderby. */ displayName?: NullableOption; /** * Timestamp of when the group is set to expire. The value cannot be modified and is automatically populated when the * group is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC * time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Returned by default. * Read-only. */ expirationDateTime?: NullableOption; /** * Specifies the group type and its membership. If the collection contains Unified, the group is a Microsoft 365 group; * otherwise, it's either a security group or distribution group. For details, see groups overview.If the collection * includes DynamicMembership, the group has dynamic membership; otherwise, membership is static. Returned by default. * Supports $filter. */ groupTypes?: string[]; /** * Indicates whether there are members in this group that have license errors from its group-based license assignment. * This property is never returned on a GET operation. You can use it as a $filter argument to get groups that have * members with license errors (that is, filter for this property being true). See an example. */ hasMembersWithLicenseErrors?: NullableOption; /** * Indicates status of the group license assignment to all members of the group. Default value is false. Read-only. * Possible values: QueuedForProcessing, ProcessingInProgress, and ProcessingComplete.Returned only on $select. Read-only. */ licenseProcessingState?: NullableOption; /** * The SMTP address for the group, for example, 'serviceadmins@contoso.onmicrosoft.com'. Returned by default. Read-only. * Supports $filter. */ mail?: NullableOption; // Specifies whether the group is mail-enabled. Returned by default. mailEnabled?: NullableOption; mailNickname?: NullableOption; /** * The rule that determines members for this group if the group is a dynamic group (groupTypes contains * DynamicMembership). For more information about the syntax of the membership rule, see Membership Rules syntax. Returned * by default. */ membershipRule?: NullableOption; /** * Indicates whether the dynamic membership processing is on or paused. Possible values are 'On' or 'Paused'. Returned by * default. */ membershipRuleProcessingState?: NullableOption; onPremisesDomainName?: NullableOption; onPremisesLastSyncDateTime?: NullableOption; onPremisesNetBiosName?: NullableOption; onPremisesProvisioningErrors?: NullableOption; /** * Contains the on-premises SAM account name synchronized from the on-premises directory. The property is only populated * for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect.Returned * by default. Read-only. */ onPremisesSamAccountName?: NullableOption; /** * Contains the on-premises security identifier (SID) for the group that was synchronized from on-premises to the cloud. * Returned by default. Read-only. */ onPremisesSecurityIdentifier?: NullableOption; /** * true if this group is synced from an on-premises directory; false if this group was originally synced from an * on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory * (default). Returned by default. Read-only. Supports $filter. */ onPremisesSyncEnabled?: NullableOption; // The preferred data location for the group. For more information, see OneDrive Online Multi-Geo. Returned by default. preferredDataLocation?: NullableOption; /** * The preferred language for an Microsoft 365 group. Should follow ISO 639-1 Code; for example 'en-US'. Returned by * default. */ preferredLanguage?: NullableOption; /** * Email addresses for the group that direct to the same group mailbox. For example: ['SMTP: bob@contoso.com', 'smtp: * bob@sales.contoso.com']. The any operator is required to filter expressions on multi-valued properties. Returned by * default. Read-only. Not nullable. Supports $filter. */ proxyAddresses?: string[]; /** * Timestamp of when the group was last renewed. This cannot be modified directly and is only updated via the renew * service action. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC * time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Returned by default. * Read-only. */ renewedDateTime?: NullableOption; // Specifies whether the group is a security group. Returned by default. Supports $filter. securityEnabled?: NullableOption; // Security identifier of the group, used in Windows scenarios. Returned by default. securityIdentifier?: NullableOption; /** * Specifies an Microsoft 365 group's color theme. Possible values are Teal, Purple, Green, Blue, Pink, Orange or Red. * Returned by default. */ theme?: NullableOption; /** * Specifies the visibility of a Microsoft 365 group. Possible values are: Private, Public, or Hiddenmembership; blank * values are treated as public. See group visibility options to learn more.Visibility can be set only when a group is * created; it is not editable.Visibility is supported only for unified groups; it is not supported for security groups. * Returned by default. */ visibility?: NullableOption; /** * Indicates if people external to the organization can send messages to the group. Default value is false. Returned only * on $select. */ allowExternalSenders?: NullableOption; /** * Indicates if new members added to the group will be auto-subscribed to receive email notifications. You can set this * property in a PATCH request for the group; do not set it in the initial POST request that creates the group. Default * value is false. Returned only on $select. */ autoSubscribeNewMembers?: NullableOption; /** * True if the group is not displayed in certain parts of the Outlook UI: the Address Book, address lists for selecting * message recipients, and the Browse Groups dialog for searching groups; otherwise, false. Default value is false. * Returned only on $select. */ hideFromAddressLists?: NullableOption; /** * True if the group is not displayed in Outlook clients, such as Outlook for Windows and Outlook on the web; otherwise, * false. Default value is false. Returned only on $select. */ hideFromOutlookClients?: NullableOption; /** * Indicates whether the signed-in user is subscribed to receive email conversations. Default value is true. Returned only * on $select. */ isSubscribedByMail?: NullableOption; /** * Count of conversations that have received new posts since the signed-in user last visited the group. Returned only on * $select. */ unseenCount?: NullableOption; isArchived?: NullableOption; appRoleAssignments?: NullableOption; // The user (or application) that created the group. NOTE: This is not set if the user is an administrator. Read-only. createdOnBehalfOf?: NullableOption; // Groups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. memberOf?: NullableOption; /** * Users and groups that are members of this group. HTTP Methods: GET (supported for all groups), POST (supported for * Microsoft 365 groups, security groups and mail-enabled security groups), DELETE (supported for Microsoft 365 groups and * security groups) Nullable. */ members?: NullableOption; // A list of group members with license errors from this group-based license assignment. Read-only. membersWithLicenseErrors?: NullableOption; /** * The owners of the group. The owners are a set of non-admin users who are allowed to modify this object. Limited to 100 * owners. HTTP Methods: GET (supported for all groups), POST (supported for Microsoft 365 groups, security groups and * mail-enabled security groups), DELETE (supported for Microsoft 365 groups and security groups). Nullable. */ owners?: NullableOption; permissionGrants?: NullableOption; // Read-only. Nullable. settings?: NullableOption; transitiveMemberOf?: NullableOption; transitiveMembers?: NullableOption; /** * The list of users or groups that are allowed to create post's or calendar events in this group. If this list is * non-empty then only users or groups listed here are allowed to post. */ acceptedSenders?: NullableOption; // The group's calendar. Read-only. calendar?: NullableOption; // The calendar view for the calendar. Read-only. calendarView?: NullableOption; // The group's conversations. conversations?: NullableOption; // The group's calendar events. events?: NullableOption; // The group's profile photo photo?: NullableOption; // The profile photos owned by the group. Read-only. Nullable. photos?: NullableOption; // The list of users or groups that are not allowed to create posts or calendar events in this group. Nullable rejectedSenders?: NullableOption; // The group's conversation threads. Nullable. threads?: NullableOption; // The group's default drive. Read-only. drive?: NullableOption; // The group's drives. Read-only. drives?: NullableOption; // The list of SharePoint sites in this group. Access the default site with /sites/root. sites?: NullableOption; // The collection of open extensions defined for the group. Read-only. Nullable. extensions?: NullableOption; // The collection of lifecycle policies for this group. Read-only. Nullable. groupLifecyclePolicies?: NullableOption; // Entry-point to Planner resource that might exist for a Unified Group. planner?: NullableOption; // Read-only. onenote?: NullableOption; team?: NullableOption; } export interface ResourceSpecificPermissionGrant extends DirectoryObject { clientAppId?: NullableOption; clientId?: NullableOption; permission?: NullableOption; permissionType?: NullableOption; resourceAppId?: NullableOption; } export interface GroupSetting extends Entity { // Display name of this group of settings, which comes from the associated template. displayName?: NullableOption; // Unique identifier for the template used to create this group of settings. Read-only. templateId?: NullableOption; // Collection of name value pairs. Must contain and set all the settings defined in the template. values?: SettingValue[]; } export interface Conversation extends Entity { // Indicates whether any of the posts within this Conversation has at least one attachment. hasAttachments?: boolean; /** * The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ lastDeliveredDateTime?: string; // A short summary from the body of the latest post in this converstaion. preview?: string; // The topic of the conversation. This property can be set when the conversation is created, but it cannot be updated. topic?: string; // All the users that sent a message to this Conversation. uniqueSenders?: string[]; // A collection of all the conversation threads in the conversation. A navigation property. Read-only. Nullable. threads?: NullableOption; } export interface ConversationThread extends Entity { // The Cc: recipients for the thread. ccRecipients?: Recipient[]; // Indicates whether any of the posts within this thread has at least one attachment. hasAttachments?: boolean; // Indicates if the thread is locked. isLocked?: boolean; /** * The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z' */ lastDeliveredDateTime?: string; // A short summary from the body of the latest post in this conversation. preview?: string; // The topic of the conversation. This property can be set when the conversation is created, but it cannot be updated. topic?: string; // The To: recipients for the thread. toRecipients?: Recipient[]; // All the users that sent a message to this thread. uniqueSenders?: string[]; // Read-only. Nullable. posts?: NullableOption; } export interface GroupLifecyclePolicy extends Entity { /** * List of email address to send notifications for groups without owners. Multiple email address can be defined by * separating email address with a semicolon. */ alternateNotificationEmails?: NullableOption; /** * Number of days before a group expires and needs to be renewed. Once renewed, the group expiration is extended by the * number of days defined. */ groupLifetimeInDays?: NullableOption; // The group type for which the expiration policy applies. Possible values are All, Selected or None. managedGroupTypes?: NullableOption; } export interface PlannerGroup extends Entity { // Read-only. Nullable. Returns the plannerPlans owned by the group. plans?: NullableOption; } export interface GroupSettingTemplate extends DirectoryObject { // Description of the template. description?: NullableOption; // Display name of the template. displayName?: NullableOption; /** * Collection of settingTemplateValues that list the set of available settings, defaults and types that make up this * template. */ values?: SettingTemplateValue[]; } export interface Organization extends DirectoryObject { // The collection of service plans associated with the tenant. Not nullable. assignedPlans?: AssignedPlan[]; /** * Telephone number for the organization. NOTE: Although this is a string collection, only one number can be set for this * property. */ businessPhones?: string[]; // City name of the address for the organization. city?: NullableOption; // Country/region name of the address for the organization. country?: NullableOption; // Country/region abbreviation for the organization. countryLetterCode?: NullableOption; /** * Timestamp of when the organization was created. The value cannot be modified and is automatically populated when the * organization is created. The Timestamp type represents date and time information using ISO 8601 format and is always in * UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Read-only. */ createdDateTime?: NullableOption; // The display name for the tenant. displayName?: NullableOption; // Not nullable. marketingNotificationEmails?: string[]; /** * The time and date at which the tenant was last synced with the on-premise directory. The Timestamp type represents date * and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would * look like this: '2014-01-01T00:00:00Z'. Read-only. */ onPremisesLastSyncDateTime?: NullableOption; /** * true if this object is synced from an on-premises directory; false if this object was originally synced from an * on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory * (default). */ onPremisesSyncEnabled?: NullableOption; // Postal code of the address for the organization. postalCode?: NullableOption; // The preferred language for the organization. Should follow ISO 639-1 Code; for example 'en'. preferredLanguage?: NullableOption; // The privacy profile of an organization. privacyProfile?: NullableOption; // Not nullable. provisionedPlans?: ProvisionedPlan[]; securityComplianceNotificationMails?: string[]; securityComplianceNotificationPhones?: string[]; // State name of the address for the organization. state?: NullableOption; // Street name of the address for organization. street?: NullableOption; // Not nullable. technicalNotificationMails?: string[]; tenantType?: NullableOption; // The collection of domains associated with this tenant. Not nullable. verifiedDomains?: VerifiedDomain[]; // Mobile device management authority. Possible values are: unknown, intune, sccm, office365. mobileDeviceManagementAuthority?: MdmAuthority; /** * Navigation property to manage certificate-based authentication configuration. Only a single instance of * certificateBasedAuthConfiguration can be created in the collection. */ certificateBasedAuthConfiguration?: NullableOption; // The collection of open extensions defined for the organization. Read-only. Nullable. extensions?: NullableOption; } export interface OrgContact extends DirectoryObject { addresses?: NullableOption; companyName?: NullableOption; department?: NullableOption; displayName?: NullableOption; givenName?: NullableOption; jobTitle?: NullableOption; mail?: NullableOption; mailNickname?: NullableOption; onPremisesLastSyncDateTime?: NullableOption; onPremisesProvisioningErrors?: NullableOption; onPremisesSyncEnabled?: NullableOption; phones?: NullableOption; proxyAddresses?: string[]; surname?: NullableOption; directReports?: NullableOption; manager?: NullableOption; memberOf?: NullableOption; transitiveMemberOf?: NullableOption; } export interface PermissionGrantConditionSet extends Entity { clientApplicationIds?: NullableOption; clientApplicationPublisherIds?: NullableOption; clientApplicationsFromVerifiedPublisherOnly?: NullableOption; clientApplicationTenantIds?: NullableOption; permissionClassification?: NullableOption; permissions?: NullableOption; permissionType?: NullableOption; resourceApplication?: NullableOption; } export interface PermissionGrantPolicy extends PolicyBase { excludes?: NullableOption; includes?: NullableOption; } export interface PolicyRoot extends Entity { activityBasedTimeoutPolicies?: NullableOption; claimsMappingPolicies?: NullableOption; homeRealmDiscoveryPolicies?: NullableOption; permissionGrantPolicies?: NullableOption; tokenIssuancePolicies?: NullableOption; tokenLifetimePolicies?: NullableOption; conditionalAccessPolicies?: NullableOption; identitySecurityDefaultsEnforcementPolicy?: NullableOption; } export interface ConditionalAccessPolicy extends Entity { // Specifies the rules that must be met for the policy to apply. Required. conditions?: ConditionalAccessConditionSet; /** * The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Readonly. */ createdDateTime?: NullableOption; description?: NullableOption; // Specifies a display name for the conditionalAccessPolicy object. displayName?: string; // Specifies the grant controls that must be fulfilled to pass the policy. grantControls?: NullableOption; /** * The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, * midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Readonly. */ modifiedDateTime?: NullableOption; // Specifies the session controls that are enforced after sign-in. sessionControls?: NullableOption; /** * Specifies the state of the conditionalAccessPolicy object. Possible values are: enabled, disabled, * enabledForReportingButNotEnforced. Required. */ state?: ConditionalAccessPolicyState; } // tslint:disable-next-line: interface-name export interface IdentitySecurityDefaultsEnforcementPolicy extends PolicyBase { // If set to true, Azure Active Directory security defaults is enabled for the tenant. isEnabled?: boolean; } export interface SubscribedSku extends Entity { // For example, 'User' or 'Company'. appliesTo?: NullableOption; // Possible values are: Enabled, Warning, Suspended, Deleted, LockedOut. capabilityStatus?: NullableOption; // The number of licenses that have been assigned. consumedUnits?: NullableOption; // Information about the number and status of prepaid licenses. prepaidUnits?: NullableOption; // Information about the service plans that are available with the SKU. Not nullable servicePlans?: ServicePlanInfo[]; // The unique identifier (GUID) for the service SKU. skuId?: NullableOption; /** * The SKU part number; for example: 'AAD_PREMIUM' or 'RMSBASIC'. To get a list of commercial subscriptions that an * organization has acquired, see List subscribedSkus. */ skuPartNumber?: NullableOption; } export interface EducationClass extends Entity { // Class code used by the school to identify the class. classCode?: NullableOption; // Entity who created the class createdBy?: NullableOption; // Description of the class. description?: NullableOption; // Name of the class. displayName?: string; // ID of the class from the syncing system. externalId?: NullableOption; // Name of the class in the syncing system. externalName?: NullableOption; // How this class was created. The possible values are: sis, manual, unknownFutureValue. externalSource?: NullableOption; // Mail name for sending email to all members, if this is enabled. mailNickname?: string; // Term for this class. term?: NullableOption; // The directory group corresponding to this class. group?: NullableOption; // All users in the class. Nullable. members?: NullableOption; // All schools that this class is associated with. Nullable. schools?: NullableOption; // All teachers in the class. Nullable. teachers?: NullableOption; } export interface EducationUser extends Entity { // True if the account is enabled; otherwise, false. This property is required when a user is created. Supports $filter. accountEnabled?: NullableOption; // The licenses that are assigned to the user. Not nullable. assignedLicenses?: AssignedLicense[]; // The plans that are assigned to the user. Read-only. Not nullable. assignedPlans?: AssignedPlan[]; /** * The telephone numbers for the user. Note: Although this is a string collection, only one number can be set for this * property. */ businessPhones?: string[]; // Entity who created the user. createdBy?: NullableOption; // The name for the department in which the user works. Supports $filter. department?: NullableOption; /** * The name displayed in the address book for the user. This is usually the combination of the user's first name, middle * initial, and last name. This property is required when a user is created and it cannot be cleared during updates. * Supports $filter and $orderby. */ displayName?: NullableOption; // Where this user was created from. The possible values are: sis, manual. externalSource?: NullableOption; // The given name (first name) of the user. Supports $filter. givenName?: NullableOption; // The SMTP address for the user; for example, 'jeff@contoso.onmicrosoft.com'. Read-Only. Supports $filter. mail?: NullableOption; // Mail address of user. mailingAddress?: NullableOption; // The mail alias for the user. This property must be specified when a user is created. Supports $filter. mailNickname?: NullableOption; // The middle name of user. middleName?: NullableOption; // The primary cellular telephone number for the user. mobilePhone?: NullableOption; officeLocation?: NullableOption; /** * Specifies password policies for the user. This value is an enumeration with one possible value being * 'DisableStrongPassword', which allows weaker passwords than the default policy to be specified. * 'DisablePasswordExpiration' can also be specified. The two can be specified together; for example: * 'DisablePasswordExpiration, DisableStrongPassword'. */ passwordPolicies?: NullableOption; /** * Specifies the password profile for the user. The profile contains the user's password. This property is required when a * user is created. The password in the profile must satisfy minimum requirements as specified by the passwordPolicies * property. By default, a strong password is required. */ passwordProfile?: NullableOption; // The preferred language for the user. Should follow ISO 639-1 Code; for example, 'en-US'. preferredLanguage?: NullableOption; /** * Default role for a user. The user's role might be different in an individual class. The possible values are: student, * teacher. Supports $filter. */ primaryRole?: EducationUserRole; // The plans that are provisioned for the user. Read-only. Not nullable. provisionedPlans?: ProvisionedPlan[]; refreshTokensValidFromDateTime?: NullableOption; // Address where user lives. residenceAddress?: NullableOption; showInAddressList?: NullableOption; // If the primary role is student, this block will contain student specific data. student?: NullableOption; // The user's surname (family name or last name). Supports $filter. surname?: NullableOption; // If the primary role is teacher, this block will contain teacher specific data. teacher?: NullableOption; /** * A two-letter country code (ISO standard 3166). Required for users who will be assigned licenses due to a legal * requirement to check for availability of services in countries or regions. Examples include: 'US', 'JP', and 'GB'. Not * nullable. Supports $filter. */ usageLocation?: NullableOption; /** * The user principal name (UPN) of the user. The UPN is an Internet-style login name for the user based on the Internet * standard RFC 822. By convention, this should map to the user's email name. The general format is alias@domain, where * domain must be present in the tenant's collection of verified domains. This property is required when a user is * created. The verified domains for the tenant can be accessed from the verifiedDomains property of organization. * Supports $filter and $orderby. */ userPrincipalName?: NullableOption; /** * A string value that can be used to classify user types in your directory, such as 'Member' and 'Guest'. Supports * $filter. */ userType?: NullableOption; // Classes to which the user belongs. Nullable. classes?: NullableOption; // Schools to which the user belongs. Nullable. schools?: NullableOption; // The directory user corresponding to this user. user?: NullableOption; } export interface EducationOrganization extends Entity { // Organization description. description?: NullableOption; // Organization display name. displayName?: string; // Source where this organization was created from. The possible values are: sis, manual, unknownFutureValue. externalSource?: NullableOption; } export interface EducationSchool extends EducationOrganization { // Address of the school. address?: NullableOption; // Entity who created the school. createdBy?: NullableOption; // ID of school in syncing system. externalId?: NullableOption; // ID of principal in syncing system. externalPrincipalId?: NullableOption; fax?: NullableOption; // Highest grade taught. highestGrade?: NullableOption; // Lowest grade taught. lowestGrade?: NullableOption; // Phone number of school. phone?: NullableOption; // Email address of the principal. principalEmail?: NullableOption; // Name of the principal. principalName?: NullableOption; // School Number. schoolNumber?: NullableOption; // Classes taught at the school. Nullable. classes?: NullableOption; // Users in the school. Nullable. users?: NullableOption; } export interface EducationRoot extends Entity { // Read-only. Nullable. classes?: NullableOption; // Read-only. Nullable. me?: NullableOption; // Read-only. Nullable. schools?: NullableOption; // Read-only. Nullable. users?: NullableOption; } export interface DriveItem extends BaseItem { // Audio metadata, if the item is an audio file. Read-only. audio?: NullableOption