"description":"A simple endpoint to send email messages",
"version":"0.1",
"title":"EXPMail",
"contact":{
"email":"support@kumi.systems"
}
},
"tags":[
{
"name":"sending",
"description":"Sending out an email"
}
],
"paths":{
"/sender.php":{
"post":{
"tags":[
"sending"
],
"summary":"Send out an email",
"operationId":"sendMail",
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/Mail"
}
}
},
"description":"Object defining the email message to be sent",
"required":true
},
"responses":{
"200":{
"description":"The request was received and processed.",
"content":{
"application/json":{
"schema":{
"type":"object",
"properties":{
"status":{
"type":"string",
"description":"\"Success\" if message was successfully sent, else \"error\""
},
"error":{
"type":"string",
"description":"Error message, only included if an error has occurred"
}
}
}
}
}
}
}
}
}
},
"servers":[
{
"url":"https://expmail.kumi.live"
}
],
"components":{
"schemas":{
"Placeholder":{
"type":"object",
"required":[
"name"
],
"properties":{
"name":{
"type":"string",
"description":"Name of the placeholder - will be converted to ALL CAPS by the server if it isn't already"
},
"value":{
"type":"string",
"description":"Value to insert into placeholder"
}
}
},
"Attachment":{
"type":"object",
"required":[
"url"
],
"properties":{
"url":{
"type":"string",
"format":"url",
"description":"URL from where to fetch the file to attach"
},
"filename":{
"type":"string",
"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",
"required":[
"email"
],
"properties":{
"email":{
"type":"string",
"format":"email",
"description":"Email address of the recipient"
},
"name":{
"type":"string",
"description":"Name of the recipient"
}
}
},
"Mail":{
"type":"object",
"required":[
"recipients",
"key"
],
"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":{
"type":"array",
"description":"Array of `Recipient` objects to be used as \"To:\" addresses for the email",
"items":{
"$ref":"#/components/schemas/Recipient"
}
},
"ccs":{
"type":"array",
"description":"Array of `Recipient` objects to be used as \"CC:\" addresses for the email",
"items":{
"$ref":"#/components/schemas/Recipient"
}
},
"bccs":{
"type":"array",
"description":"Array of `Recipient` objects to be used as \"BCC:\" addresses for the email",
"items":{
"$ref":"#/components/schemas/Recipient"
}
},
"attachments":{
"type":"array",
"description":"Array of `Attachment` objects to be attached to the email",
"items":{
"$ref":"#/components/schemas/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":"#/components/schemas/Placeholder"
}
},
"key":{
"type":"string",
"description":"API key to authenticate request with"