# GraphApi v1.0.0-rc.1 - Table of Contents Elixir client for the Microsoft Graph API ## Pages - [GraphApi](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [GraphApi](GraphApi.md): Elixir client for the Microsoft Graph API. - [GraphApi.Batch.Request](GraphApi.Batch.Request.md): A deferred Graph API request, created by `_query` functions on resource modules. - Resources - [GraphApi.Calendar](GraphApi.Calendar.md): Operations on calendar resources (`/users/{id}/events`, `/users/{id}/calendarView`, etc.). - [GraphApi.Files](GraphApi.Files.md): Operations on OneDrive/SharePoint files (`/drives`, `/drive/items`, etc.). - [GraphApi.Groups](GraphApi.Groups.md): Operations on the `/groups` resource. - [GraphApi.Mail](GraphApi.Mail.md): Operations on mail resources (`/users/{id}/messages`, `/users/{id}/sendMail`, etc.). - [GraphApi.Subscriptions](GraphApi.Subscriptions.md): Operations on the `/subscriptions` resource. - [GraphApi.Users](GraphApi.Users.md): Operations on the `/users` resource. - Query & Pagination - [GraphApi.Batch](GraphApi.Batch.md): JSON batch requests for Microsoft Graph API. - [GraphApi.Delta](GraphApi.Delta.md): Delta query support for tracking incremental changes. - [GraphApi.OData](GraphApi.OData.md): Functional builder for OData query parameters. - [GraphApi.OData.Filter](GraphApi.OData.Filter.md): Schema-aware OData filter builder. - [GraphApi.Pagination](GraphApi.Pagination.md): Stream-based pagination for Microsoft Graph API responses. - Client & Config - [GraphApi.Auth](GraphApi.Auth.md): Token acquisition for Microsoft Entra ID (Azure AD) using the client credentials flow. - [GraphApi.Auth.Delegated](GraphApi.Auth.Delegated.md): OAuth 2.0 Authorization Code flow for delegated (user) permissions. - [GraphApi.Client](GraphApi.Client.md): Builds a configured `%Req.Request{}` with all middleware steps attached. - [GraphApi.Config](GraphApi.Config.md): Configuration struct for Microsoft Graph API client. - [GraphApi.TokenStore](GraphApi.TokenStore.md): GenServer that caches OAuth tokens keyed by `{tenant_id, client_id}`. - Schema (v1.0) - [GraphApi.Schema.Application](GraphApi.Schema.Application.md): Auto-generated schema for `microsoft.graph.application`. - [GraphApi.Schema.AssignedLicense](GraphApi.Schema.AssignedLicense.md): Auto-generated schema for `microsoft.graph.assignedLicense`. - [GraphApi.Schema.AssignedPlan](GraphApi.Schema.AssignedPlan.md): Auto-generated schema for `microsoft.graph.assignedPlan`. - [GraphApi.Schema.BodyType](GraphApi.Schema.BodyType.md): Auto-generated enum for `microsoft.graph.bodyType`. - [GraphApi.Schema.Calendar](GraphApi.Schema.Calendar.md): Auto-generated schema for `microsoft.graph.calendar`. - [GraphApi.Schema.CalendarColor](GraphApi.Schema.CalendarColor.md): Auto-generated enum for `microsoft.graph.calendarColor`. - [GraphApi.Schema.DateTimeTimeZone](GraphApi.Schema.DateTimeTimeZone.md): Auto-generated schema for `microsoft.graph.dateTimeTimeZone`. - [GraphApi.Schema.DirectoryRole](GraphApi.Schema.DirectoryRole.md): Auto-generated schema for `microsoft.graph.directoryRole`. - [GraphApi.Schema.Drive](GraphApi.Schema.Drive.md): Auto-generated schema for `microsoft.graph.drive`. - [GraphApi.Schema.DriveItem](GraphApi.Schema.DriveItem.md): Auto-generated schema for `microsoft.graph.driveItem`. - [GraphApi.Schema.EmailAddress](GraphApi.Schema.EmailAddress.md): Auto-generated schema for `microsoft.graph.emailAddress`. - [GraphApi.Schema.Event](GraphApi.Schema.Event.md): Auto-generated schema for `microsoft.graph.event`. - [GraphApi.Schema.File](GraphApi.Schema.File.md): Auto-generated schema for `microsoft.graph.file`. - [GraphApi.Schema.Folder](GraphApi.Schema.Folder.md): Auto-generated schema for `microsoft.graph.folder`. - [GraphApi.Schema.Group](GraphApi.Schema.Group.md): Auto-generated schema for `microsoft.graph.group`. - [GraphApi.Schema.Hashes](GraphApi.Schema.Hashes.md): Auto-generated schema for `microsoft.graph.hashes`. - [GraphApi.Schema.Identity](GraphApi.Schema.Identity.md): Auto-generated schema for `microsoft.graph.identity`. - [GraphApi.Schema.IdentitySet](GraphApi.Schema.IdentitySet.md): Auto-generated schema for `microsoft.graph.identitySet`. - [GraphApi.Schema.Importance](GraphApi.Schema.Importance.md): Auto-generated enum for `microsoft.graph.importance`. - [GraphApi.Schema.ItemBody](GraphApi.Schema.ItemBody.md): Auto-generated schema for `microsoft.graph.itemBody`. - [GraphApi.Schema.ItemReference](GraphApi.Schema.ItemReference.md): Auto-generated schema for `microsoft.graph.itemReference`. - [GraphApi.Schema.Location](GraphApi.Schema.Location.md): Auto-generated schema for `microsoft.graph.location`. - [GraphApi.Schema.MailFolder](GraphApi.Schema.MailFolder.md): Auto-generated schema for `microsoft.graph.mailFolder`. - [GraphApi.Schema.Message](GraphApi.Schema.Message.md): Auto-generated schema for `microsoft.graph.message`. - [GraphApi.Schema.Organization](GraphApi.Schema.Organization.md): Auto-generated schema for `microsoft.graph.organization`. - [GraphApi.Schema.PasswordProfile](GraphApi.Schema.PasswordProfile.md): Auto-generated schema for `microsoft.graph.passwordProfile`. - [GraphApi.Schema.PhysicalAddress](GraphApi.Schema.PhysicalAddress.md): Auto-generated schema for `microsoft.graph.physicalAddress`. - [GraphApi.Schema.Quota](GraphApi.Schema.Quota.md): Auto-generated schema for `microsoft.graph.quota`. - [GraphApi.Schema.Recipient](GraphApi.Schema.Recipient.md): Auto-generated schema for `microsoft.graph.recipient`. - [GraphApi.Schema.Sensitivity](GraphApi.Schema.Sensitivity.md): Auto-generated enum for `microsoft.graph.sensitivity`. - [GraphApi.Schema.ServicePrincipal](GraphApi.Schema.ServicePrincipal.md): Auto-generated schema for `microsoft.graph.servicePrincipal`. - [GraphApi.Schema.User](GraphApi.Schema.User.md): Auto-generated schema for `microsoft.graph.user`. - [GraphApi.Schema.VerifiedDomain](GraphApi.Schema.VerifiedDomain.md): Auto-generated schema for `microsoft.graph.verifiedDomain`. - [GraphApi.Schema.WebApplication](GraphApi.Schema.WebApplication.md): Auto-generated schema for `microsoft.graph.webApplication`. - Schema (Beta) - [GraphApi.Schema.Beta.Application](GraphApi.Schema.Beta.Application.md): Auto-generated schema for `microsoft.graph.application`. - [GraphApi.Schema.Beta.AssignedLicense](GraphApi.Schema.Beta.AssignedLicense.md): Auto-generated schema for `microsoft.graph.assignedLicense`. - [GraphApi.Schema.Beta.AssignedPlan](GraphApi.Schema.Beta.AssignedPlan.md): Auto-generated schema for `microsoft.graph.assignedPlan`. - [GraphApi.Schema.Beta.BodyType](GraphApi.Schema.Beta.BodyType.md): Auto-generated enum for `microsoft.graph.bodyType`. - [GraphApi.Schema.Beta.Calendar](GraphApi.Schema.Beta.Calendar.md): Auto-generated schema for `microsoft.graph.calendar`. - [GraphApi.Schema.Beta.CalendarColor](GraphApi.Schema.Beta.CalendarColor.md): Auto-generated enum for `microsoft.graph.calendarColor`. - [GraphApi.Schema.Beta.DateTimeTimeZone](GraphApi.Schema.Beta.DateTimeTimeZone.md): Auto-generated schema for `microsoft.graph.dateTimeTimeZone`. - [GraphApi.Schema.Beta.DirectoryRole](GraphApi.Schema.Beta.DirectoryRole.md): Auto-generated schema for `microsoft.graph.directoryRole`. - [GraphApi.Schema.Beta.Drive](GraphApi.Schema.Beta.Drive.md): Auto-generated schema for `microsoft.graph.drive`. - [GraphApi.Schema.Beta.DriveItem](GraphApi.Schema.Beta.DriveItem.md): Auto-generated schema for `microsoft.graph.driveItem`. - [GraphApi.Schema.Beta.EmailAddress](GraphApi.Schema.Beta.EmailAddress.md): Auto-generated schema for `microsoft.graph.emailAddress`. - [GraphApi.Schema.Beta.Event](GraphApi.Schema.Beta.Event.md): Auto-generated schema for `microsoft.graph.event`. - [GraphApi.Schema.Beta.File](GraphApi.Schema.Beta.File.md): Auto-generated schema for `microsoft.graph.file`. - [GraphApi.Schema.Beta.Folder](GraphApi.Schema.Beta.Folder.md): Auto-generated schema for `microsoft.graph.folder`. - [GraphApi.Schema.Beta.Group](GraphApi.Schema.Beta.Group.md): Auto-generated schema for `microsoft.graph.group`. - [GraphApi.Schema.Beta.Hashes](GraphApi.Schema.Beta.Hashes.md): Auto-generated schema for `microsoft.graph.hashes`. - [GraphApi.Schema.Beta.Identity](GraphApi.Schema.Beta.Identity.md): Auto-generated schema for `microsoft.graph.identity`. - [GraphApi.Schema.Beta.IdentitySet](GraphApi.Schema.Beta.IdentitySet.md): Auto-generated schema for `microsoft.graph.identitySet`. - [GraphApi.Schema.Beta.Importance](GraphApi.Schema.Beta.Importance.md): Auto-generated enum for `microsoft.graph.importance`. - [GraphApi.Schema.Beta.ItemBody](GraphApi.Schema.Beta.ItemBody.md): Auto-generated schema for `microsoft.graph.itemBody`. - [GraphApi.Schema.Beta.ItemReference](GraphApi.Schema.Beta.ItemReference.md): Auto-generated schema for `microsoft.graph.itemReference`. - [GraphApi.Schema.Beta.Location](GraphApi.Schema.Beta.Location.md): Auto-generated schema for `microsoft.graph.location`. - [GraphApi.Schema.Beta.MailFolder](GraphApi.Schema.Beta.MailFolder.md): Auto-generated schema for `microsoft.graph.mailFolder`. - [GraphApi.Schema.Beta.Message](GraphApi.Schema.Beta.Message.md): Auto-generated schema for `microsoft.graph.message`. - [GraphApi.Schema.Beta.Organization](GraphApi.Schema.Beta.Organization.md): Auto-generated schema for `microsoft.graph.organization`. - [GraphApi.Schema.Beta.PasswordProfile](GraphApi.Schema.Beta.PasswordProfile.md): Auto-generated schema for `microsoft.graph.passwordProfile`. - [GraphApi.Schema.Beta.PhysicalAddress](GraphApi.Schema.Beta.PhysicalAddress.md): Auto-generated schema for `microsoft.graph.physicalAddress`. - [GraphApi.Schema.Beta.Quota](GraphApi.Schema.Beta.Quota.md): Auto-generated schema for `microsoft.graph.quota`. - [GraphApi.Schema.Beta.Recipient](GraphApi.Schema.Beta.Recipient.md): Auto-generated schema for `microsoft.graph.recipient`. - [GraphApi.Schema.Beta.Sensitivity](GraphApi.Schema.Beta.Sensitivity.md): Auto-generated enum for `microsoft.graph.sensitivity`. - [GraphApi.Schema.Beta.ServicePrincipal](GraphApi.Schema.Beta.ServicePrincipal.md): Auto-generated schema for `microsoft.graph.servicePrincipal`. - [GraphApi.Schema.Beta.User](GraphApi.Schema.Beta.User.md): Auto-generated schema for `microsoft.graph.user`. - [GraphApi.Schema.Beta.VerifiedDomain](GraphApi.Schema.Beta.VerifiedDomain.md): Auto-generated schema for `microsoft.graph.verifiedDomain`. - [GraphApi.Schema.Beta.WebApplication](GraphApi.Schema.Beta.WebApplication.md): Auto-generated schema for `microsoft.graph.webApplication`. - Middleware - [GraphApi.Middleware.Auth](GraphApi.Middleware.Auth.md): Req request step that injects the `Authorization: Bearer ` header. - [GraphApi.Middleware.ErrorHandling](GraphApi.Middleware.ErrorHandling.md): Req response step that parses non-2xx responses into structured error types. - [GraphApi.Middleware.Retry](GraphApi.Middleware.Retry.md): Req step that handles retries for 429 (Too Many Requests) responses. - Errors & Helpers - [GraphApi.Error](GraphApi.Error.md): Error types for Microsoft Graph API responses. - [GraphApi.Response](GraphApi.Response.md): Normalizes Microsoft Graph API responses into consistent `{:ok, body}` or `{:error, error}` tuples. - [GraphApi.View](GraphApi.View.md): Macro for defining view structs that project a subset of fields from a schema module. - [GraphApi.Webhook](GraphApi.Webhook.md): Helpers for handling Microsoft Graph webhook notifications. - Exceptions - [GraphApi.Error.ApiError](GraphApi.Error.ApiError.md): Represents a non-2xx response from the Microsoft Graph API. - [GraphApi.Error.AuthError](GraphApi.Error.AuthError.md): Represents an authentication/authorization error from Entra ID. - [GraphApi.Error.RateLimitError](GraphApi.Error.RateLimitError.md): Represents a 429 Too Many Requests response after retry exhaustion. ## Mix Tasks - [mix graph.cleanup](Mix.Tasks.Graph.Cleanup.md): Cleans up users and groups left behind by failed integration test runs. - [mix graph.gen.schema](Mix.Tasks.Graph.Gen.Schema.md): Generates Elixir schema modules from Microsoft Graph API $metadata XML.