openapi: 3.1.0 info: title: Microsoft Office 365 Microsoft Graph API description: >- The Microsoft Graph API provides a unified programmability model to access data, intelligence, and insights from Microsoft 365, Windows, and Enterprise Mobility + Security. It serves as the gateway to data and intelligence in Microsoft 365, enabling applications to interact with users, groups, mail, calendars, files, and other organizational resources through a single REST endpoint. version: 1.0.0 termsOfService: https://docs.microsoft.com/en-us/legal/microsoft-apis/terms-of-use contact: name: Microsoft Graph Support url: https://developer.microsoft.com/en-us/graph/support license: name: Microsoft API License url: https://docs.microsoft.com/en-us/legal/microsoft-apis/terms-of-use x-documentation: url: https://learn.microsoft.com/en-us/graph/overview x-api-explorer: url: https://developer.microsoft.com/en-us/graph/graph-explorer servers: - url: https://graph.microsoft.com/v1.0 description: Microsoft Graph v1.0 production endpoint - url: https://graph.microsoft.com/beta description: Microsoft Graph beta endpoint (preview features) security: - oauth2: [] - bearerAuth: [] tags: - name: Calendar description: >- Access and manage Outlook calendar events, calendars, and calendar groups. Supports scheduling, meeting management, and free/busy lookups. externalDocs: url: https://learn.microsoft.com/en-us/graph/api/resources/calendar?view=graph-rest-1.0 - name: Groups description: >- Manage Microsoft 365 groups and security groups. Groups provide shared access to resources such as SharePoint sites, shared mailboxes, Planner plans, OneNote notebooks, and conversations. externalDocs: url: https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0 - name: Mail description: >- Access and manage Outlook mail messages, mail folders, and message attachments. Supports reading, creating, sending, replying, forwarding, and organizing email. externalDocs: url: https://learn.microsoft.com/en-us/graph/api/resources/mail-api-overview?view=graph-rest-1.0 - name: Users description: >- Manage users in Azure Active Directory. Users are the core identity resource representing a person, including their profile, organizational relationships, and access to services. externalDocs: url: https://learn.microsoft.com/en-us/graph/api/resources/user?view=graph-rest-1.0 paths: # ── Users ────────────────────────────────────────────────────────────── /users: get: operationId: listUsers summary: Microsoft Office 365 List Users description: >- Retrieve a list of user objects. By default, only a limited set of properties are returned. To return additional properties, use the $select OData query parameter. Returns up to 100 users per page by default. Requires User.ReadBasic.All, User.Read.All, or Directory.Read.All permission. tags: - Users parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/expand' responses: '200': description: A collection of user objects. content: application/json: schema: $ref: '#/components/schemas/UserCollectionResponse' examples: Listusers200Example: summary: Default listUsers 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.count': 10 '@odata.nextLink': https://www.example.com value: - id: abc123 displayName: example_value givenName: example_value surname: example_value mail: example_value userPrincipalName: example_value jobTitle: example_value department: example_value officeLocation: example_value companyName: example_value businessPhones: {} mobilePhone: example_value streetAddress: example_value city: example_value state: example_value postalCode: example_value country: example_value preferredLanguage: example_value accountEnabled: true createdDateTime: '2026-01-15T10:30:00Z' lastSignInDateTime: '2026-01-15T10:30:00Z' usageLocation: example_value identities: {} assignedLicenses: {} memberOf: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createUser summary: Microsoft Office 365 Create User description: >- Create a new user object. The request body must contain the required properties for the user. You can optionally specify other writable properties. Requires User.ReadWrite.All or Directory.ReadWrite.All permission. tags: - Users requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserCreateRequest' examples: CreateuserRequestExample: summary: Default createUser request x-microcks-default: true value: accountEnabled: true displayName: example_value mailNickname: example_value userPrincipalName: example_value passwordProfile: forceChangePasswordNextSignIn: true forceChangePasswordNextSignInWithMfa: true password: example_value givenName: example_value surname: example_value jobTitle: example_value department: example_value officeLocation: example_value mobilePhone: example_value usageLocation: example_value responses: '201': description: The created user object. content: application/json: schema: $ref: '#/components/schemas/User' examples: Createuser201Example: summary: Default createUser 201 response x-microcks-default: true value: id: abc123 displayName: example_value givenName: example_value surname: example_value mail: example_value userPrincipalName: example_value jobTitle: example_value department: example_value officeLocation: example_value companyName: example_value businessPhones: - example_value mobilePhone: example_value streetAddress: example_value city: example_value state: example_value postalCode: example_value country: example_value preferredLanguage: example_value accountEnabled: true createdDateTime: '2026-01-15T10:30:00Z' lastSignInDateTime: '2026-01-15T10:30:00Z' usageLocation: example_value passwordProfile: forceChangePasswordNextSignIn: true forceChangePasswordNextSignInWithMfa: true password: example_value identities: - signInType: example_value issuer: example_value issuerAssignedId: '500123' assignedLicenses: - disabledPlans: {} skuId: '500123' manager: '@odata.type': example_value id: abc123 displayName: example_value memberOf: - '@odata.type': example_value id: abc123 displayName: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /users/{user-id}: get: operationId: getUser summary: Microsoft Office 365 Get User description: >- Retrieve the properties and relationships of a user object. Returns a limited set of properties by default; use $select to request additional properties. Requires User.Read, User.ReadBasic.All, User.Read.All, or Directory.Read.All permission. tags: - Users parameters: - $ref: '#/components/parameters/userId' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: The requested user object. content: application/json: schema: $ref: '#/components/schemas/User' examples: Getuser200Example: summary: Default getUser 200 response x-microcks-default: true value: id: abc123 displayName: example_value givenName: example_value surname: example_value mail: example_value userPrincipalName: example_value jobTitle: example_value department: example_value officeLocation: example_value companyName: example_value businessPhones: - example_value mobilePhone: example_value streetAddress: example_value city: example_value state: example_value postalCode: example_value country: example_value preferredLanguage: example_value accountEnabled: true createdDateTime: '2026-01-15T10:30:00Z' lastSignInDateTime: '2026-01-15T10:30:00Z' usageLocation: example_value passwordProfile: forceChangePasswordNextSignIn: true forceChangePasswordNextSignInWithMfa: true password: example_value identities: - signInType: example_value issuer: example_value issuerAssignedId: '500123' assignedLicenses: - disabledPlans: {} skuId: '500123' manager: '@odata.type': example_value id: abc123 displayName: example_value memberOf: - '@odata.type': example_value id: abc123 displayName: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateUser summary: Microsoft Office 365 Update User description: >- Update the properties of a user object. Not all properties can be updated by Member or Guest users with their default permissions without administrator roles. Requires User.ReadWrite, User.ReadWrite.All, or Directory.ReadWrite.All permission. tags: - Users parameters: - $ref: '#/components/parameters/userId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserUpdateRequest' examples: UpdateuserRequestExample: summary: Default updateUser request x-microcks-default: true value: displayName: example_value givenName: example_value surname: example_value jobTitle: example_value department: example_value officeLocation: example_value mobilePhone: example_value businessPhones: - example_value streetAddress: example_value city: example_value state: example_value postalCode: example_value country: example_value preferredLanguage: example_value accountEnabled: true usageLocation: example_value passwordProfile: forceChangePasswordNextSignIn: true forceChangePasswordNextSignInWithMfa: true password: example_value responses: '204': description: User updated successfully. No content returned. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteUser summary: Microsoft Office 365 Delete User description: >- Delete a user object. When deleted, user resources are moved to a temporary container and can be restored within 30 days. After 30 days, they are permanently deleted. Requires User.ReadWrite.All or Directory.ReadWrite.All permission. tags: - Users parameters: - $ref: '#/components/parameters/userId' responses: '204': description: User deleted successfully. No content returned. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me: get: operationId: getSignedInUser summary: Microsoft Office 365 Get Signed-in User description: >- Retrieve the properties and relationships of the currently signed-in user. The /me endpoint resolves to the signed-in user based on the access token. Requires User.Read permission at minimum. tags: - Users parameters: - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: The signed-in user object. content: application/json: schema: $ref: '#/components/schemas/User' examples: Getsignedinuser200Example: summary: Default getSignedInUser 200 response x-microcks-default: true value: id: abc123 displayName: example_value givenName: example_value surname: example_value mail: example_value userPrincipalName: example_value jobTitle: example_value department: example_value officeLocation: example_value companyName: example_value businessPhones: - example_value mobilePhone: example_value streetAddress: example_value city: example_value state: example_value postalCode: example_value country: example_value preferredLanguage: example_value accountEnabled: true createdDateTime: '2026-01-15T10:30:00Z' lastSignInDateTime: '2026-01-15T10:30:00Z' usageLocation: example_value passwordProfile: forceChangePasswordNextSignIn: true forceChangePasswordNextSignInWithMfa: true password: example_value identities: - signInType: example_value issuer: example_value issuerAssignedId: '500123' assignedLicenses: - disabledPlans: {} skuId: '500123' manager: '@odata.type': example_value id: abc123 displayName: example_value memberOf: - '@odata.type': example_value id: abc123 displayName: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' # ── Groups ───────────────────────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /groups: get: operationId: listGroups summary: Microsoft Office 365 List Groups description: >- List all groups in an organization, including Microsoft 365 groups, security groups, and distribution groups. Returns up to 100 objects by default. To return additional properties, use $select. Requires GroupMember.Read.All, Group.Read.All, or Directory.Read.All permission. tags: - Groups parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/expand' responses: '200': description: A collection of group objects. content: application/json: schema: $ref: '#/components/schemas/GroupCollectionResponse' examples: Listgroups200Example: summary: Default listGroups 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.count': 10 '@odata.nextLink': https://www.example.com value: - id: abc123 displayName: example_value description: A sample description. mail: example_value mailEnabled: true mailNickname: example_value securityEnabled: true groupTypes: {} visibility: Public createdDateTime: '2026-01-15T10:30:00Z' renewedDateTime: '2026-01-15T10:30:00Z' classification: example_value membershipRule: example_value membershipRuleProcessingState: 'On' resourceProvisioningOptions: {} members: {} owners: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createGroup summary: Microsoft Office 365 Create Group description: >- Create a new Microsoft 365 group or security group. You can create Microsoft 365 groups with a team, a channel, or both by specifying the resourceProvisioningOptions. Requires Group.ReadWrite.All or Directory.ReadWrite.All permission. tags: - Groups requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GroupCreateRequest' examples: CreategroupRequestExample: summary: Default createGroup request x-microcks-default: true value: displayName: example_value description: A sample description. mailEnabled: true mailNickname: example_value securityEnabled: true groupTypes: - example_value visibility: Public 'owners@odata.bind': - example_value 'members@odata.bind': - example_value responses: '201': description: The created group object. content: application/json: schema: $ref: '#/components/schemas/Group' examples: Creategroup201Example: summary: Default createGroup 201 response x-microcks-default: true value: id: abc123 displayName: example_value description: A sample description. mail: example_value mailEnabled: true mailNickname: example_value securityEnabled: true groupTypes: - example_value visibility: Public createdDateTime: '2026-01-15T10:30:00Z' renewedDateTime: '2026-01-15T10:30:00Z' classification: example_value membershipRule: example_value membershipRuleProcessingState: 'On' resourceProvisioningOptions: - example_value members: - '@odata.type': example_value id: abc123 displayName: example_value owners: - '@odata.type': example_value id: abc123 displayName: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /groups/{group-id}: get: operationId: getGroup summary: Microsoft Office 365 Get Group description: >- Get the properties and relationships of a group object. Returns a default set of properties; use $select to request additional properties. Requires GroupMember.Read.All, Group.Read.All, or Directory.Read.All permission. tags: - Groups parameters: - $ref: '#/components/parameters/groupId' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: The requested group object. content: application/json: schema: $ref: '#/components/schemas/Group' examples: Getgroup200Example: summary: Default getGroup 200 response x-microcks-default: true value: id: abc123 displayName: example_value description: A sample description. mail: example_value mailEnabled: true mailNickname: example_value securityEnabled: true groupTypes: - example_value visibility: Public createdDateTime: '2026-01-15T10:30:00Z' renewedDateTime: '2026-01-15T10:30:00Z' classification: example_value membershipRule: example_value membershipRuleProcessingState: 'On' resourceProvisioningOptions: - example_value members: - '@odata.type': example_value id: abc123 displayName: example_value owners: - '@odata.type': example_value id: abc123 displayName: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateGroup summary: Microsoft Office 365 Update Group description: >- Update the properties of a group object. Requires Group.ReadWrite.All or Directory.ReadWrite.All permission. Not every property can be updated. tags: - Groups parameters: - $ref: '#/components/parameters/groupId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GroupUpdateRequest' examples: UpdategroupRequestExample: summary: Default updateGroup request x-microcks-default: true value: displayName: example_value description: A sample description. mailNickname: example_value visibility: Public classification: example_value responses: '204': description: Group updated successfully. No content returned. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteGroup summary: Microsoft Office 365 Delete Group description: >- Delete a group. When deleted, Microsoft 365 groups are moved to a temporary container and can be restored within 30 days. Security groups and distribution groups are permanently deleted immediately. Requires Group.ReadWrite.All or Directory.ReadWrite.All permission. tags: - Groups parameters: - $ref: '#/components/parameters/groupId' responses: '204': description: Group deleted successfully. No content returned. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /groups/{group-id}/members: get: operationId: listGroupMembers summary: Microsoft Office 365 List Group Members description: >- Get a list of the group's direct members. A group can have users, organizational contacts, devices, service principals, and other groups as members. Requires GroupMember.Read.All, Group.Read.All, or Directory.Read.All permission. tags: - Groups parameters: - $ref: '#/components/parameters/groupId' - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/count' responses: '200': description: A collection of directory objects representing group members. content: application/json: schema: $ref: '#/components/schemas/DirectoryObjectCollectionResponse' examples: Listgroupmembers200Example: summary: Default listGroupMembers 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.count': 10 '@odata.nextLink': https://www.example.com value: - '@odata.type': example_value id: abc123 displayName: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /groups/{group-id}/members/$ref: post: operationId: addGroupMember summary: Microsoft Office 365 Add Group Member description: >- Add a member to a Microsoft 365 group or a security group through the members navigation property. You can add users, organizational contacts, service principals, or other groups. Requires GroupMember.ReadWrite.All, Group.ReadWrite.All, or Directory.ReadWrite.All permission. tags: - Groups parameters: - $ref: '#/components/parameters/groupId' requestBody: required: true content: application/json: schema: type: object required: - '@odata.id' properties: '@odata.id': type: string description: >- The URL of the directory object to add as a member. example: https://graph.microsoft.com/v1.0/directoryObjects/{id} examples: AddgroupmemberRequestExample: summary: Default addGroupMember request x-microcks-default: true value: '@odata.id': '500123' responses: '204': description: Member added successfully. No content returned. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /groups/{group-id}/members/{directoryObject-id}/$ref: delete: operationId: removeGroupMember summary: Microsoft Office 365 Remove Group Member description: >- Remove a member from a group via the members navigation property. Requires GroupMember.ReadWrite.All, Group.ReadWrite.All, or Directory.ReadWrite.All permission. tags: - Groups parameters: - $ref: '#/components/parameters/groupId' - name: directoryObject-id in: path required: true description: The unique identifier of the directory object (member) to remove. schema: type: string example: '500123' responses: '204': description: Member removed successfully. No content returned. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' # ── Mail ─────────────────────────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/messages: get: operationId: listMessages summary: Microsoft Office 365 List Messages description: >- Get the messages in the signed-in user's mailbox (including Deleted Items and Clutter folders). Depending on the page size and mailbox data, getting messages may incur multiple requests. The default page size is 10. Requires Mail.ReadBasic, Mail.Read, or Mail.ReadWrite permission. tags: - Mail parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/expand' responses: '200': description: A collection of message objects. content: application/json: schema: $ref: '#/components/schemas/MessageCollectionResponse' examples: Listmessages200Example: summary: Default listMessages 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.count': 10 '@odata.nextLink': https://www.example.com value: - id: abc123 subject: example_value bodyPreview: example_value toRecipients: {} ccRecipients: {} bccRecipients: {} replyTo: {} conversationId: '500123' conversationIndex: example_value receivedDateTime: '2026-01-15T10:30:00Z' sentDateTime: '2026-01-15T10:30:00Z' createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' hasAttachments: true internetMessageId: '500123' importance: low isRead: true isDraft: true isDeliveryReceiptRequested: true isReadReceiptRequested: true categories: {} parentFolderId: '500123' webLink: https://www.example.com inferenceClassification: focused '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createMessage summary: Microsoft Office 365 Create Draft Message description: >- Create a draft of a new message in the signed-in user's mailbox. The draft can then be updated and sent. The message is saved in the Drafts folder by default. Requires Mail.ReadWrite permission. tags: - Mail requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MessageCreateRequest' examples: CreatemessageRequestExample: summary: Default createMessage request x-microcks-default: true value: subject: example_value body: contentType: text content: example_value toRecipients: - {} ccRecipients: - {} bccRecipients: - {} replyTo: - {} importance: low isDeliveryReceiptRequested: true isReadReceiptRequested: true categories: - example_value responses: '201': description: The created draft message object. content: application/json: schema: $ref: '#/components/schemas/Message' examples: Createmessage201Example: summary: Default createMessage 201 response x-microcks-default: true value: id: abc123 subject: example_value body: contentType: text content: example_value bodyPreview: example_value sender: {} from: {} toRecipients: - {} ccRecipients: - {} bccRecipients: - {} replyTo: - {} conversationId: '500123' conversationIndex: example_value receivedDateTime: '2026-01-15T10:30:00Z' sentDateTime: '2026-01-15T10:30:00Z' createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' hasAttachments: true internetMessageId: '500123' importance: low isRead: true isDraft: true isDeliveryReceiptRequested: true isReadReceiptRequested: true flag: flagStatus: notFlagged categories: - example_value parentFolderId: '500123' webLink: https://www.example.com inferenceClassification: focused '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/messages/{message-id}: get: operationId: getMessage summary: Microsoft Office 365 Get Message description: >- Retrieve the properties and relationships of a message object. You can use $select to return specific properties and $expand to expand relationships such as attachments. Requires Mail.ReadBasic, Mail.Read, or Mail.ReadWrite permission. tags: - Mail parameters: - $ref: '#/components/parameters/messageId' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: The requested message object. content: application/json: schema: $ref: '#/components/schemas/Message' examples: Getmessage200Example: summary: Default getMessage 200 response x-microcks-default: true value: id: abc123 subject: example_value body: contentType: text content: example_value bodyPreview: example_value sender: {} from: {} toRecipients: - {} ccRecipients: - {} bccRecipients: - {} replyTo: - {} conversationId: '500123' conversationIndex: example_value receivedDateTime: '2026-01-15T10:30:00Z' sentDateTime: '2026-01-15T10:30:00Z' createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' hasAttachments: true internetMessageId: '500123' importance: low isRead: true isDraft: true isDeliveryReceiptRequested: true isReadReceiptRequested: true flag: flagStatus: notFlagged categories: - example_value parentFolderId: '500123' webLink: https://www.example.com inferenceClassification: focused '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateMessage summary: Microsoft Office 365 Update Message description: >- Update the properties of a message object. Requires Mail.ReadWrite permission. tags: - Mail parameters: - $ref: '#/components/parameters/messageId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MessageUpdateRequest' examples: UpdatemessageRequestExample: summary: Default updateMessage request x-microcks-default: true value: subject: example_value body: contentType: text content: example_value toRecipients: - {} ccRecipients: - {} bccRecipients: - {} importance: low isRead: true categories: - example_value flag: flagStatus: notFlagged inferenceClassification: focused responses: '200': description: The updated message object. content: application/json: schema: $ref: '#/components/schemas/Message' examples: Updatemessage200Example: summary: Default updateMessage 200 response x-microcks-default: true value: id: abc123 subject: example_value body: contentType: text content: example_value bodyPreview: example_value sender: {} from: {} toRecipients: - {} ccRecipients: - {} bccRecipients: - {} replyTo: - {} conversationId: '500123' conversationIndex: example_value receivedDateTime: '2026-01-15T10:30:00Z' sentDateTime: '2026-01-15T10:30:00Z' createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' hasAttachments: true internetMessageId: '500123' importance: low isRead: true isDraft: true isDeliveryReceiptRequested: true isReadReceiptRequested: true flag: flagStatus: notFlagged categories: - example_value parentFolderId: '500123' webLink: https://www.example.com inferenceClassification: focused '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteMessage summary: Microsoft Office 365 Delete Message description: >- Delete a message in the signed-in user's mailbox. Requires Mail.ReadWrite permission. tags: - Mail parameters: - $ref: '#/components/parameters/messageId' responses: '204': description: Message deleted successfully. No content returned. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/sendMail: post: operationId: sendMail summary: Microsoft Office 365 Send Mail description: >- Send the message specified in the request body using either JSON or MIME format. The message is saved in the Sent Items folder by default. You can include an attachment with the send action. Requires Mail.Send permission. tags: - Mail requestBody: required: true content: application/json: schema: type: object required: - message properties: message: $ref: '#/components/schemas/MessageCreateRequest' saveToSentItems: type: boolean description: Whether to save the message in Sent Items folder. default: true examples: SendmailRequestExample: summary: Default sendMail request x-microcks-default: true value: message: subject: example_value body: contentType: text content: example_value toRecipients: - {} ccRecipients: - {} bccRecipients: - {} replyTo: - {} importance: low isDeliveryReceiptRequested: true isReadReceiptRequested: true categories: - example_value saveToSentItems: true responses: '202': description: Mail accepted for delivery. No content returned. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/mailFolders: get: operationId: listMailFolders summary: Microsoft Office 365 List Mail Folders description: >- Get the mail folder collection directly under the root folder of the signed-in user. The returned collection includes any mail search folders directly under the root. Requires Mail.ReadBasic, Mail.Read, or Mail.ReadWrite permission. tags: - Mail parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/filter' responses: '200': description: A collection of mail folder objects. content: application/json: schema: $ref: '#/components/schemas/MailFolderCollectionResponse' examples: Listmailfolders200Example: summary: Default listMailFolders 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.nextLink': https://www.example.com value: - id: abc123 displayName: example_value parentFolderId: '500123' childFolderCount: 10 totalItemCount: 10 unreadItemCount: 10 isHidden: true '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/mailFolders/{mailFolder-id}/messages: get: operationId: listMailFolderMessages summary: Microsoft Office 365 List Messages in Folder description: >- Get the message collection in the specified mail folder. Requires Mail.ReadBasic, Mail.Read, or Mail.ReadWrite permission. tags: - Mail parameters: - name: mailFolder-id in: path required: true description: The unique identifier of the mail folder, or a well-known folder name (inbox, drafts, sentitems, deleteditems). schema: type: string example: '500123' - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/search' responses: '200': description: A collection of message objects. content: application/json: schema: $ref: '#/components/schemas/MessageCollectionResponse' examples: Listmailfoldermessages200Example: summary: Default listMailFolderMessages 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.count': 10 '@odata.nextLink': https://www.example.com value: - id: abc123 subject: example_value bodyPreview: example_value toRecipients: {} ccRecipients: {} bccRecipients: {} replyTo: {} conversationId: '500123' conversationIndex: example_value receivedDateTime: '2026-01-15T10:30:00Z' sentDateTime: '2026-01-15T10:30:00Z' createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' hasAttachments: true internetMessageId: '500123' importance: low isRead: true isDraft: true isDeliveryReceiptRequested: true isReadReceiptRequested: true categories: {} parentFolderId: '500123' webLink: https://www.example.com inferenceClassification: focused '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' # ── Calendar ─────────────────────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/events: get: operationId: listEvents summary: Microsoft Office 365 List Events description: >- Get the events in the signed-in user's default calendar or from a specified calendar. The list contains single instance meetings and series masters. To get expanded event instances, you can get the calendar view or the instances of an event. Requires Calendars.Read or Calendars.ReadWrite permission. tags: - Calendar parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/orderby' responses: '200': description: A collection of event objects. content: application/json: schema: $ref: '#/components/schemas/EventCollectionResponse' examples: Listevents200Example: summary: Default listEvents 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.count': 10 '@odata.nextLink': https://www.example.com value: - id: abc123 subject: example_value bodyPreview: example_value locations: {} attendees: {} isAllDay: true isCancelled: true isOrganizer: true isOnlineMeeting: true onlineMeetingProvider: unknown onlineMeetingUrl: https://www.example.com seriesMasterId: '500123' type: singleInstance showAs: free importance: low sensitivity: normal responseRequested: true allowNewTimeProposals: true categories: {} hasAttachments: true iCalUId: '500123' webLink: https://www.example.com createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' reminderMinutesBeforeStart: 10 transactionId: '500123' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createEvent summary: Microsoft Office 365 Create Event description: >- Create an event in the signed-in user's default calendar or a specified calendar. By default, the allowNewTimeProposals property is set to true when an event is created. Requires Calendars.ReadWrite permission. tags: - Calendar requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventCreateRequest' examples: CreateeventRequestExample: summary: Default createEvent request x-microcks-default: true value: subject: example_value body: contentType: text content: example_value start: dateTime: example_value timeZone: example_value end: dateTime: example_value timeZone: example_value location: displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown locations: - displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown attendees: - type: required isAllDay: true isOnlineMeeting: true onlineMeetingProvider: teamsForBusiness recurrence: {} showAs: free importance: low sensitivity: normal responseRequested: true allowNewTimeProposals: true categories: - example_value reminderMinutesBeforeStart: 10 transactionId: '500123' responses: '201': description: The created event object. content: application/json: schema: $ref: '#/components/schemas/Event' examples: Createevent201Example: summary: Default createEvent 201 response x-microcks-default: true value: id: abc123 subject: example_value body: contentType: text content: example_value bodyPreview: example_value start: dateTime: example_value timeZone: example_value end: dateTime: example_value timeZone: example_value location: displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown locations: - displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown attendees: - type: required organizer: {} isAllDay: true isCancelled: true isOrganizer: true isOnlineMeeting: true onlineMeetingProvider: unknown onlineMeetingUrl: https://www.example.com onlineMeeting: joinUrl: https://www.example.com conferenceId: '500123' tollNumber: example_value tollFreeNumbers: - {} quickDial: example_value phones: - {} recurrence: {} seriesMasterId: '500123' type: singleInstance showAs: free importance: low sensitivity: normal responseStatus: response: none time: '2026-01-15T10:30:00Z' responseRequested: true allowNewTimeProposals: true categories: - example_value hasAttachments: true iCalUId: '500123' webLink: https://www.example.com createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' reminderMinutesBeforeStart: 10 transactionId: '500123' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/events/{event-id}: get: operationId: getEvent summary: Microsoft Office 365 Get Event description: >- Get the properties and relationships of the specified event object. Returns the event body in HTML format by default. Requires Calendars.Read or Calendars.ReadWrite permission. tags: - Calendar parameters: - $ref: '#/components/parameters/eventId' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: The requested event object. content: application/json: schema: $ref: '#/components/schemas/Event' examples: Getevent200Example: summary: Default getEvent 200 response x-microcks-default: true value: id: abc123 subject: example_value body: contentType: text content: example_value bodyPreview: example_value start: dateTime: example_value timeZone: example_value end: dateTime: example_value timeZone: example_value location: displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown locations: - displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown attendees: - type: required organizer: {} isAllDay: true isCancelled: true isOrganizer: true isOnlineMeeting: true onlineMeetingProvider: unknown onlineMeetingUrl: https://www.example.com onlineMeeting: joinUrl: https://www.example.com conferenceId: '500123' tollNumber: example_value tollFreeNumbers: - {} quickDial: example_value phones: - {} recurrence: {} seriesMasterId: '500123' type: singleInstance showAs: free importance: low sensitivity: normal responseStatus: response: none time: '2026-01-15T10:30:00Z' responseRequested: true allowNewTimeProposals: true categories: - example_value hasAttachments: true iCalUId: '500123' webLink: https://www.example.com createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' reminderMinutesBeforeStart: 10 transactionId: '500123' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateEvent summary: Microsoft Office 365 Update Event description: >- Update the properties of an event object. Only the properties you specify are changed. Requires Calendars.ReadWrite permission. tags: - Calendar parameters: - $ref: '#/components/parameters/eventId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventUpdateRequest' examples: UpdateeventRequestExample: summary: Default updateEvent request x-microcks-default: true value: subject: example_value body: contentType: text content: example_value start: dateTime: example_value timeZone: example_value end: dateTime: example_value timeZone: example_value location: displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown locations: - displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown attendees: - type: required isAllDay: true isOnlineMeeting: true onlineMeetingProvider: teamsForBusiness recurrence: {} showAs: free importance: low sensitivity: normal categories: - example_value reminderMinutesBeforeStart: 10 responses: '200': description: The updated event object. content: application/json: schema: $ref: '#/components/schemas/Event' examples: Updateevent200Example: summary: Default updateEvent 200 response x-microcks-default: true value: id: abc123 subject: example_value body: contentType: text content: example_value bodyPreview: example_value start: dateTime: example_value timeZone: example_value end: dateTime: example_value timeZone: example_value location: displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown locations: - displayName: example_value locationType: default locationUri: example_value uniqueId: '500123' uniqueIdType: unknown attendees: - type: required organizer: {} isAllDay: true isCancelled: true isOrganizer: true isOnlineMeeting: true onlineMeetingProvider: unknown onlineMeetingUrl: https://www.example.com onlineMeeting: joinUrl: https://www.example.com conferenceId: '500123' tollNumber: example_value tollFreeNumbers: - {} quickDial: example_value phones: - {} recurrence: {} seriesMasterId: '500123' type: singleInstance showAs: free importance: low sensitivity: normal responseStatus: response: none time: '2026-01-15T10:30:00Z' responseRequested: true allowNewTimeProposals: true categories: - example_value hasAttachments: true iCalUId: '500123' webLink: https://www.example.com createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' reminderMinutesBeforeStart: 10 transactionId: '500123' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteEvent summary: Microsoft Office 365 Delete Event description: >- Remove the specified event from the user's calendar. If the event is a meeting, deleting it on the organizer's calendar sends a cancellation message to attendees. Requires Calendars.ReadWrite permission. tags: - Calendar parameters: - $ref: '#/components/parameters/eventId' responses: '204': description: Event deleted successfully. No content returned. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/calendars: get: operationId: listCalendars summary: Microsoft Office 365 List Calendars description: >- Get all the signed-in user's calendars from the default calendar group or from a specific calendar group. Requires Calendars.Read or Calendars.ReadWrite permission. tags: - Calendar parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/filter' responses: '200': description: A collection of calendar objects. content: application/json: schema: $ref: '#/components/schemas/CalendarCollectionResponse' examples: Listcalendars200Example: summary: Default listCalendars 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.nextLink': https://www.example.com value: - id: abc123 name: Example Title color: auto changeKey: example_value canEdit: true canShare: true canViewPrivateItems: true isDefaultCalendar: true hexColor: example_value isRemovable: true isTallyingResponses: true allowedOnlineMeetingProviders: {} defaultOnlineMeetingProvider: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/calendarView: get: operationId: getCalendarView summary: Microsoft Office 365 Get Calendar View description: >- Get the occurrences, exceptions, and single instances of events in a calendar view defined by a time range, from the user's default calendar or from a specified calendar. Requires Calendars.Read or Calendars.ReadWrite permission. tags: - Calendar parameters: - name: startDateTime in: query required: true description: The start date and time of the time range, in ISO 8601 format (e.g. 2019-11-08T19:00:00-08:00). schema: type: string format: date-time example: '2026-01-15T10:30:00Z' - name: endDateTime in: query required: true description: The end date and time of the time range, in ISO 8601 format (e.g. 2019-11-08T20:00:00-08:00). schema: type: string format: date-time example: '2026-01-15T10:30:00Z' - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/orderby' responses: '200': description: A collection of event objects within the specified time range. content: application/json: schema: $ref: '#/components/schemas/EventCollectionResponse' examples: Getcalendarview200Example: summary: Default getCalendarView 200 response x-microcks-default: true value: '@odata.context': example_value '@odata.count': 10 '@odata.nextLink': https://www.example.com value: - id: abc123 subject: example_value bodyPreview: example_value locations: {} attendees: {} isAllDay: true isCancelled: true isOrganizer: true isOnlineMeeting: true onlineMeetingProvider: unknown onlineMeetingUrl: https://www.example.com seriesMasterId: '500123' type: singleInstance showAs: free importance: low sensitivity: normal responseRequested: true allowNewTimeProposals: true categories: {} hasAttachments: true iCalUId: '500123' webLink: https://www.example.com createdDateTime: '2026-01-15T10:30:00Z' lastModifiedDateTime: '2026-01-15T10:30:00Z' reminderMinutesBeforeStart: 10 transactionId: '500123' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/events/{event-id}/accept: post: operationId: acceptEvent summary: Microsoft Office 365 Accept Event description: >- Accept the specified event in a user calendar. Requires Calendars.ReadWrite permission. tags: - Calendar parameters: - $ref: '#/components/parameters/eventId' requestBody: required: false content: application/json: schema: type: object properties: comment: type: string description: Text included in the response. Optional. sendResponse: type: boolean description: Whether a response is to be sent to the organizer. Default is true. default: true examples: AccepteventRequestExample: summary: Default acceptEvent request x-microcks-default: true value: comment: example_value sendResponse: true responses: '202': description: Event accepted. No content returned. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK /me/events/{event-id}/decline: post: operationId: declineEvent summary: Microsoft Office 365 Decline Event description: >- Decline invitation to the specified event in a user calendar. Requires Calendars.ReadWrite permission. tags: - Calendar parameters: - $ref: '#/components/parameters/eventId' requestBody: required: false content: application/json: schema: type: object properties: comment: type: string description: Text included in the response. Optional. sendResponse: type: boolean description: Whether a response is to be sent to the organizer. Default is true. default: true proposedNewTime: $ref: '#/components/schemas/TimeSlot' examples: DeclineeventRequestExample: summary: Default declineEvent request x-microcks-default: true value: comment: example_value sendResponse: true proposedNewTime: start: dateTime: example_value timeZone: example_value end: dateTime: example_value timeZone: example_value responses: '202': description: Event declined. No content returned. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: oauth2: type: oauth2 description: >- Microsoft identity platform OAuth 2.0 authorization. Supports delegated (user) and application-only permissions. Microsoft Graph uses scopes to control access to resources. flows: authorizationCode: authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token scopes: User.Read: Sign in and read user profile User.ReadBasic.All: Read all users' basic profiles User.Read.All: Read all users' full profiles User.ReadWrite: Read and update your profile User.ReadWrite.All: Read and write all users' full profiles Directory.Read.All: Read directory data Directory.ReadWrite.All: Read and write directory data Group.Read.All: Read all groups Group.ReadWrite.All: Read and write all groups GroupMember.Read.All: Read all group memberships GroupMember.ReadWrite.All: Read and write all group memberships Mail.ReadBasic: Read user basic mail Mail.Read: Read user mail Mail.ReadWrite: Read and write user mail Mail.Send: Send mail as a user Calendars.Read: Read user calendars Calendars.ReadWrite: Read and write user calendars clientCredentials: tokenUrl: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token scopes: https://graph.microsoft.com/.default: Default scope for application permissions bearerAuth: type: http scheme: bearer bearerFormat: JWT description: >- Bearer token obtained from the Microsoft identity platform. Use an access token in the Authorization header of each request. parameters: userId: name: user-id in: path required: true description: The unique identifier of the user (GUID) or the userPrincipalName. schema: type: string groupId: name: group-id in: path required: true description: The unique identifier of the group (GUID). schema: type: string messageId: name: message-id in: path required: true description: The unique identifier of the message. schema: type: string eventId: name: event-id in: path required: true description: The unique identifier of the event. schema: type: string top: name: $top in: query description: The number of items to return in a result set. Maximum value depends on the API. schema: type: integer minimum: 1 skip: name: $skip in: query description: The number of items to skip in the result set. schema: type: integer minimum: 0 filter: name: $filter in: query description: OData filter expression to restrict the set of items returned. schema: type: string select: name: $select in: query description: Comma-separated list of properties to include in the response. schema: type: string orderby: name: $orderby in: query description: Comma-separated list of properties for sorting results. schema: type: string search: name: $search in: query description: Search expression to filter results. Uses KQL syntax for directory objects. schema: type: string count: name: $count in: query description: Include a count of the total number of items in a collection alongside the page of data values. schema: type: boolean expand: name: $expand in: query description: Comma-separated list of relationships to expand and include in the response. schema: type: string schemas: # ── User schemas ─────────────────────────────────────────────────── User: type: object description: >- Represents an Azure Active Directory user account. Inherits from directoryObject. Contains the user's profile information, organizational hierarchy, assigned licenses, and managed resources. properties: id: type: string readOnly: true description: >- The unique identifier for the user. Inherited from directoryObject. GUID format. example: abc123 displayName: type: string description: The name displayed in the address book for the user. example: example_value givenName: type: string description: The given name (first name) of the user. example: example_value surname: type: string description: The user's surname (family name or last name). example: example_value mail: type: string format: email description: >- The SMTP address for the user. This property cannot contain accent characters. example: example_value userPrincipalName: type: string description: >- The user principal name (UPN) of the user. The UPN is an Internet-style login name based on RFC 822. By convention, this should map to the user's email name. example: example_value jobTitle: type: string description: The user's job title. example: example_value department: type: string description: The name of the department in which the user works. example: example_value officeLocation: type: string description: The office location in the user's place of business. example: example_value companyName: type: string description: The company name associated with the user. example: example_value businessPhones: type: array items: type: string description: The telephone numbers for the user. example: [] mobilePhone: type: string description: The primary cellular telephone number for the user. example: example_value streetAddress: type: string description: The street address of the user's place of business. example: example_value city: type: string description: The city in which the user is located. example: example_value state: type: string description: The state or province in the user's address. example: example_value postalCode: type: string description: The postal code for the user's postal address. example: example_value country: type: string description: >- The country or region in which the user is located; for example, US or UK. example: example_value preferredLanguage: type: string description: >- The preferred language for the user. Should follow ISO 639-1 Code; for example en-US. example: example_value accountEnabled: type: boolean description: >- True if the account is enabled; otherwise, false. Required when creating a user. example: true createdDateTime: type: string format: date-time readOnly: true description: The date and time the user was created in ISO 8601 format. example: '2026-01-15T10:30:00Z' lastSignInDateTime: type: string format: date-time readOnly: true description: >- The date and time of the user's most recent interactive or non-interactive sign-in. example: '2026-01-15T10:30:00Z' usageLocation: type: string description: >- A two-letter country code (ISO 3166) required for users who will be assigned licenses. Not nullable. example: example_value passwordProfile: $ref: '#/components/schemas/PasswordProfile' identities: type: array items: $ref: '#/components/schemas/ObjectIdentity' description: >- Represents the identities that can be used to sign in to this user account. example: [] assignedLicenses: type: array readOnly: true items: $ref: '#/components/schemas/AssignedLicense' description: The licenses assigned to the user. example: [] manager: $ref: '#/components/schemas/DirectoryObject' memberOf: type: array readOnly: true items: $ref: '#/components/schemas/DirectoryObject' description: The groups, directory roles, and administrative units the user is a member of. example: [] UserCreateRequest: type: object required: - accountEnabled - displayName - mailNickname - userPrincipalName - passwordProfile properties: accountEnabled: type: boolean description: True if the account is enabled; otherwise, false. example: true displayName: type: string description: The name to display in the address book for the user. example: example_value mailNickname: type: string description: The mail alias for the user. example: example_value userPrincipalName: type: string description: >- The user principal name (someuser@contoso.com). example: example_value passwordProfile: $ref: '#/components/schemas/PasswordProfile' givenName: type: string example: example_value surname: type: string example: example_value jobTitle: type: string example: example_value department: type: string example: example_value officeLocation: type: string example: example_value mobilePhone: type: string example: example_value usageLocation: type: string example: example_value UserUpdateRequest: type: object properties: displayName: type: string example: example_value givenName: type: string example: example_value surname: type: string example: example_value jobTitle: type: string example: example_value department: type: string example: example_value officeLocation: type: string example: example_value mobilePhone: type: string example: example_value businessPhones: type: array items: type: string example: [] streetAddress: type: string example: example_value city: type: string example: example_value state: type: string example: example_value postalCode: type: string example: example_value country: type: string example: example_value preferredLanguage: type: string example: example_value accountEnabled: type: boolean example: true usageLocation: type: string example: example_value passwordProfile: $ref: '#/components/schemas/PasswordProfile' UserCollectionResponse: type: object properties: '@odata.context': type: string description: The OData context URL for the collection. example: example_value '@odata.count': type: integer description: The total count of items in the collection (if requested). example: 10 '@odata.nextLink': type: string format: uri description: The URL to retrieve the next page of results. example: https://www.example.com value: type: array items: $ref: '#/components/schemas/User' example: [] PasswordProfile: type: object description: Contains the password profile associated with a user. properties: forceChangePasswordNextSignIn: type: boolean description: Whether the user must change the password on the next sign-in. default: true example: true forceChangePasswordNextSignInWithMfa: type: boolean description: >- Whether the user must perform multi-factor authentication before being forced to change their password. default: false example: true password: type: string format: password description: >- The password for the user. Must satisfy the tenant's password complexity requirements. Minimum of 8 characters. example: example_value ObjectIdentity: type: object description: Represents an identity used to sign in to a user account. properties: signInType: type: string description: >- Specifies the type of user sign-in (e.g. emailAddress, userName, userPrincipalName). example: example_value issuer: type: string description: >- Specifies the issuer of the identity, for example contoso.onmicrosoft.com. example: example_value issuerAssignedId: type: string description: >- Specifies the unique value associated with the issuer- signInType combination. example: '500123' AssignedLicense: type: object description: Represents a license assigned to a user. properties: disabledPlans: type: array items: type: string description: A collection of unique identifiers for disabled plans. example: [] skuId: type: string description: The unique identifier for the SKU. example: '500123' DirectoryObject: type: object description: >- Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types. properties: '@odata.type': type: string description: The OData type of the directory object. example: example_value id: type: string description: The unique identifier for the directory object. example: abc123 displayName: type: string description: The name displayed for the directory object. example: example_value DirectoryObjectCollectionResponse: type: object properties: '@odata.context': type: string example: example_value '@odata.count': type: integer example: 10 '@odata.nextLink': type: string format: uri example: https://www.example.com value: type: array items: $ref: '#/components/schemas/DirectoryObject' # ── Group schemas ────────────────────────────────────────────────── example: [] Group: type: object description: >- Represents an Azure Active Directory group. Can be a Microsoft 365 group, a security group, a mail-enabled security group, or a distribution group. properties: id: type: string readOnly: true description: The unique identifier for the group. example: abc123 displayName: type: string description: The display name for the group. example: example_value description: type: string description: An optional description for the group. example: A sample description. mail: type: string format: email readOnly: true description: The SMTP address for the group. example: example_value mailEnabled: type: boolean description: Specifies whether the group is mail-enabled. example: true mailNickname: type: string description: >- The mail alias for the group, unique for Microsoft 365 groups in the organization. example: example_value securityEnabled: type: boolean description: Specifies whether the group is a security group. example: true groupTypes: type: array items: type: string description: >- Specifies the group type and its membership. If the collection includes "Unified", the group is a Microsoft 365 group. example: [] visibility: type: string enum: - Public - Private - HiddenMembership description: >- Specifies the visibility of a Microsoft 365 group. Default value is Public. example: Public createdDateTime: type: string format: date-time readOnly: true description: Timestamp of when the group was created. example: '2026-01-15T10:30:00Z' renewedDateTime: type: string format: date-time readOnly: true description: Timestamp of when the group was last renewed. example: '2026-01-15T10:30:00Z' classification: type: string description: >- Describes a classification for the group (such as low, medium, or high business impact). example: example_value membershipRule: type: string description: >- The rule that determines members for this group if the group is a dynamic group. example: example_value membershipRuleProcessingState: type: string enum: - 'On' - Paused description: Whether dynamic membership processing is on or paused. example: 'On' resourceProvisioningOptions: type: array items: type: string description: >- Specifies the group resources provisioned as part of Microsoft 365 group creation (e.g., Team). example: [] members: type: array readOnly: true items: $ref: '#/components/schemas/DirectoryObject' description: Direct members of this group. example: [] owners: type: array readOnly: true items: $ref: '#/components/schemas/DirectoryObject' description: The owners of the group. example: [] GroupCreateRequest: type: object required: - displayName - mailEnabled - mailNickname - securityEnabled properties: displayName: type: string description: The display name for the group. example: example_value description: type: string example: A sample description. mailEnabled: type: boolean example: true mailNickname: type: string example: example_value securityEnabled: type: boolean example: true groupTypes: type: array items: type: string description: Set to ["Unified"] to create a Microsoft 365 group. example: [] visibility: type: string enum: - Public - Private - HiddenMembership example: Public 'owners@odata.bind': type: array items: type: string description: URLs of user objects to set as owners at creation time. example: [] 'members@odata.bind': type: array items: type: string description: URLs of user objects to set as members at creation time. example: [] GroupUpdateRequest: type: object properties: displayName: type: string example: example_value description: type: string example: A sample description. mailNickname: type: string example: example_value visibility: type: string enum: - Public - Private - HiddenMembership example: Public classification: type: string example: example_value GroupCollectionResponse: type: object properties: '@odata.context': type: string example: example_value '@odata.count': type: integer example: 10 '@odata.nextLink': type: string format: uri example: https://www.example.com value: type: array items: $ref: '#/components/schemas/Group' # ── Mail schemas ─────────────────────────────────────────────────── example: [] Message: type: object description: >- A message in a mailFolder. Contains the message subject, body, sender, recipients, and other metadata. properties: id: type: string readOnly: true description: Unique identifier for the message. example: abc123 subject: type: string description: The subject of the message. example: example_value body: $ref: '#/components/schemas/ItemBody' bodyPreview: type: string readOnly: true description: The first 255 characters of the message body in text format. example: example_value sender: $ref: '#/components/schemas/Recipient' from: $ref: '#/components/schemas/Recipient' toRecipients: type: array items: $ref: '#/components/schemas/Recipient' description: The To recipients for the message. example: [] ccRecipients: type: array items: $ref: '#/components/schemas/Recipient' description: The Cc recipients for the message. example: [] bccRecipients: type: array items: $ref: '#/components/schemas/Recipient' description: The Bcc recipients for the message. example: [] replyTo: type: array items: $ref: '#/components/schemas/Recipient' description: The email addresses to use when replying. example: [] conversationId: type: string readOnly: true description: The ID of the conversation the email belongs to. example: '500123' conversationIndex: type: string format: byte readOnly: true description: The index of the message in the conversation. example: example_value receivedDateTime: type: string format: date-time readOnly: true description: The date and time the message was received. example: '2026-01-15T10:30:00Z' sentDateTime: type: string format: date-time readOnly: true description: The date and time the message was sent. example: '2026-01-15T10:30:00Z' createdDateTime: type: string format: date-time readOnly: true description: The date and time the message was created. example: '2026-01-15T10:30:00Z' lastModifiedDateTime: type: string format: date-time readOnly: true description: The date and time the message was last changed. example: '2026-01-15T10:30:00Z' hasAttachments: type: boolean readOnly: true description: Indicates whether the message has attachments. example: true internetMessageId: type: string readOnly: true description: The message ID in RFC2822 format. example: '500123' importance: type: string enum: - low - normal - high description: The importance of the message. example: low isRead: type: boolean description: Indicates whether the message has been read. example: true isDraft: type: boolean readOnly: true description: Indicates whether the message is a draft. example: true isDeliveryReceiptRequested: type: boolean description: Indicates whether a delivery receipt is requested. example: true isReadReceiptRequested: type: boolean description: Indicates whether a read receipt is requested. example: true flag: $ref: '#/components/schemas/FollowupFlag' categories: type: array items: type: string description: The categories associated with the message. example: [] parentFolderId: type: string readOnly: true description: The unique identifier for the message's parent mailFolder. example: '500123' webLink: type: string format: uri readOnly: true description: The URL to open the message in Outlook on the web. example: https://www.example.com inferenceClassification: type: string enum: - focused - other description: The classification of the message based on inferred relevance. example: focused MessageCreateRequest: type: object properties: subject: type: string description: The subject of the message. example: example_value body: $ref: '#/components/schemas/ItemBody' toRecipients: type: array items: $ref: '#/components/schemas/Recipient' example: [] ccRecipients: type: array items: $ref: '#/components/schemas/Recipient' example: [] bccRecipients: type: array items: $ref: '#/components/schemas/Recipient' example: [] replyTo: type: array items: $ref: '#/components/schemas/Recipient' example: [] importance: type: string enum: - low - normal - high example: low isDeliveryReceiptRequested: type: boolean example: true isReadReceiptRequested: type: boolean example: true categories: type: array items: type: string example: [] MessageUpdateRequest: type: object properties: subject: type: string example: example_value body: $ref: '#/components/schemas/ItemBody' toRecipients: type: array items: $ref: '#/components/schemas/Recipient' example: [] ccRecipients: type: array items: $ref: '#/components/schemas/Recipient' example: [] bccRecipients: type: array items: $ref: '#/components/schemas/Recipient' example: [] importance: type: string enum: - low - normal - high example: low isRead: type: boolean example: true categories: type: array items: type: string example: [] flag: $ref: '#/components/schemas/FollowupFlag' inferenceClassification: type: string enum: - focused - other example: focused MessageCollectionResponse: type: object properties: '@odata.context': type: string example: example_value '@odata.count': type: integer example: 10 '@odata.nextLink': type: string format: uri example: https://www.example.com value: type: array items: $ref: '#/components/schemas/Message' example: [] MailFolder: type: object description: A mail folder in a user's mailbox, such as Inbox and Drafts. properties: id: type: string readOnly: true description: The unique identifier for the mail folder. example: abc123 displayName: type: string description: The mail folder's display name. example: example_value parentFolderId: type: string readOnly: true description: The unique identifier for the mail folder's parent. example: '500123' childFolderCount: type: integer readOnly: true description: The number of immediate child folders in the current folder. example: 10 totalItemCount: type: integer readOnly: true description: The number of items in the mail folder. example: 10 unreadItemCount: type: integer readOnly: true description: The number of unread items in the folder. example: 10 isHidden: type: boolean description: Indicates whether the mail folder is hidden. example: true MailFolderCollectionResponse: type: object properties: '@odata.context': type: string example: example_value '@odata.nextLink': type: string format: uri example: https://www.example.com value: type: array items: $ref: '#/components/schemas/MailFolder' example: [] ItemBody: type: object description: Represents properties of the body of a message or event. properties: contentType: type: string enum: - text - html description: The type of the content. Possible values are text and html. example: text content: type: string description: The content of the item. example: example_value Recipient: type: object description: Represents information about a user in the sending or receiving end of a message or event. properties: emailAddress: $ref: '#/components/schemas/EmailAddress' EmailAddress: type: object description: The name and email address of a contact or message recipient. properties: name: type: string description: The display name of the person or entity. example: Example Title address: type: string format: email description: The email address of the person or entity. example: example_value FollowupFlag: type: object description: Allows setting a flag on an item for the user to follow up on later. properties: completedDateTime: $ref: '#/components/schemas/DateTimeTimeZone' dueDateTime: $ref: '#/components/schemas/DateTimeTimeZone' startDateTime: $ref: '#/components/schemas/DateTimeTimeZone' flagStatus: type: string enum: - notFlagged - complete - flagged description: The status of the follow-up flag. # ── Calendar schemas ─────────────────────────────────────────────── example: notFlagged Event: type: object description: >- An event in a user calendar or the default calendar of a Microsoft 365 group. Contains event details, scheduling, recurrence, attendees, and location information. properties: id: type: string readOnly: true description: Unique identifier for the event. example: abc123 subject: type: string description: The text of the event's subject line. example: example_value body: $ref: '#/components/schemas/ItemBody' bodyPreview: type: string readOnly: true description: A preview of the message associated with the event. example: example_value start: $ref: '#/components/schemas/DateTimeTimeZone' end: $ref: '#/components/schemas/DateTimeTimeZone' location: $ref: '#/components/schemas/Location' locations: type: array items: $ref: '#/components/schemas/Location' description: The locations where the event is held or attended from. example: [] attendees: type: array items: $ref: '#/components/schemas/Attendee' description: The collection of attendees for the event. example: [] organizer: $ref: '#/components/schemas/Recipient' isAllDay: type: boolean description: Set to true if the event lasts all day. example: true isCancelled: type: boolean readOnly: true description: Set to true if the event has been canceled. example: true isOrganizer: type: boolean readOnly: true description: Set to true if the calendar owner is the organizer. example: true isOnlineMeeting: type: boolean description: Whether the event is an online meeting. example: true onlineMeetingProvider: type: string enum: - unknown - teamsForBusiness - skypeForBusiness - skypeForConsumer description: The online meeting service provider. example: unknown onlineMeetingUrl: type: string format: uri readOnly: true description: A URL for an online meeting. example: https://www.example.com onlineMeeting: $ref: '#/components/schemas/OnlineMeetingInfo' recurrence: $ref: '#/components/schemas/PatternedRecurrence' seriesMasterId: type: string readOnly: true description: The ID for the recurring series master item. example: '500123' type: type: string enum: - singleInstance - occurrence - exception - seriesMaster readOnly: true description: The event type. example: singleInstance showAs: type: string enum: - free - tentative - busy - oof - workingElsewhere - unknown description: The status to show. example: free importance: type: string enum: - low - normal - high description: The importance of the event. example: low sensitivity: type: string enum: - normal - personal - private - confidential description: The sensitivity of the event. example: normal responseStatus: $ref: '#/components/schemas/ResponseStatus' responseRequested: type: boolean description: Whether the organizer would like an invitee to send a response. example: true allowNewTimeProposals: type: boolean description: Whether new time proposals are allowed for the event. example: true categories: type: array items: type: string description: The categories associated with the event. example: [] hasAttachments: type: boolean readOnly: true description: Whether the event has attachments. example: true iCalUId: type: string readOnly: true description: A unique identifier across calendars (RFC 2445). example: '500123' webLink: type: string format: uri readOnly: true description: The URL to open the event in Outlook on the web. example: https://www.example.com createdDateTime: type: string format: date-time readOnly: true description: The date and time the event was created. example: '2026-01-15T10:30:00Z' lastModifiedDateTime: type: string format: date-time readOnly: true description: The date and time the event was last modified. example: '2026-01-15T10:30:00Z' reminderMinutesBeforeStart: type: integer description: The number of minutes before the event start time for the reminder alert. example: 10 transactionId: type: string description: >- A custom identifier for the client to avoid redundant POST operations when client retries. example: '500123' EventCreateRequest: type: object required: - subject - start - end properties: subject: type: string example: example_value body: $ref: '#/components/schemas/ItemBody' start: $ref: '#/components/schemas/DateTimeTimeZone' end: $ref: '#/components/schemas/DateTimeTimeZone' location: $ref: '#/components/schemas/Location' locations: type: array items: $ref: '#/components/schemas/Location' example: [] attendees: type: array items: $ref: '#/components/schemas/Attendee' example: [] isAllDay: type: boolean example: true isOnlineMeeting: type: boolean example: true onlineMeetingProvider: type: string enum: - teamsForBusiness - skypeForBusiness - skypeForConsumer example: teamsForBusiness recurrence: $ref: '#/components/schemas/PatternedRecurrence' showAs: type: string enum: - free - tentative - busy - oof - workingElsewhere - unknown example: free importance: type: string enum: - low - normal - high example: low sensitivity: type: string enum: - normal - personal - private - confidential example: normal responseRequested: type: boolean example: true allowNewTimeProposals: type: boolean example: true categories: type: array items: type: string example: [] reminderMinutesBeforeStart: type: integer example: 10 transactionId: type: string example: '500123' EventUpdateRequest: type: object properties: subject: type: string example: example_value body: $ref: '#/components/schemas/ItemBody' start: $ref: '#/components/schemas/DateTimeTimeZone' end: $ref: '#/components/schemas/DateTimeTimeZone' location: $ref: '#/components/schemas/Location' locations: type: array items: $ref: '#/components/schemas/Location' example: [] attendees: type: array items: $ref: '#/components/schemas/Attendee' example: [] isAllDay: type: boolean example: true isOnlineMeeting: type: boolean example: true onlineMeetingProvider: type: string enum: - teamsForBusiness - skypeForBusiness - skypeForConsumer example: teamsForBusiness recurrence: $ref: '#/components/schemas/PatternedRecurrence' showAs: type: string enum: - free - tentative - busy - oof - workingElsewhere - unknown example: free importance: type: string enum: - low - normal - high example: low sensitivity: type: string enum: - normal - personal - private - confidential example: normal categories: type: array items: type: string example: [] reminderMinutesBeforeStart: type: integer example: 10 EventCollectionResponse: type: object properties: '@odata.context': type: string example: example_value '@odata.count': type: integer example: 10 '@odata.nextLink': type: string format: uri example: https://www.example.com value: type: array items: $ref: '#/components/schemas/Event' example: [] Calendar: type: object description: A calendar which is a container for events. properties: id: type: string readOnly: true description: The unique identifier for the calendar. example: abc123 name: type: string description: The calendar name. example: Example Title color: type: string enum: - auto - lightBlue - lightGreen - lightOrange - lightGray - lightYellow - lightTeal - lightPink - lightBrown - lightRed - maxColor description: Specifies the color theme for the calendar. example: auto changeKey: type: string readOnly: true description: Identifies the version of the calendar object. example: example_value canEdit: type: boolean readOnly: true description: Whether the user can write to the calendar. example: true canShare: type: boolean readOnly: true description: Whether the user has permission to share the calendar. example: true canViewPrivateItems: type: boolean readOnly: true description: Whether the user can read calendar items marked as private. example: true isDefaultCalendar: type: boolean readOnly: true description: Whether this is the default calendar. example: true owner: $ref: '#/components/schemas/EmailAddress' hexColor: type: string description: The calendar color expressed in hex format of three six-digit values. example: example_value isRemovable: type: boolean readOnly: true description: Whether the calendar can be deleted from the user's mailbox. example: true isTallyingResponses: type: boolean description: Whether the calendar supports tracking of meeting responses. example: true allowedOnlineMeetingProviders: type: array readOnly: true items: type: string description: The online meeting service providers available for events in this calendar. example: [] defaultOnlineMeetingProvider: type: string description: The default online meeting provider for meetings sent from this calendar. example: example_value CalendarCollectionResponse: type: object properties: '@odata.context': type: string example: example_value '@odata.nextLink': type: string format: uri example: https://www.example.com value: type: array items: $ref: '#/components/schemas/Calendar' example: [] DateTimeTimeZone: type: object description: Describes the date, time, and time zone of a point in time. properties: dateTime: type: string description: >- A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000). example: example_value timeZone: type: string description: >- The time zone for the time. For example, Pacific Standard Time. See https://learn.microsoft.com/en-us/graph/api/resources/datetimetimezone example: example_value Location: type: object description: Represents location information of an event. properties: displayName: type: string description: The name associated with the location. example: example_value locationType: type: string enum: - default - conferenceRoom - homeAddress - businessAddress - geoCoordinates - streetAddress - hotel - restaurant - localBusiness - postalAddress description: The type of location. example: default locationUri: type: string description: Optional URI representing the location. example: example_value address: $ref: '#/components/schemas/PhysicalAddress' coordinates: $ref: '#/components/schemas/OutlookGeoCoordinates' uniqueId: type: string description: For internal use only. example: '500123' uniqueIdType: type: string enum: - unknown - locationStore - directory - private - bing description: For internal use only. example: unknown PhysicalAddress: type: object description: Represents the street address of a resource such as a contact or event. properties: street: type: string example: example_value city: type: string example: example_value state: type: string example: example_value countryOrRegion: type: string example: example_value postalCode: type: string example: example_value OutlookGeoCoordinates: type: object description: The geographic coordinates and elevation of a location. properties: latitude: type: number format: double example: 42.5 longitude: type: number format: double example: 42.5 accuracy: type: number format: double example: 42.5 altitude: type: number format: double example: 42.5 altitudeAccuracy: type: number format: double example: 42.5 Attendee: type: object description: An event attendee that can be a person or resource. properties: emailAddress: $ref: '#/components/schemas/EmailAddress' type: type: string enum: - required - optional - resource description: The type of attendee. example: required status: $ref: '#/components/schemas/ResponseStatus' proposedNewTime: $ref: '#/components/schemas/TimeSlot' ResponseStatus: type: object description: The response status of an attendee or organizer for a meeting request. properties: response: type: string enum: - none - organizer - tentativelyAccepted - accepted - declined - notResponded description: The response type. example: none time: type: string format: date-time description: The date and time the response was returned. example: '2026-01-15T10:30:00Z' TimeSlot: type: object description: A time period. properties: start: $ref: '#/components/schemas/DateTimeTimeZone' end: $ref: '#/components/schemas/DateTimeTimeZone' OnlineMeetingInfo: type: object description: Details for an attendee to join the meeting online. properties: joinUrl: type: string format: uri description: The URL to join the meeting online. example: https://www.example.com conferenceId: type: string description: The ID of the conference. example: '500123' tollNumber: type: string description: The toll number to dial for audio conference. example: example_value tollFreeNumbers: type: array items: type: string description: The toll-free numbers to dial. example: [] quickDial: type: string description: The pre-formatted quick-dial for this call. example: example_value phones: type: array items: type: object properties: number: type: string type: type: string enum: - toll - tollFree description: All phone numbers associated with this conference. example: [] PatternedRecurrence: type: object description: The recurrence pattern and range. properties: pattern: $ref: '#/components/schemas/RecurrencePattern' range: $ref: '#/components/schemas/RecurrenceRange' RecurrencePattern: type: object description: Describes the frequency by which a recurring event repeats. properties: type: type: string enum: - daily - weekly - absoluteMonthly - relativeMonthly - absoluteYearly - relativeYearly description: The recurrence pattern type. example: daily interval: type: integer description: >- The number of units between occurrences, where units can be in days, weeks, months, or years. example: 10 daysOfWeek: type: array items: type: string enum: - sunday - monday - tuesday - wednesday - thursday - friday - saturday description: A collection of the days of the week on which the event occurs. example: [] dayOfMonth: type: integer description: The day of the month on which the event occurs. example: 10 month: type: integer description: The month in which the event occurs (1-12). example: 10 firstDayOfWeek: type: string enum: - sunday - monday - tuesday - wednesday - thursday - friday - saturday description: The first day of the week. example: sunday index: type: string enum: - first - second - third - fourth - last description: The week index for relative monthly and yearly patterns. example: first RecurrenceRange: type: object description: Describes a date range over which a recurring event repeats. properties: type: type: string enum: - endDate - noEnd - numbered description: The recurrence range type. example: endDate startDate: type: string format: date description: The start date of the series (first occurrence). example: '2026-01-15' endDate: type: string format: date description: The date to stop applying the recurrence pattern. example: '2026-01-15' numberOfOccurrences: type: integer description: The number of times to repeat the event. example: 10 recurrenceTimeZone: type: string description: Time zone for the startDate and endDate properties. # ── Error schemas ────────────────────────────────────────────────── example: example_value ODataError: type: object description: The error response from the Microsoft Graph API following OData conventions. properties: error: type: object properties: code: type: string description: The error code string. message: type: string description: A human-readable error message. innerError: type: object properties: date: type: string format: date-time request-id: type: string client-request-id: type: string example: example_value responses: BadRequest: description: Bad request. The request body or parameters are invalid. content: application/json: schema: $ref: '#/components/schemas/ODataError' Unauthorized: description: Unauthorized. A valid access token is required. content: application/json: schema: $ref: '#/components/schemas/ODataError' Forbidden: description: Forbidden. Insufficient permissions to complete the operation. content: application/json: schema: $ref: '#/components/schemas/ODataError' NotFound: description: Not found. The requested resource does not exist. content: application/json: schema: $ref: '#/components/schemas/ODataError' TooManyRequests: description: Too many requests. The application has been throttled. headers: Retry-After: description: The number of seconds to wait before retrying the request. schema: type: integer content: application/json: schema: $ref: '#/components/schemas/ODataError' InternalServerError: description: Internal server error. An unexpected error occurred on the server. content: application/json: schema: $ref: '#/components/schemas/ODataError'