OpenAPI Specification
openapi: 3.0.3
info:
title: Missive REST Analytics Messages 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: Messages
description: Create messages in custom channels
paths:
/messages:
post:
operationId: createMessage
summary: Create Message
description: Create an incoming message in a custom channel. Used to ingest messages from external communication sources into Missive.
tags:
- Messages
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMessageRequest'
responses:
'201':
description: Message created in conversation
content:
application/json:
schema:
$ref: '#/components/schemas/MessageResponse'
'400':
$ref: '#/components/responses/BadRequest'
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
MessageResponse:
type: object
properties:
messages:
$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
CreateMessageRequest:
type: object
required:
- account
- from_field
- to_fields
- body
properties:
account:
type: string
description: Custom channel account ID
from_field:
$ref: '#/components/schemas/MessageField'
to_fields:
type: array
items:
$ref: '#/components/schemas/MessageField'
body:
type: string
subject:
type: string
external_id:
type: string
description: External message identifier for deduplication
attachments:
type: array
items:
type: object
properties:
filename:
type: string
base64_data:
type: string
responses:
BadRequest:
description: Bad request — invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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