---
title: "Create an Outlook draft as the calling member"
method: POST
path: "/v1/capabilities/microsoft-365/mail-drafts"
tags: ["Capability Sources"]
---

# Create an Outlook draft as the calling member

`POST /v1/capabilities/microsoft-365/mail-drafts`

Creates a draft in the calling member's mailbox. It never sends the message. Microsoft requires delegated Mail.ReadWrite for draft creation.

## Request body

- Microsoft365MailDraftBody
  - `to` string[], required
  - `cc` string[]
  - `bcc` string[]
  - `subject` string, required
  - `body` string, required

## Response `200`

Outlook draft created.

- Microsoft365MailDraftResponse
  - `ok` true, required
  - `draft` Microsoft365MailMessage, required
    - `id` string, required
    - `conversationId` string, required
    - `subject` string, required
    - `receivedDateTime` string, required
    - `preview` string, required
    - `from` Microsoft365EmailAddress, required
      - `name` string, required
      - `address` string, required
    - `to` Microsoft365EmailAddress[], required
      - `name` string, required
      - `address` string, required
    - `webLink` string, required
    - `hasAttachments` boolean, required
    - `cc` Microsoft365EmailAddress[], required
      - `name` string, required
      - `address` string, required
    - `body` string, required
    - `bodyContentType` string, required
    - `bodyTruncated` boolean, required

## Other responses

- `401` — The caller must be signed in.
- `409` — The calling member has not connected their Microsoft account or is missing permission.
- `502` — Microsoft Graph rejected the request.

---

[API](https://skmtc.net/openworklabs/apis/den-api.md) · [All operations](https://skmtc.net/openworklabs/apis/den-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openworklabs/den-api/versions/805150503452/schema)
