ECI Office Integration API

Microsoft 365 integration for ECI products: drive files, mail and calendar for the signed-in user, with nextPageToken cursor paging.

Operations 18

GET /api/v1/drives Get drives #
GET /api/v1/drives/{id}/items Get drive items #
GET /api/v1/me/calendar/events Get calendar events. #
POST /api/v1/me/calendar/events Create a calendar event. #
GET /api/v1/me/calendar/events/{eventId} Get a calendar event by Id. #
PATCH /api/v1/me/calendar/events/{eventId} Updates a calendar event. #
DELETE /api/v1/me/calendar/events/{eventId} Deletes a calendar event. #
GET /api/v1/me/drive Get user's drive. #
GET /api/v1/me/drive/items Get user's drive items. #
GET /api/v1/me/drive/recent Get recent files. #
POST /api/v1/me/mail Send Mail #
GET /api/v1/me/mail/{folder}/messages Get mail messages. #
GET /api/v1/me/mail/{folder}/messages/{messageId} Get Message #
GET /api/v1/me/mail/{folder}/messages/{messageId}/attachments Get Message Attachments #
GET /api/v1/me/mail/{folder}/messages/{messageId}/attachments/{attachmentId} Get Message Attachment #
GET /api/v1/me/mail/{folder}/messages/{messageId}/attachments/{attachmentId}/contentBytes/$value Download Message Attachment #
GET /api/v1/me/mail/{folder}/messages/$delta Get Messages with Memory #
POST /api/v1/me/mail/Drafts/messages Create a draft mail message without sending it. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eci-solutions-office"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eci-solutions-office-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "Office Integration",
    "description": "This service provides APIs to enable building a single integration\nto access Drive, Email, and Calendar features in different productivity suites.\n\nThis service currently only supports Microsoft 365, but may support other \nservices such as Google Workspace in the future.\n\n## Microsoft 365 Features\n - Access to files in a connected user's OneDrive, SharePoint and Teams.\n - Access to read & send email in a connected user's Outlook account.\n - Access to calendar events in a connected user's Outlook calendar.\n\n## Connection Options\nCredentials to this service can be obtained using the [Integration Engine Self Service Connection flow](https://dev.azure.com/ECISpecialProject/MFG-Integrations/_wiki/wikis/MFG-Integrations.wiki/92/Integration-Connection-Flow).\n\nCurrently the connection process supports Microsoft 365 OAuth2 Authorization Code flow, meaning each end user will\nbe authorizing and connecting their individual user accounts. Each credential issued is associated\nwith a single Microsoft 365 user.\n\nIn the future, this connection will also support OAuth2 Client Credentials for Service Principal authentication.\n\n## Authentication\n\nYou can authenticate with this API using an JWT Bearer token in an HTTP header as shown below:\n\n```Authorization: Bearer <token>```\n\n## Service Information \n\nBuild Version: `1.2.6+79ad6ecb58`",
    "version": "v1"
  },
  "paths": {
    "/api/v1/drives": {
      "get": {
        "tags": [
          "Drive"
        ],
        "summary": "Get drives",
        "description": "Gets a list of drives available from the backing storage provider.\r\n- For Microsoft 365, returns a list of all OneDrive, Sharepoint, and Team Site drives.",
        "operationId": "GetDrives",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetDrivesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDrivesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDrivesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/drives/{id}/items": {
      "get": {
        "tags": [
          "Drive"
        ],
        "summary": "Get drive items",
        "description": "Gets a list of items in the drive, optionally filtered by the search criteria if provided.\r\n- For Microsoft 365, returns a list of items in the selected drive.",
        "operationId": "GetDriveItems",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Drive id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/calendar/events": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get calendar events.",
        "description": "Gets calendar events from the connected user's personal calendar, optionally filtered by the start and end date.\r\n- For Microsoft 365, gets events from the connected user’s Outlook Calendar.",
        "operationId": "GetCalendarEvents",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "The start date of the events to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "The end date of the events to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponseListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponseListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponseListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Create a calendar event.",
        "description": "Creates a new calendar event in the connected user's personal calendar.\r\n- For Microsoft 365, creates a new event in the connected user’s Outlook Calendar.",
        "operationId": "CreateCalendarEvent",
        "requestBody": {
          "description": "The request containing the details of the calendar event to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCalendarEventRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCalendarEventRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCalendarEventRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/calendar/events/{eventId}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get a calendar event by Id.",
        "description": "Gets a calendar event from the connected user's personal calendar by its Id.\r\n- For Microsoft 365, gets an event from the connected user’s Outlook Calendar by Id.",
        "operationId": "GetCalendarEventById",
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Me"
        ],
        "summary": "Updates a calendar event.",
        "description": "Updates an existing calendar event in the connected user's personal calendar.\r\n- For Microsoft 365, updates an event in the connected user’s Outlook Calendar.",
        "operationId": "UpdateCalendarEvent",
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCalendarEventRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCalendarEventRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCalendarEventRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Me"
        ],
        "summary": "Deletes a calendar event.",
        "description": "Deletes a calendar event from the connected user's personal calendar.\r\n- For Microsoft 365, deletes an event from the connected user’s Outlook Calendar.",
        "operationId": "DeleteCalendarEvent",
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/drive": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get user's drive.",
        "description": "Gets the user's personal drive.\r\n- For Microsoft 365, returns the user's personal drive.",
        "operationId": "GetCurrentUserDrive",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DriveResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/drive/items": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get user's drive items.",
        "description": "Gets a list of items in the user's drive, optionally filtered by the search criteria if provided.\r\n- For Microsoft 365, returns a list of items in the user's drive.",
        "operationId": "GetCurrentUserDriveItems",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Search query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/drive/recent": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get recent files.",
        "description": "Gets a list of files that the user has recently accessed, sorted by most recently accessed first.\r\n- For Microsoft 365, returns a list of recently accessed files.",
        "operationId": "GetCurrentUserRecentFiles",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriveItemResponseListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/mail": {
      "post": {
        "tags": [
          "Me"
        ],
        "summary": "Send Mail",
        "description": "Sends an email message using the connected mail account.\r\n- For Microsoft 365, sends an email from the connected user's Outlook mailbox.",
        "operationId": "SendMail",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendMailRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendMailRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendMailRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/mail/{folder}/messages": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get mail messages.",
        "description": "Gets a list of mail messages in the specified folder.\r\n\r\n- For Microsoft 365, returns a list of messages in the specified folder.\r\n\r\nIf no parameters are specified, the default is to return the most recent 25 messages in the folder, oldest to newest.",
        "operationId": "GetMailFolderMessages",
        "parameters": [
          {
            "name": "folder",
            "in": "path",
            "description": "The folder to get messages from",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Folder"
            }
          },
          {
            "name": "top",
            "in": "query",
            "description": "Limit the number of results. The default value is 25 if not specified.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "since",
            "in": "query",
            "description": "Limit the results to messages received since the given date. Default is last 3 days.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "before",
            "in": "query",
            "description": "Limit the results to messages received before the given date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "next_page_token",
            "in": "query",
            "description": "The next page token from a previous request. If this value is provided, all other parameters will be ignored.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_order",
            "in": "query",
            "description": "Indicates the sort order for mail items. Default is oldest first.",
            "schema": {
              "$ref": "#/components/schemas/MailSortOrder"
            }
          },
          {
            "name": "response",
            "in": "query",
            "description": "",
            "schema": {
              "$ref": "#/components/schemas/MailResponseType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MailItemResponseListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MailItemResponseListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MailItemResponseListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/mail/{folder}/messages/{messageId}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get Message",
        "description": "Gets a mail message by ID.\r\n\r\n- For Microsoft 365, returns a list of messages in the specified folder.\r\n\r\nIf no parameters are specified, the default is to return the most recent 25 messages in the folder.",
        "operationId": "GetMailMessageById",
        "parameters": [
          {
            "name": "folder",
            "in": "path",
            "description": "The folder to get messages from",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Folder"
            }
          },
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MailItemResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MailItemResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MailItemResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/mail/{folder}/messages/{messageId}/attachments": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get Message Attachments",
        "description": "Gets a list of attachments for a specific message.\r\n- For Microsoft 365, returns a list of attachments for a message.",
        "operationId": "GetMessageAttachments",
        "parameters": [
          {
            "name": "folder",
            "in": "path",
            "description": "The folder to get messages from",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Folder"
            }
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "The message id to get attachments from",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetMailAttachmentModelListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMailAttachmentModelListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMailAttachmentModelListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/me/mail/{folder}/messages/{messageId}/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get Message Attachment",
        "description": "Gets a message attachment by ID\r\n- For Microsoft 365, gets the message attachment including it's contents.",
        "operationId": "GetMessageAttachment",
        "parameters": [
          {
            "name": "folder",
            "in": "path",
            "description": "The folder to get messages from",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Folder"
            }
          },
          {
            "name": "messageId",
            "in": "

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eci-solutions/refs/heads/main/openapi/eci-solutions-office-openapi.json