> ## Documentation Index
> Fetch the complete documentation index at: https://developers.formstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /forms/{formId}/notifications

Create a form notification email

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Formstack API v2025.0",
    "version": "0.0.4"
  },
  "servers": [
    {
      "url": "https://www.formstack.com/api/v2025",
      "description": "Production server"
    },
    {
      "url": "https://staging-formstack.com/api/v2025",
      "description": "Staging server"
    },
    {
      "url": "https://dev-formstack.com/api/v2025",
      "description": "Development server"
    }
  ],
  "paths": {
    "/forms/{formId}/notifications": {
      "post": {
        "tags": [
          "Notification Emails",
          "Classic"
        ],
        "description": "Create a form notification email",
        "operationId": "createNotificationEmail",
        "parameters": [
          {
            "name": "formId",
            "in": "path",
            "description": "The ID of the form",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "description": "Create notification email request data",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNotificationEmailInputApiDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Notification email created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationDetailedApiDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters"
          },
          "403": {
            "description": "Forbidden by form permissions"
          },
          "404": {
            "description": "Form not found"
          },
          "500": {
            "description": "Could not create the notification email"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "NotificationDetailedApiDto": {
        "title": "Notification Details",
        "description": "Notification email details response",
        "properties": {
          "id": {
            "description": "The ID of the notification email",
            "type": "integer",
            "nullable": false
          },
          "form": {
            "description": "ID of the form this notification is associated with",
            "type": "integer",
            "nullable": false
          },
          "name": {
            "description": "Name of the notification email",
            "type": "string",
            "nullable": true
          },
          "fromType": {
            "description": "The type of from address (noreply, custom, field)",
            "type": "string",
            "nullable": false
          },
          "fromValue": {
            "description": "Custom email address or field ID",
            "type": "string",
            "nullable": false
          },
          "recipients": {
            "description": "Email addresses to send notification to",
            "type": "string",
            "nullable": false
          },
          "subject": {
            "description": "Subject of the notification email",
            "type": "string",
            "nullable": false
          },
          "type": {
            "description": "What is included in the message (data, link, or fields)",
            "type": "string",
            "nullable": false
          },
          "hideEmpty": {
            "description": "Flag to not include empty fields in the email",
            "type": "string",
            "nullable": false
          },
          "hideHidden": {
            "description": "Flag to not include hidden fields in the email",
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "showSection": {
            "description": "Flag to show section headings in email",
            "type": "string",
            "nullable": false
          },
          "message": {
            "description": "The email message (if type = fields)",
            "type": "string",
            "nullable": true
          },
          "attachLimit": {
            "description": "Only attach files if under this limit (in KBytes)",
            "type": "integer",
            "nullable": true
          },
          "format": {
            "description": "Whether the notification email should be Rich HTML or Plain Text",
            "type": "string",
            "nullable": false
          },
          "logic": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LogicDto"
              }
            ],
            "nullable": true,
            "description": "Logic conditions for when to send the notification email"
          }
        },
        "type": "object"
      },
      "CreateNotificationEmailInputApiDto": {
        "title": "Create Notification Email",
        "description": "Create notification email request",
        "properties": {
          "name": {
            "description": "Name of the notification email",
            "type": "string",
            "nullable": true
          },
          "fromType": {
            "description": "The type of from address (noreply, custom, field)",
            "type": "string",
            "enum": [
              "noreply",
              "custom",
              "field"
            ],
            "nullable": false
          },
          "fromValue": {
            "description": "Custom email address or field ID",
            "type": "string",
            "nullable": false
          },
          "recipients": {
            "description": "Email addresses to send notification to (split with return character \\n)",
            "type": "string",
            "nullable": false
          },
          "subject": {
            "description": "The subject of the email",
            "type": "string",
            "nullable": false
          },
          "type": {
            "description": "What is included in the message (data, link, or fields)",
            "type": "string",
            "enum": [
              "data",
              "link",
              "fields"
            ],
            "nullable": false
          },
          "hideEmpty": {
            "description": "Flag to not include empty fields in the email",
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "hideHidden": {
            "description": "Flag to not include hidden fields in the email",
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "showSection": {
            "description": "Flag to show section headings in email",
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "message": {
            "description": "The email message (if type = fields)",
            "type": "string",
            "nullable": true
          },
          "attachLimit": {
            "description": "Only attach files if under this limit (in KBytes)",
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "format": {
            "description": "Whether the notification email should be Rich HTML or Plain Text",
            "type": "string",
            "default": "html",
            "enum": [
              "html",
              "plaintext"
            ],
            "nullable": true
          },
          "logic": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LogicDto"
              }
            ],
            "nullable": true,
            "description": "Logic conditions for when to send the notification email"
          }
        },
        "type": "object"
      },
      "LogicDto": {
        "title": "Logic Conditions",
        "description": "Logic conditions for conditional processing",
        "properties": {
          "action": {
            "description": "Action to perform (show/hide)",
            "type": "string",
            "enum": [
              "show",
              "hide"
            ],
            "nullable": false
          },
          "conditional": {
            "description": "Conditional operator (all/any)",
            "type": "string",
            "enum": [
              "all",
              "any"
            ],
            "nullable": false
          },
          "checks": {
            "description": "Array of condition checks",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LogicFieldCheckDto"
            },
            "nullable": false
          }
        },
        "type": "object"
      },
      "LogicFieldCheckDto": {
        "title": "Logic Check Condition",
        "description": "Single condition check for logic operations",
        "properties": {
          "field": {
            "description": "Field ID to check",
            "type": "string",
            "nullable": false
          },
          "condition": {
            "description": "Condition operator",
            "type": "string",
            "enum": [
              "equals",
              "notequals",
              "greaterthan",
              "lessthan"
            ],
            "nullable": false
          },
          "option": {
            "description": "Value to compare against",
            "type": "string",
            "nullable": false
          }
        },
        "type": "object"
      }
    }
  },
  "tags": [
    {
      "name": "Notification Emails",
      "description": "Notification emails alert your team when a form is submitted. Use these endpoints to list a form's notification emails and to create, retrieve, update, and delete them, including recipients, sender, subject, message content, file-attachment limits, and conditional logic."
    },
    {
      "name": "Classic",
      "description": "Classic"
    }
  ]
}
```