Skip to main content
Every outlook.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Calendars

create

calendars.create Create a new calendar Risk: write
await corsair.outlook.api.calendars.create({});
Input
NameTypeRequiredDescription
namestringYes
user_idstringNo
colorstringNo
hexColorstringNo
Output
NameTypeRequiredDescription
idstringNo
namestringNo
colorstringNo
hexColorstringNo
isDefaultCalendarbooleanNo
canEditbooleanNo
canSharebooleanNo
canViewPrivateItemsbooleanNo
isRemovablebooleanNo
isTallyingResponsesbooleanNo
ownerobjectNo
changeKeystringNo
allowedOnlineMeetingProvidersstring[]No
defaultOnlineMeetingProviderstringNo
{
  name?: string,
  address?: string
}

delete

calendars.delete Delete a calendar [DESTRUCTIVE] Risk: destructive
await corsair.outlook.api.calendars.delete({});
Input
NameTypeRequiredDescription
calendar_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
successbooleanNo

get

calendars.get Get a calendar by ID Risk: read
await corsair.outlook.api.calendars.get({});
Input
NameTypeRequiredDescription
calendar_idstringYes
Output
NameTypeRequiredDescription
idstringNo
namestringNo
colorstringNo
hexColorstringNo
isDefaultCalendarbooleanNo
canEditbooleanNo
canSharebooleanNo
canViewPrivateItemsbooleanNo
isRemovablebooleanNo
isTallyingResponsesbooleanNo
ownerobjectNo
changeKeystringNo
allowedOnlineMeetingProvidersstring[]No
defaultOnlineMeetingProviderstringNo
{
  name?: string,
  address?: string
}

list

calendars.list List all calendars Risk: read
await corsair.outlook.api.calendars.list({});
Input
NameTypeRequiredDescription
user_idstringNo
filterstringNo
selectstring[]No
orderbystring[]No
topnumberNo
skipnumberNo
Output
NameTypeRequiredDescription
valueobject[]No
@odata.contextstringNo
@odata.nextLinkstringNo
@odata.deltaLinkstringNo
{
  id?: string,
  name?: string,
  color?: string,
  hexColor?: string,
  isDefaultCalendar?: boolean,
  canEdit?: boolean,
  canShare?: boolean,
  canViewPrivateItems?: boolean,
  isRemovable?: boolean,
  isTallyingResponses?: boolean,
  owner?: {
    name?: string,
    address?: string
  },
  changeKey?: string,
  allowedOnlineMeetingProviders?: string[],
  defaultOnlineMeetingProvider?: string
}[]

Contacts

create

contacts.create Create a new contact Risk: write
await corsair.outlook.api.contacts.create({});
Input
NameTypeRequiredDescription
user_idstringNo
givenNamestringNo
surnamestringNo
displayNamestringNo
emailAddressesobject[]No
mobilePhonestringNo
homePhonestringNo
businessPhonesstring[]No
jobTitlestringNo
companyNamestringNo
departmentstringNo
officeLocationstringNo
birthdaystringNo
notesstringNo
categoriesstring[]No
{
  address: string,
  name?: string
}[]
Output
NameTypeRequiredDescription
idstringNo
displayNamestringNo
givenNamestringNo
surnamestringNo
middleNamestringNo
nickNamestringNo
emailAddressesobject[]No
mobilePhonestringNo
homePhonesstring[]No
businessPhonesstring[]No
jobTitlestringNo
companyNamestringNo
departmentstringNo
officeLocationstringNo
birthdaystringNo
personalNotesstringNo
parentFolderIdstringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
changeKeystringNo
categoriesstring[]No
{
  name?: string,
  address?: string
}[]

delete

contacts.delete Delete a contact [DESTRUCTIVE] Risk: destructive
await corsair.outlook.api.contacts.delete({});
Input
NameTypeRequiredDescription
contact_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
successbooleanNo

list

contacts.list List contacts Risk: read
await corsair.outlook.api.contacts.list({});
Input
NameTypeRequiredDescription
user_idstringNo
contact_folder_idstringNo
filterstringNo
selectstring[]No
orderbystring[]No
topnumberNo
skipnumberNo
Output
NameTypeRequiredDescription
valueobject[]No
@odata.contextstringNo
@odata.nextLinkstringNo
{
  id?: string,
  displayName?: string,
  givenName?: string,
  surname?: string,
  middleName?: string | null,
  nickName?: string | null,
  emailAddresses?: {
    name?: string,
    address?: string
  }[],
  mobilePhone?: string | null,
  homePhones?: string[],
  businessPhones?: string[],
  jobTitle?: string | null,
  companyName?: string | null,
  department?: string | null,
  officeLocation?: string | null,
  birthday?: string | null,
  personalNotes?: string,
  parentFolderId?: string,
  createdDateTime?: string,
  lastModifiedDateTime?: string,
  changeKey?: string,
  categories?: string[]
}[]

update

contacts.update Update a contact Risk: write
await corsair.outlook.api.contacts.update({});
Input
NameTypeRequiredDescription
contact_idstringYes
user_idstringNo
givenNamestringNo
surnamestringNo
displayNamestringNo
emailAddressesobject[]No
mobilePhonestringNo
homePhonesstring[]No
businessPhonesstring[]No
jobTitlestringNo
companyNamestringNo
departmentstringNo
officeLocationstringNo
birthdaystringNo
notesstringNo
categoriesstring[]No
{
  address: string,
  name?: string
}[]
Output
NameTypeRequiredDescription
idstringNo
displayNamestringNo
givenNamestringNo
surnamestringNo
middleNamestringNo
nickNamestringNo
emailAddressesobject[]No
mobilePhonestringNo
homePhonesstring[]No
businessPhonesstring[]No
jobTitlestringNo
companyNamestringNo
departmentstringNo
officeLocationstringNo
birthdaystringNo
personalNotesstringNo
parentFolderIdstringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
changeKeystringNo
categoriesstring[]No
{
  name?: string,
  address?: string
}[]

Events

cancel

events.cancel Cancel a calendar event and notify attendees Risk: write
await corsair.outlook.api.events.cancel({});
Input
NameTypeRequiredDescription
event_idstringYes
user_idstringYes
calendar_idstringYes
CommentstringNo
Output
NameTypeRequiredDescription
successbooleanYes
messagestringNo
user_idstringNo
event_idstringNo
calendar_idstringNo

create

events.create Create a calendar event Risk: write
await corsair.outlook.api.events.create({});
Input
NameTypeRequiredDescription
subjectstringYes
start_datetimestringYes
end_datetimestringYes
time_zonestringYes
user_idstringNo
calendar_idstringNo
bodystringNo
is_htmlbooleanNo
locationstringNo
attendees_infoobject[]No
is_online_meetingbooleanNo
online_meeting_providerstringNo
show_asstringNo
categoriesstring[]No
importancestringNo
{
  email: string,
  name?: string,
  type?: string
}[]
Output
NameTypeRequiredDescription
idstringNo
subjectstringNo
bodyobjectNo
bodyPreviewstringNo
startobjectNo
endobjectNo
locationobjectNo
locationsobject[]No
attendeesobject[]No
organizerobjectNo
isAllDaybooleanNo
isCancelledbooleanNo
isOrganizerbooleanNo
isDraftbooleanNo
isOnlineMeetingbooleanNo
isReminderOnbooleanNo
showAsstringNo
importancestringNo
sensitivitystringNo
typestringNo
iCalUIdstringNo
webLinkstringNo
changeKeystringNo
categoriesstring[]No
recurrenceobjectNo
responseStatusobjectNo
responseRequestedbooleanNo
seriesMasterIdstringNo
transactionIdstringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
onlineMeetingobjectNo
onlineMeetingProviderstringNo
onlineMeetingUrlstringNo
reminderMinutesBeforeStartnumberNo
allowNewTimeProposalsbooleanNo
hasAttachmentsbooleanNo
hideAttendeesbooleanNo
{
  contentType?: string,
  content?: string
}
{
  dateTime: string,
  timeZone: string
}
{
  dateTime: string,
  timeZone: string
}
{
  displayName?: string,
  address?: {
  }
}
{
  displayName?: string,
  address?: {
  }
}[]
{
  type?: string,
  status?: {
  },
  emailAddress?: {
    name?: string,
    address?: string
  }
}[]
{
  name?: string,
  address?: string
}
{
}
{
}
{
  joinUrl?: string,
  conferenceId?: string,
  tollNumber?: string
}

decline

events.decline Decline a calendar event invitation Risk: write
await corsair.outlook.api.events.decline({});
Input
NameTypeRequiredDescription
event_idstringYes
commentstringNo
user_idstringNo
sendResponsebooleanNo
proposedNewTimeobjectNo
{
}
Output
NameTypeRequiredDescription
successbooleanYes
messagestringNo

delete

events.delete Delete a calendar event [DESTRUCTIVE] Risk: destructive
await corsair.outlook.api.events.delete({});
Input
NameTypeRequiredDescription
event_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
successbooleanNo

findMeetingTimes

events.findMeetingTimes Find available meeting times for attendees Risk: read
await corsair.outlook.api.events.findMeetingTimes({});
Input
NameTypeRequiredDescription
user_idstringNo
attendeesobject[]No
timeConstraintobjectNo
locationConstraintobjectNo
meetingDurationstringNo
maxCandidatesnumberNo
isOrganizerOptionalbooleanNo
returnSuggestionReasonsbooleanNo
minimumAttendeePercentagenumberNo
prefer_timezonestringNo
{
}[]
{
}
{
}
Output
NameTypeRequiredDescription
@odata.contextstringNo
meetingTimeSuggestionsobject[]No
emptySuggestionsReasonstringNo
{
  confidence?: number,
  organizerAvailability?: string,
  suggestionReason?: string,
  meetingTimeSlot?: {
    start?: {
      dateTime: string,
      timeZone: string
    },
    end?: {
      dateTime: string,
      timeZone: string
    }
  },
  attendeeAvailability?: {
    attendee?: {
      type?: string,
      status?: {
      },
      emailAddress?: {
        name?: string,
        address?: string
      }
    },
    availability?: string
  }[],
  locations?: {
    displayName?: string,
    address?: {
    }
  }[]
}[]

get

events.get Get a calendar event by ID Risk: read
await corsair.outlook.api.events.get({});
Input
NameTypeRequiredDescription
event_idstringYes
user_idstringNo
calendar_idstringNo
Output
NameTypeRequiredDescription
idstringNo
subjectstringNo
bodyobjectNo
bodyPreviewstringNo
startobjectNo
endobjectNo
locationobjectNo
locationsobject[]No
attendeesobject[]No
organizerobjectNo
isAllDaybooleanNo
isCancelledbooleanNo
isOrganizerbooleanNo
isDraftbooleanNo
isOnlineMeetingbooleanNo
isReminderOnbooleanNo
showAsstringNo
importancestringNo
sensitivitystringNo
typestringNo
iCalUIdstringNo
webLinkstringNo
changeKeystringNo
categoriesstring[]No
recurrenceobjectNo
responseStatusobjectNo
responseRequestedbooleanNo
seriesMasterIdstringNo
transactionIdstringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
onlineMeetingobjectNo
onlineMeetingProviderstringNo
onlineMeetingUrlstringNo
reminderMinutesBeforeStartnumberNo
allowNewTimeProposalsbooleanNo
hasAttachmentsbooleanNo
hideAttendeesbooleanNo
{
  contentType?: string,
  content?: string
}
{
  dateTime: string,
  timeZone: string
}
{
  dateTime: string,
  timeZone: string
}
{
  displayName?: string,
  address?: {
  }
}
{
  displayName?: string,
  address?: {
  }
}[]
{
  type?: string,
  status?: {
  },
  emailAddress?: {
    name?: string,
    address?: string
  }
}[]
{
  name?: string,
  address?: string
}
{
}
{
}
{
  joinUrl?: string,
  conferenceId?: string,
  tollNumber?: string
}

getSchedule

events.getSchedule Get free/busy schedule for a calendar Risk: read
await corsair.outlook.api.events.getSchedule({});
Input
NameTypeRequiredDescription
calendar_idstringYes
schedulesstring[]Yes
startTimeobjectYes
endTimeobjectYes
availabilityViewIntervalnumberNo
{
  dateTime: string,
  timeZone: string
}
{
  dateTime: string,
  timeZone: string
}
Output
NameTypeRequiredDescription
valueobject[]No
@odata.contextstringNo
{
}[]

list

events.list List calendar events Risk: read
await corsair.outlook.api.events.list({});
Input
NameTypeRequiredDescription
user_idstringNo
calendar_idstringNo
filterstringNo
selectstring[]No
orderbystring[]No
topnumberNo
skipnumberNo
timezonestringNo
expand_recurring_eventsbooleanNo
Output
NameTypeRequiredDescription
valueobject[]No
@odata.contextstringNo
@odata.nextLinkstringNo
{
  id?: string,
  subject?: string,
  body?: {
    contentType?: string,
    content?: string
  },
  bodyPreview?: string,
  start?: {
    dateTime: string,
    timeZone: string
  },
  end?: {
    dateTime: string,
    timeZone: string
  },
  location?: {
    displayName?: string,
    address?: {
    }
  },
  locations?: {
    displayName?: string,
    address?: {
    }
  }[],
  attendees?: {
    type?: string,
    status?: {
    },
    emailAddress?: {
      name?: string,
      address?: string
    }
  }[],
  organizer?: {
    name?: string,
    address?: string
  },
  isAllDay?: boolean,
  isCancelled?: boolean,
  isOrganizer?: boolean,
  isDraft?: boolean,
  isOnlineMeeting?: boolean,
  isReminderOn?: boolean,
  showAs?: string,
  importance?: string,
  sensitivity?: string,
  type?: string,
  iCalUId?: string,
  webLink?: string,
  changeKey?: string,
  categories?: string[],
  recurrence?: {
  } | null,
  responseStatus?: {
  },
  responseRequested?: boolean,
  seriesMasterId?: string | null,
  transactionId?: string | null,
  createdDateTime?: string,
  lastModifiedDateTime?: string,
  onlineMeeting?: {
    joinUrl?: string,
    conferenceId?: string,
    tollNumber?: string
  } | null,
  onlineMeetingProvider?: string,
  onlineMeetingUrl?: string | null,
  reminderMinutesBeforeStart?: number,
  allowNewTimeProposals?: boolean,
  hasAttachments?: boolean,
  hideAttendees?: boolean
}[]

update

events.update Update a calendar event Risk: write
await corsair.outlook.api.events.update({});
Input
NameTypeRequiredDescription
event_idstringYes
user_idstringNo
subjectstringNo
bodyobjectNo
start_datetimestringNo
end_datetimestringNo
time_zonestringNo
locationstringNo
attendeesobject[]No
show_asstringNo
categoriesstring[]No
{
}
{
}[]
Output
NameTypeRequiredDescription
idstringNo
subjectstringNo
bodyobjectNo
bodyPreviewstringNo
startobjectNo
endobjectNo
locationobjectNo
locationsobject[]No
attendeesobject[]No
organizerobjectNo
isAllDaybooleanNo
isCancelledbooleanNo
isOrganizerbooleanNo
isDraftbooleanNo
isOnlineMeetingbooleanNo
isReminderOnbooleanNo
showAsstringNo
importancestringNo
sensitivitystringNo
typestringNo
iCalUIdstringNo
webLinkstringNo
changeKeystringNo
categoriesstring[]No
recurrenceobjectNo
responseStatusobjectNo
responseRequestedbooleanNo
seriesMasterIdstringNo
transactionIdstringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
onlineMeetingobjectNo
onlineMeetingProviderstringNo
onlineMeetingUrlstringNo
reminderMinutesBeforeStartnumberNo
allowNewTimeProposalsbooleanNo
hasAttachmentsbooleanNo
hideAttendeesbooleanNo
{
  contentType?: string,
  content?: string
}
{
  dateTime: string,
  timeZone: string
}
{
  dateTime: string,
  timeZone: string
}
{
  displayName?: string,
  address?: {
  }
}
{
  displayName?: string,
  address?: {
  }
}[]
{
  type?: string,
  status?: {
  },
  emailAddress?: {
    name?: string,
    address?: string
  }
}[]
{
  name?: string,
  address?: string
}
{
}
{
}
{
  joinUrl?: string,
  conferenceId?: string,
  tollNumber?: string
}

Folders

create

folders.create Create a new mail folder Risk: write
await corsair.outlook.api.folders.create({});
Input
NameTypeRequiredDescription
displayNamestringYes
user_idstringNo
isHiddenbooleanNo
return_existing_if_existsbooleanNo
Output
NameTypeRequiredDescription
idstringNo
displayNamestringNo
parentFolderIdstringNo
totalItemCountnumberNo
unreadItemCountnumberNo
childFolderCountnumberNo
isHiddenbooleanNo
sizeInBytesnumberNo

delete

folders.delete Delete a mail folder [DESTRUCTIVE] Risk: destructive
await corsair.outlook.api.folders.delete({});
Input
NameTypeRequiredDescription
folder_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
successbooleanNo

get

folders.get Get a mail folder by ID Risk: read
await corsair.outlook.api.folders.get({});
Input
NameTypeRequiredDescription
mail_folder_idstringYes
user_idstringNo
selectstringNo
Output
NameTypeRequiredDescription
idstringNo
displayNamestringNo
parentFolderIdstringNo
totalItemCountnumberNo
unreadItemCountnumberNo
childFolderCountnumberNo
isHiddenbooleanNo
sizeInBytesnumberNo

list

folders.list List mail folders Risk: read
await corsair.outlook.api.folders.list({});
Input
NameTypeRequiredDescription
user_idstringNo
filterstringNo
selectstringNo
orderbystringNo
topnumberNo
skipnumberNo
countbooleanNo
include_hidden_foldersbooleanNo
Output
NameTypeRequiredDescription
valueobject[]No
@odata.countnumberNo
@odata.contextstringNo
@odata.nextLinkstringNo
{
  id?: string,
  displayName?: string,
  parentFolderId?: string,
  totalItemCount?: number,
  unreadItemCount?: number,
  childFolderCount?: number,
  isHidden?: boolean,
  sizeInBytes?: number
}[]

update

folders.update Rename a mail folder Risk: write
await corsair.outlook.api.folders.update({});
Input
NameTypeRequiredDescription
mail_folder_idstringYes
displayNamestringYes
user_idstringNo
Output
NameTypeRequiredDescription
idstringNo
displayNamestringNo
parentFolderIdstringNo
totalItemCountnumberNo
unreadItemCountnumberNo
childFolderCountnumberNo
isHiddenbooleanNo
sizeInBytesnumberNo

Messages

addAttachment

messages.addAttachment Add an attachment to a message Risk: write
await corsair.outlook.api.messages.addAttachment({});
Input
NameTypeRequiredDescription
message_idstringYes
namestringNo
user_idstringNo
odata_typestringNo
contentBytesstringNo
contentTypestringNo
contentIdstringNo
contentLocationstringNo
isInlinebooleanNo
itemobjectNo
attachmentobjectNo
{
}
{
  name: string,
  mimetype: string,
  s3key: string
}
Output
NameTypeRequiredDescription
idstringNo
namestringNo
contentTypestringNo
sizenumberNo
isInlinebooleanNo
lastModifiedDateTimestringNo
@odata.typestringNo
contentBytesstringNo
contentIdstringNo
contentLocationstringNo

batchMove

messages.batchMove Batch move up to 20 messages to a folder Risk: write
await corsair.outlook.api.messages.batchMove({});
Input
NameTypeRequiredDescription
message_idsstring[]Yes
destination_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
total_requestednumberYes
total_succeedednumberYes
total_failednumberYes
resultsobject[]Yes
{
  original_message_id: string,
  moved_message_id?: string,
  success: boolean,
  status?: number,
  error_message?: string
}[]

batchUpdate

messages.batchUpdate Batch update up to 20 messages Risk: write
await corsair.outlook.api.messages.batchUpdate({});
Input
NameTypeRequiredDescription
updatesobject[]Yes
user_idstringNo
{
  message_id: string,
  patch: {
  }
}[]
Output
NameTypeRequiredDescription
total_requestednumberYes
total_succeedednumberYes
total_failednumberYes
resultsobject[]Yes
{
  message_id: string,
  success: boolean,
  status?: number,
  error_message?: string
}[]

createDraft

messages.createDraft Create an email draft Risk: write
await corsair.outlook.api.messages.createDraft({});
Input
NameTypeRequiredDescription
subjectstringYes
bodystringYes
is_htmlbooleanNo
to_recipientsstring[]No
cc_recipientsstring[]No
bcc_recipientsstring[]No
attachmentobjectNo
{
}
Output
NameTypeRequiredDescription
idstringNo
subjectstringNo
bodyobjectNo
bodyPreviewstringNo
fromobjectNo
senderobjectNo
toRecipientsobject[]No
ccRecipientsobject[]No
bccRecipientsobject[]No
replyToobject[]No
isReadbooleanNo
isDraftbooleanNo
hasAttachmentsbooleanNo
importancestringNo
conversationIdstringNo
parentFolderIdstringNo
sentDateTimestringNo
receivedDateTimestringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
webLinkstringNo
changeKeystringNo
categoriesstring[]No
flagobjectNo
internetMessageIdstringNo
conversationIndexstringNo
inferenceClassificationstringNo
isReadReceiptRequestedbooleanNo
isDeliveryReceiptRequestedbooleanNo
{
  contentType?: string,
  content?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
}

delete

messages.delete Delete an email message [DESTRUCTIVE] Risk: destructive
await corsair.outlook.api.messages.delete({});
Input
NameTypeRequiredDescription
message_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
successbooleanNo

forward

messages.forward Forward an email message Risk: write
await corsair.outlook.api.messages.forward({});
Input
NameTypeRequiredDescription
message_idstringYes
to_recipientsstring[]Yes
commentstringNo
user_idstringNo
Output
NameTypeRequiredDescription
successbooleanNo

get

messages.get Get an email message by ID Risk: read
await corsair.outlook.api.messages.get({});
Input
NameTypeRequiredDescription
message_idstringYes
user_idstringNo
selectstring[]No
Output
NameTypeRequiredDescription
idstringNo
subjectstringNo
bodyobjectNo
bodyPreviewstringNo
fromobjectNo
senderobjectNo
toRecipientsobject[]No
ccRecipientsobject[]No
bccRecipientsobject[]No
replyToobject[]No
isReadbooleanNo
isDraftbooleanNo
hasAttachmentsbooleanNo
importancestringNo
conversationIdstringNo
parentFolderIdstringNo
sentDateTimestringNo
receivedDateTimestringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
webLinkstringNo
changeKeystringNo
categoriesstring[]No
flagobjectNo
internetMessageIdstringNo
conversationIndexstringNo
inferenceClassificationstringNo
isReadReceiptRequestedbooleanNo
isDeliveryReceiptRequestedbooleanNo
{
  contentType?: string,
  content?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
}

list

messages.list List email messages in a folder Risk: read
await corsair.outlook.api.messages.list({});
Input
NameTypeRequiredDescription
user_idstringNo
folderstringNo
topnumberNo
skipnumberNo
selectstring[]No
orderbystring[]No
is_readbooleanNo
subjectstringNo
subject_containsstringNo
subject_startswithstringNo
subject_endswithstringNo
from_addressstringNo
has_attachmentsbooleanNo
importancestringNo
categoriesstring[]No
conversationIdstringNo
sent_date_time_gtstringNo
sent_date_time_ltstringNo
received_date_time_gestringNo
received_date_time_gtstringNo
received_date_time_lestringNo
received_date_time_ltstringNo
Output
NameTypeRequiredDescription
valueobject[]No
@odata.contextstringNo
@odata.nextLinkstringNo
{
  id?: string,
  subject?: string,
  body?: {
    contentType?: string,
    content?: string
  },
  bodyPreview?: string,
  from?: {
    name?: string,
    address?: string
  },
  sender?: {
    name?: string,
    address?: string
  },
  toRecipients?: {
    name?: string,
    address?: string
  }[],
  ccRecipients?: {
    name?: string,
    address?: string
  }[],
  bccRecipients?: {
    name?: string,
    address?: string
  }[],
  replyTo?: {
    name?: string,
    address?: string
  }[],
  isRead?: boolean,
  isDraft?: boolean,
  hasAttachments?: boolean,
  importance?: string,
  conversationId?: string,
  parentFolderId?: string,
  sentDateTime?: string,
  receivedDateTime?: string,
  createdDateTime?: string,
  lastModifiedDateTime?: string,
  webLink?: string,
  changeKey?: string,
  categories?: string[],
  flag?: {
  },
  internetMessageId?: string,
  conversationIndex?: string,
  inferenceClassification?: string,
  isReadReceiptRequested?: boolean | null,
  isDeliveryReceiptRequested?: boolean | null
}[]

move

messages.move Move a message to a different folder Risk: write
await corsair.outlook.api.messages.move({});
Input
NameTypeRequiredDescription
message_idstringYes
destination_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
idstringNo
subjectstringNo
bodyobjectNo
bodyPreviewstringNo
fromobjectNo
senderobjectNo
toRecipientsobject[]No
ccRecipientsobject[]No
bccRecipientsobject[]No
replyToobject[]No
isReadbooleanNo
isDraftbooleanNo
hasAttachmentsbooleanNo
importancestringNo
conversationIdstringNo
parentFolderIdstringNo
sentDateTimestringNo
receivedDateTimestringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
webLinkstringNo
changeKeystringNo
categoriesstring[]No
flagobjectNo
internetMessageIdstringNo
conversationIndexstringNo
inferenceClassificationstringNo
isReadReceiptRequestedbooleanNo
isDeliveryReceiptRequestedbooleanNo
{
  contentType?: string,
  content?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
}

query

messages.query Query email messages with OData filters Risk: read
await corsair.outlook.api.messages.query({});
Input
NameTypeRequiredDescription
user_idstringNo
folderstringNo
filterstringNo
selectstring[]No
orderbystringNo
topnumberNo
skipnumberNo
Output
NameTypeRequiredDescription
valueobject[]No
@odata.countnumberNo
@odata.contextstringNo
@odata.nextLinkstringNo
{
  id?: string,
  subject?: string,
  body?: {
    contentType?: string,
    content?: string
  },
  bodyPreview?: string,
  from?: {
    name?: string,
    address?: string
  },
  sender?: {
    name?: string,
    address?: string
  },
  toRecipients?: {
    name?: string,
    address?: string
  }[],
  ccRecipients?: {
    name?: string,
    address?: string
  }[],
  bccRecipients?: {
    name?: string,
    address?: string
  }[],
  replyTo?: {
    name?: string,
    address?: string
  }[],
  isRead?: boolean,
  isDraft?: boolean,
  hasAttachments?: boolean,
  importance?: string,
  conversationId?: string,
  parentFolderId?: string,
  sentDateTime?: string,
  receivedDateTime?: string,
  createdDateTime?: string,
  lastModifiedDateTime?: string,
  webLink?: string,
  changeKey?: string,
  categories?: string[],
  flag?: {
  },
  internetMessageId?: string,
  conversationIndex?: string,
  inferenceClassification?: string,
  isReadReceiptRequested?: boolean | null,
  isDeliveryReceiptRequested?: boolean | null
}[]

reply

messages.reply Reply to an email message Risk: write
await corsair.outlook.api.messages.reply({});
Input
NameTypeRequiredDescription
message_idstringYes
commentstringYes
user_idstringNo
cc_emailsstring[]No
bcc_emailsstring[]No
Output
NameTypeRequiredDescription
status_codenumberNo
response_bodyobjectNo
{
}

messages.search Search email messages Risk: read
await corsair.outlook.api.messages.search({});
Input
NameTypeRequiredDescription
querystringNo
subjectstringNo
fromEmailstringNo
hasAttachmentsbooleanNo
sizenumberNo
from_indexnumberNo
enable_top_resultsbooleanNo
Output
NameTypeRequiredDescription
valueobject[]No
@odata.contextstringNo
{
  id?: string,
  subject?: string,
  body?: {
    contentType?: string,
    content?: string
  },
  bodyPreview?: string,
  from?: {
    name?: string,
    address?: string
  },
  sender?: {
    name?: string,
    address?: string
  },
  toRecipients?: {
    name?: string,
    address?: string
  }[],
  ccRecipients?: {
    name?: string,
    address?: string
  }[],
  bccRecipients?: {
    name?: string,
    address?: string
  }[],
  replyTo?: {
    name?: string,
    address?: string
  }[],
  isRead?: boolean,
  isDraft?: boolean,
  hasAttachments?: boolean,
  importance?: string,
  conversationId?: string,
  parentFolderId?: string,
  sentDateTime?: string,
  receivedDateTime?: string,
  createdDateTime?: string,
  lastModifiedDateTime?: string,
  webLink?: string,
  changeKey?: string,
  categories?: string[],
  flag?: {
  },
  internetMessageId?: string,
  conversationIndex?: string,
  inferenceClassification?: string,
  isReadReceiptRequested?: boolean | null,
  isDeliveryReceiptRequested?: boolean | null
}[]

send

messages.send Send an email message Risk: write
await corsair.outlook.api.messages.send({});
Input
NameTypeRequiredDescription
tostringYes
subjectstringYes
bodystringYes
user_idstringNo
to_namestringNo
is_htmlbooleanNo
cc_emailsstring[]No
bcc_emailsstring[]No
from_addressstringNo
save_to_sent_itemsbooleanNo
attachmentobjectNo
{
}
Output
NameTypeRequiredDescription
status_codenumberNo
bodyobjectNo
{
}

sendDraft

messages.sendDraft Send a saved draft message Risk: write
await corsair.outlook.api.messages.sendDraft({});
Input
NameTypeRequiredDescription
message_idstringYes
user_idstringNo
Output
NameTypeRequiredDescription
successbooleanNo

update

messages.update Update an email message (e.g. mark as read) Risk: write
await corsair.outlook.api.messages.update({});
Input
NameTypeRequiredDescription
message_idstringYes
user_idstringNo
is_readbooleanNo
subjectstringNo
importancestringNo
categoriesstring[]No
to_recipientsobject[]No
cc_recipientsobject[]No
bcc_recipientsobject[]No
reply_toobject[]No
flagobjectNo
inference_classificationstringNo
is_read_receipt_requestedbooleanNo
is_delivery_receipt_requestedbooleanNo
{
}[]
{
}[]
{
}[]
{
}[]
{
}
Output
NameTypeRequiredDescription
idstringNo
subjectstringNo
bodyobjectNo
bodyPreviewstringNo
fromobjectNo
senderobjectNo
toRecipientsobject[]No
ccRecipientsobject[]No
bccRecipientsobject[]No
replyToobject[]No
isReadbooleanNo
isDraftbooleanNo
hasAttachmentsbooleanNo
importancestringNo
conversationIdstringNo
parentFolderIdstringNo
sentDateTimestringNo
receivedDateTimestringNo
createdDateTimestringNo
lastModifiedDateTimestringNo
webLinkstringNo
changeKeystringNo
categoriesstring[]No
flagobjectNo
internetMessageIdstringNo
conversationIndexstringNo
inferenceClassificationstringNo
isReadReceiptRequestedbooleanNo
isDeliveryReceiptRequestedbooleanNo
{
  contentType?: string,
  content?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
  name?: string,
  address?: string
}[]
{
}