Missive Drafts API

Create and delete draft messages

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/missive-drafts-api"
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 email required.

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

OpenAPI Specification

missive-drafts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Missive REST Analytics Drafts API
  description: The Missive REST API allows developers to manage conversations, messages, contacts, drafts, labels, and analytics programmatically. Authentication uses Bearer tokens (personal access tokens) generated in Missive preferences. The API requires a Productive plan or higher to generate API tokens. Responses are JSON-formatted with HTTP 200 or 201 success codes.
  version: '1'
  contact:
    name: Missive Support
    url: https://missiveapp.com/help
  termsOfService: https://missiveapp.com/terms
servers:
- url: https://public.missiveapp.com/v1
  description: Missive REST API v1
security:
- bearerAuth: []
tags:
- name: Drafts
  description: Create and delete draft messages
paths:
  /drafts:
    post:
      operationId: createDraft
      summary: Create Draft
      description: Create a draft message. Supports email, SMS, and WhatsApp channels. Set send=true to send immediately. Supports conversation threading, assignees, shared labels, and auto-followup.
      tags:
      - Drafts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDraftRequest'
      responses:
        '201':
          description: Draft created (may have empty body if sent immediately)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
  /drafts/{id}:
    delete:
      operationId: deleteDraft
      summary: Delete Draft
      description: Delete a draft from a conversation.
      tags:
      - Drafts
      parameters:
      - $ref: '#/components/parameters/draftId'
      responses:
        '200':
          description: Draft deleted successfully
        '404':
          description: Draft not found
components:
  schemas:
    MessageField:
      type: object
      properties:
        name:
          type: string
        address:
          type: string
        phone_number:
          type: string
        id:
          type: string
        username:
          type: string
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
    DraftResponse:
      type: object
      properties:
        drafts:
          $ref: '#/components/schemas/Message'
    Message:
      type: object
      properties:
        id:
          type: string
        subject:
          type: string
        preview:
          type: string
        body:
          type: string
        type:
          type: string
        from_field:
          $ref: '#/components/schemas/MessageField'
        to_fields:
          type: array
          items:
            $ref: '#/components/schemas/MessageField'
        cc_fields:
          type: array
          items:
            $ref: '#/components/schemas/MessageField'
        bcc_fields:
          type: array
          items:
            $ref: '#/components/schemas/MessageField'
        references:
          type: array
          items:
            type: string
        in_reply_to:
          type: array
          items:
            type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment'
        created_at:
          type: integer
          format: int64
        updated_at:
          type: integer
          format: int64
    Attachment:
      type: object
      properties:
        id:
          type: string
        filename:
          type: string
        extension:
          type: string
        media_type:
          type: string
        sub_type:
          type: string
        size:
          type: integer
        url:
          type: string
        width:
          type: integer
        height:
          type: integer
    CreateDraftRequest:
      type: object
      properties:
        subject:
          type: string
        body:
          type: string
          description: HTML body content
        from_field:
          $ref: '#/components/schemas/MessageField'
        to_fields:
          type: array
          items:
            $ref: '#/components/schemas/MessageField'
        cc_fields:
          type: array
          items:
            $ref: '#/components/schemas/MessageField'
        bcc_fields:
          type: array
          items:
            $ref: '#/components/schemas/MessageField'
        attachments:
          type: array
          items:
            type: object
            properties:
              filename:
                type: string
              base64_data:
                type: string
        conversation:
          type: string
          description: Conversation ID to add draft to
        references:
          type: array
          items:
            type: string
          description: Email Message-IDs for threading
        team:
          type: string
        force_team:
          type: boolean
        organization:
          type: string
        add_users:
          type: array
          items:
            type: string
        add_assignees:
          type: array
          items:
            type: string
        remove_assignees:
          type: array
          items:
            type: string
        add_shared_labels:
          type: array
          items:
            type: string
        remove_shared_labels:
          type: array
          items:
            type: string
        send:
          type: boolean
          description: Send immediately if true
        send_at:
          type: integer
          format: int64
          description: Unix timestamp to schedule sending
        auto_followup:
          type: boolean
          description: Enable auto follow-up
        external_response_id:
          type: string
          description: WhatsApp template ID
        external_response_variables:
          type: object
          description: WhatsApp template variable substitutions
          additionalProperties:
            type: string
  responses:
    BadRequest:
      description: Bad request — invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    draftId:
      name: id
      in: path
      required: true
      description: Draft message ID
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Personal access token generated in Missive preferences. Format: Bearer missive_pat-[token]. Requires Productive plan or higher.'
externalDocs:
  description: Missive Developer Documentation
  url: https://missiveapp.com/docs/developers/rest-api