129 lines
4.5 KiB
JSON
129 lines
4.5 KiB
JSON
swagger: "2.0"
|
|
info:
|
|
description: "A simple endpoint to send email messages"
|
|
version: "0.1"
|
|
title: "EXPMail"
|
|
contact:
|
|
email: "support@kumi.systems"
|
|
host: "expmail.kumi.live"
|
|
tags:
|
|
- name: "sending"
|
|
description: "Sending out an email"
|
|
schemes:
|
|
- "https"
|
|
paths:
|
|
/sender.php:
|
|
post:
|
|
tags:
|
|
- "sending"
|
|
summary: "Send out an email"
|
|
operationId: "sendMail"
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- in: "body"
|
|
name: "data"
|
|
description: "JSON defining the email message to be sent"
|
|
required: true
|
|
schema:
|
|
$ref: "#/definitions/Mail"
|
|
responses:
|
|
200:
|
|
description: "The request was received and processed."
|
|
schema:
|
|
type: "object"
|
|
properties:
|
|
status:
|
|
type: "string"
|
|
description: "\"Success\" if message was successfully sent, else \"error\""
|
|
required: true
|
|
error:
|
|
type: "string"
|
|
description: "Error message, only included if an error has occurred"
|
|
required: false
|
|
definitions:
|
|
Placeholder:
|
|
type: "object"
|
|
properties:
|
|
name:
|
|
type: "string"
|
|
required: true
|
|
description: "Name of the placeholder - will be converted to ALL CAPS by the server if it isn't already"
|
|
value:
|
|
type: "string"
|
|
required: false
|
|
description: "Value to insert into placeholder"
|
|
Attachment:
|
|
type: "object"
|
|
properties:
|
|
url:
|
|
type: "string"
|
|
format: "url"
|
|
required: true
|
|
description: "URL from where to fetch the file to attach"
|
|
filename:
|
|
type: "string"
|
|
required: false
|
|
description: "File name to use for email attachment. If not set, defaults to name from Content-Disposition header of URL if it exists, else the base name of the URL."
|
|
Recipient:
|
|
type: "object"
|
|
properties:
|
|
email:
|
|
type: "string"
|
|
format: "email"
|
|
required: true
|
|
description: "Email address of the recipient"
|
|
name:
|
|
type: "string"
|
|
required: false
|
|
description: "Name of the recipient"
|
|
Mail:
|
|
type: "object"
|
|
properties:
|
|
subject:
|
|
type: "string"
|
|
description: "Subject of the email"
|
|
html:
|
|
type: "string"
|
|
description: "String containing the HTML content of the email. Takes precedence over `htmlurl` if provided. If both `html` and `text` or `texturl` are provided, will create a multi-part MIME message."
|
|
htmlurl:
|
|
type: "string"
|
|
description: "String containing the URL to a file containing the HTML content of the email. Ignored (but still validated) if `html` if provided. If both `htmlurl` and `text` or `texturl` are provided, will create a multi-part MIME message."
|
|
text:
|
|
type: "string"
|
|
description: "String containing the plain text content of the email. Takes precedence over `texturl` if provided. If both `text` and `html` or `htmlurl` are provided, will create a multi-part MIME message."
|
|
texturl:
|
|
type: "string"
|
|
description: "String containing the URL to a file containing the plain text content of the email. Ignored (but still validated) if `text` is provided. If both `texturl` and `html` or `htmlurl` are provided, will create a multi-part MIME message."
|
|
recipients:
|
|
required: true
|
|
type: "array"
|
|
description: "Array of `Recipient` objects to be used as \"To:\" addresses for the email"
|
|
items:
|
|
$ref: "#/definitions/Recipient"
|
|
ccs:
|
|
type: "array"
|
|
description: "Array of `Recipient` objects to be used as \"CC:\" addresses for the email"
|
|
items:
|
|
$ref: "#/definitions/Recipient"
|
|
bccs:
|
|
type: "array"
|
|
description: "Array of `Recipient` objects to be used as \"BCC:\" addresses for the email"
|
|
items:
|
|
$ref: "#/definitions/Recipient"
|
|
attachments:
|
|
type: "array"
|
|
description: "Array of `Attachment` objects to be attached to the email"
|
|
items:
|
|
$ref: "#/definitions/Attachment"
|
|
placeholders:
|
|
type: "array"
|
|
description: "Array of `Placeholder` objects. Any occurrences of `{PLACEHOLDER_NAME}` (`name` in all caps enclosed with curly brackets) in the email's HTML or plain text will be replaced by `value`."
|
|
items:
|
|
$ref: "#/definitions/Placeholder"
|
|
key:
|
|
type: "string"
|
|
description: "API key to authenticate request with"
|
|
|