{ "openapi": "3.0.1", "info": { "title": "Microfox AWS SES API", "version": "1.0.0", "mcp_version": "1.0.1", "description": "Single entry-point API for all Microfox AWS SES functions via a wrapper Lambda", "contact": { "name": "Microfox Dev Support", "email": "support@microfox.com" } }, "servers": [ { "url": "https://api.microfox.com/c/aws-ses", "description": "Unified wrapper endpoint" } ], "paths": { "/sendEmail": { "post": { "operationId": "sendEmail", "summary": "Sends a single email using AWS SES service with specified parameters.", "description": "This function sends an email to a specified recipient using AWS SES (Simple Email Service). It allows for customization of sender, recipient, subject, and body content in both plain text and HTML formats. The function returns a promise that resolves to a SendEmailResponse object containing the message ID and request metadata.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "body": { "type": "object", "description": "Body of the sendEmail sls call", "properties": { "arguments": { "type": "array", "items": [ { "type": "object", "description": "EmailParams - Parameters for sending the email", "properties": { "sender": { "type": "string", "description": "Email address of the sender (must be verified in AWS SES)", "format": "email" }, "recipient": { "type": "string", "description": "Email address of the recipient", "format": "email" }, "displayName": { "type": "string", "description": "Optional. Display name for the sender (e.g., \"John Doe\" )" }, "subject": { "type": "string", "description": "Subject line of the email" }, "bodyText": { "type": "string", "description": "Optional. Plain text version of the email body" }, "bodyHtml": { "type": "string", "description": "Optional. HTML version of the email body" } }, "required": [ "sender", "recipient", "subject" ] } ] }, "auth": { "type": "object", "description": "Authentication object", "properties": { "strategy": { "type": "string", "description": "Authentication strategy", "enum": [ "apikey" ] }, "variables": { "type": "array", "description": "Variables for the authentication strategy", "items": [ { "type": "object", "properties": { "key": { "type": "string", "description": "AWS_SES_ACCESS_KEY_ID" }, "value": { "type": "string", "description": "value of AWS_SES_ACCESS_KEY_ID" } } }, { "type": "object", "properties": { "key": { "type": "string", "description": "AWS_SES_SECRET_ACCESS_KEY" }, "value": { "type": "string", "description": "value of AWS_SES_SECRET_ACCESS_KEY" } } }, { "type": "object", "properties": { "key": { "type": "string", "description": "AWS_SES_REGION" }, "value": { "type": "string", "description": "value of AWS_SES_REGION" } } } ] } } }, "packageName": { "type": "string", "description": "@microfox/aws-ses" } }, "required": [ "arguments" ] } } } } } }, "responses": { "200": { "description": "Email sent successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "SendEmailResult": { "type": "object", "properties": { "MessageId": { "type": "string", "description": "The unique identifier for the sent email" } } }, "ResponseMetadata": { "type": "object", "properties": { "RequestId": { "type": "string", "description": "The unique request identifier" } } } } } } } }, "400": { "description": "Bad Request - Invalid parameters", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string", "description": "Error message describing the issue with the request" } } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string", "description": "Error message describing the internal server error" } } } } } } } } }, "/sendBulkEmails": { "post": { "operationId": "sendBulkEmails", "summary": "Sends multiple emails in parallel using AWS SES service.", "description": "This function sends bulk emails to a list of recipients using AWS SES. It allows for parallel sending to improve performance and accepts various email parameters including sender, recipients, subject, and body content in both plain text and HTML formats.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "body": { "type": "object", "description": "Body of the sendBulkEmails sls call", "properties": { "arguments": { "type": "array", "items": [ { "type": "object", "description": "Parameters for sending bulk emails", "properties": { "sender": { "type": "string", "description": "Email address of the sender (must be verified in AWS SES)", "format": "email" }, "recipients": { "type": "array", "items": { "type": "string", "format": "email" }, "description": "List of recipient email addresses" }, "displayName": { "type": "string", "description": "Optional display name for the sender" }, "subject": { "type": "string", "description": "Subject line of the email" }, "bodyText": { "type": "string", "description": "Optional plain text version of the email body" }, "bodyHtml": { "type": "string", "description": "Optional HTML version of the email body" } }, "required": [ "sender", "recipients", "subject" ] } ] }, "auth": { "type": "object", "description": "Authentication object", "properties": { "strategy": { "type": "string", "description": "Authentication strategy", "enum": [ "apikey" ] }, "variables": { "type": "array", "description": "Variables for the authentication strategy", "items": [ { "type": "object", "properties": { "key": { "type": "string", "description": "AWS_SES_ACCESS_KEY_ID" }, "value": { "type": "string", "description": "value of AWS_SES_ACCESS_KEY_ID" } } }, { "type": "object", "properties": { "key": { "type": "string", "description": "AWS_SES_SECRET_ACCESS_KEY" }, "value": { "type": "string", "description": "value of AWS_SES_SECRET_ACCESS_KEY" } } }, { "type": "object", "properties": { "key": { "type": "string", "description": "AWS_SES_REGION" }, "value": { "type": "string", "description": "value of AWS_SES_REGION" } } } ] } } }, "packageName": { "type": "string", "description": "@microfox/aws-ses" } }, "required": [ "arguments" ] } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "SendEmailResult": { "type": "object", "properties": { "MessageId": { "type": "string", "description": "The unique identifier for the sent email" } } }, "ResponseMetadata": { "type": "object", "properties": { "RequestId": { "type": "string", "description": "The unique request identifier" } } } } } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message describing the bad request" } } } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message describing the server error" } } } } } } } } } } }