generated: '2026-10-03' method: derived generator: derive-data-model.py source: - openapi/microsoft-accounts-api-openapi.yml - openapi/microsoft-applications-api-openapi.yml - openapi/microsoft-audio-api-openapi.yml - openapi/microsoft-calendar-api-openapi.yml - openapi/microsoft-channels-api-openapi.yml - openapi/microsoft-chat-api-openapi.yml - openapi/microsoft-chat-completions-api-openapi.yml - openapi/microsoft-completions-api-openapi.yml - openapi/microsoft-computer-vision-api-openapi.yml - openapi/microsoft-contacts-api-openapi.yml - openapi/microsoft-dashboards-api-openapi.yml - openapi/microsoft-datasets-api-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 119 entities_in_spec: 119 relationships: 41 entities: - name: Account fields: 13 - name: AdAccount fields: 7 - name: AddMemberRequest fields: 3 - name: Application fields: 9 - name: Application_2 fields: 11 - name: Channel fields: 6 - name: ChannelCollection fields: 2 - name: ChatCompletionRequest fields: 10 - name: ChatCompletionResponse fields: 6 - name: ChatMessage fields: 6 - name: ChatMessageCollection fields: 2 - name: ChatMessageItem fields: 6 - name: ChatThread fields: 5 - name: CommunicationIdentityAccessToken fields: 2 - name: CommunicationIdentityAccessTokenResult fields: 2 - name: CompletionRequest fields: 9 - name: CompletionResponse fields: 6 - name: Contact fields: 10 - name: Contact_2 fields: 9 - name: CreateApplicationRequest fields: 4 - name: CreateChannelRequest fields: 3 - name: CreateChatMessageRequest fields: 2 - name: CreateChatThreadRequest fields: 2 - name: CreateChatThreadResult fields: 2 - name: CreateEventRequest fields: 7 - name: CreatePostRequest fields: 5 - name: CreateProjectRequest fields: 4 - name: CreateTeamRequest fields: 3 - name: Dashboard fields: 5 - name: DashboardCollection fields: 2 - name: Dataset fields: 9 - name: DatasetCollection fields: 2 - name: DateTimeTimeZone fields: 2 - name: Deployment fields: 1 - name: DeploymentExtended fields: 4 - name: DeviceCompliancePolicy fields: 6 - name: DeviceConfiguration fields: 6 - name: DirectoryObject fields: 3 - name: Drive fields: 9 - name: DriveItem fields: 12 - name: DriveItemCollection fields: 3 - name: EmailMessage fields: 3 - name: EmbeddingRequest fields: 2 - name: EmbeddingResponse fields: 4 - name: EntitiesResponse fields: 1 - name: EntityCollection fields: 3 - name: Event fields: 22 - name: EventCollection fields: 2 - name: Event_2 fields: 10 - name: GenericResource fields: 7 - name: Group fields: 19 - name: GroupCollection fields: 2 - name: GroupCreate fields: 9 - name: Group_2 fields: 5 - name: IdentitySet fields: 3 - name: ImageAnalysis fields: 5 - name: ImageGenerationRequest fields: 6 - name: ImageGenerationResponse fields: 2 - name: ImageSearchResponse fields: 3 - name: Import fields: 7 - name: KeyPhrasesResponse fields: 1 - name: Lead fields: 11 - name: ListItem fields: 7 - name: MailFolder fields: 7 - name: MailFolder_2 fields: 5 - name: ManagedDevice fields: 18 - name: Member fields: 5 - name: MemberCollection fields: 2 - name: MemberProfile fields: 6 - name: Message fields: 19 - name: MessageCollection fields: 3 - name: Message_2 fields: 14 - name: MobileApp fields: 8 - name: NewsSearchResponse fields: 3 - name: OAuth2PermissionGrant fields: 6 - name: ODataError fields: 1 - name: OcrResult fields: 4 - name: OperationReference fields: 3 - name: Opportunity fields: 8 - name: Organization fields: 8 - name: Permission fields: 4 - name: Pipeline fields: 5 - name: PipelineCollection fields: 2 - name: PipelineRun fields: 8 - name: Project fields: 7 - name: ProjectCollection fields: 2 - name: Recipient fields: 1 - name: Recipient_2 fields: 1 - name: RefreshCollection fields: 1 - name: Report fields: 6 - name: ReportCollection fields: 2 - name: Repository fields: 8 - name: RepositoryCollection fields: 2 - name: ResourceGroup fields: 6 - name: ResourceGroupListResult fields: 2 - name: ResourceListResult fields: 2 - name: SPList fields: 9 - name: SendMailRequest fields: 2 - name: SendSmsRequest fields: 4 - name: SentimentResponse fields: 1 - name: ServicePrincipal fields: 7 - name: SmsSendResult fields: 1 - name: Subscription fields: 6 - name: SubscriptionListResult fields: 2 - name: Team fields: 12 - name: TeamCollection fields: 2 - name: Team_2 fields: 8 - name: TextAnalyticsRequest fields: 1 - name: TileCollection fields: 1 - name: TranscriptionResponse fields: 4 - name: TranslationResult fields: 2 - name: UpdateTeamRequest fields: 3 - name: Usage fields: 3 - name: User fields: 27 - name: UserCreate fields: 11 - name: VideoSearchResponse fields: 3 - name: Web fields: 7 - name: WebSearchResponse fields: 4 - name: WorkItem fields: 4 relationships: - from: Event to: DateTimeTimeZone type: has_one via: start - from: Event to: DateTimeTimeZone type: has_one via: end - from: Event to: Recipient type: has_one via: organizer - from: Event_2 to: Recipient_2 type: has_one via: organizer - from: EventCollection to: Event_2 type: has_many via: value - from: ChannelCollection to: Channel type: has_many via: value - from: CreateChatThreadResult to: ChatThread type: has_one via: chatThread - from: ChatCompletionResponse to: Usage type: has_one via: usage - from: CompletionResponse to: Usage type: has_one via: usage - from: DashboardCollection to: Dashboard type: has_many via: value - from: DatasetCollection to: Dataset type: has_many via: value - from: DriveItem to: IdentitySet type: has_one via: createdBy - from: DriveItem to: IdentitySet type: has_one via: lastModifiedBy - from: Repository to: Project type: has_one via: project - from: RepositoryCollection to: Repository type: has_many via: value - from: GroupCollection to: Group_2 type: has_many via: value - from: CommunicationIdentityAccessTokenResult to: CommunicationIdentityAccessToken type: has_one via: accessToken - from: Report to: Dataset type: belongs_to via: datasetId - from: Import to: Dataset type: has_many via: datasets - from: Import to: Report type: has_many via: reports - from: DriveItemCollection to: DriveItem type: has_many via: value - from: Message to: Recipient type: has_one via: from - from: Message to: Recipient type: has_many via: toRecipients - from: Message to: Recipient type: has_many via: ccRecipients - from: Message to: Recipient type: has_many via: bccRecipients - from: Message to: Recipient type: has_many via: replyTo - from: MessageCollection to: Message_2 type: has_many via: value - from: Message_2 to: Recipient_2 type: has_one via: from - from: Message_2 to: Recipient_2 type: has_many via: toRecipients - from: Message_2 to: Recipient_2 type: has_many via: ccRecipients - from: Member to: User type: belongs_to via: userId - from: MemberCollection to: Member type: has_many via: value - from: ChatMessageCollection to: ChatMessage type: has_many via: value - from: PipelineRun to: Pipeline type: has_one via: pipeline - from: PipelineCollection to: Pipeline type: has_many via: value - from: ProjectCollection to: Project type: has_many via: value - from: ReportCollection to: Report type: has_many via: value - from: ResourceGroupListResult to: ResourceGroup type: has_many via: value - from: ResourceListResult to: GenericResource type: has_many via: value - from: SubscriptionListResult to: Subscription type: has_many via: value - from: TeamCollection to: Team_2 type: has_many via: value