> ## 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}

Retrieve detailed information about a specific form

# 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}": {
      "get": {
        "tags": [
          "Forms",
          "Classic"
        ],
        "description": "Retrieve detailed information about a specific form",
        "operationId": "getFormDetails",
        "parameters": [
          {
            "name": "formId",
            "in": "path",
            "description": "The ID of the form",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "withFields",
            "in": "query",
            "description": "Include form fields in response",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/GetFormDetailsApiDto/properties/withFields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Form details retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FormDetailedApiDto"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Form not found"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DatetimeCalculationApiDto": {
        "title": "Datetime Calculation",
        "description": "Datetime calculation used for field",
        "properties": {
          "fieldOneCalculation": {
            "description": "First field used for calculation (or current_date)",
            "type": "string",
            "nullable": true
          },
          "fieldTwoCalculation": {
            "description": "Second field used for calculation (or current_date)",
            "type": "string",
            "nullable": true
          },
          "calculationUnits": {
            "description": "Units used for calculation (days, months, years)",
            "type": "string",
            "enum": [
              "days",
              "months",
              "years"
            ],
            "nullable": true
          },
          "calculationOperator": {
            "description": "Operator used for calculation (+, -)",
            "type": "string",
            "enum": [
              "+",
              "-"
            ],
            "nullable": true
          },
          "calculationType": {
            "description": "Type of calculation",
            "type": "string",
            "enum": [
              "date"
            ],
            "nullable": true
          },
          "calculationAllowNegatives": {
            "description": "Decide if calculation allow negative value",
            "type": "boolean",
            "nullable": true
          }
        },
        "type": "object"
      },
      "NumericCalculationApiDto": {
        "title": "Numeric Calculation",
        "description": "Numeric calculation used for field",
        "properties": {
          "label": {
            "description": "Label for calculation item",
            "type": "string",
            "nullable": false
          },
          "type": {
            "description": "Type of calculation item",
            "type": "string",
            "nullable": false
          },
          "value": {
            "description": "Value used for calculation item (number or ID of used field)",
            "type": "string",
            "nullable": false
          }
        },
        "type": "object"
      },
      "AddressAttributesApiDto": {
        "title": "Address Attributes",
        "description": "Address attributes",
        "properties": {
          "addressFormat": {
            "description": "Format of address",
            "type": "string",
            "default": "US",
            "enum": [
              "US",
              "CA",
              "UK",
              "AU",
              "XX"
            ],
            "nullable": false
          },
          "showAddressLine1": {
            "description": "Use address line 1 subfield",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "showAddressLine2": {
            "description": "Use address line 2 subfield",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "showCity": {
            "description": "Use city subfield",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "showState": {
            "description": "Use state subfield",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "showPostalCode": {
            "description": "Use postal code subfield",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "showCountry": {
            "description": "Use country subfield",
            "type": "boolean",
            "default": false,
            "nullable": false
          }
        },
        "type": "object"
      },
      "CheckboxAttributesApiDto": {
        "title": "Checkbox Attributes",
        "description": "Checkbox attributes",
        "properties": {
          "optionsLayout": {
            "description": "Used options layout - vertical or horizontal",
            "type": "string",
            "default": "vertical",
            "nullable": false
          },
          "useOtherOption": {
            "description": "Add 'Other' option on live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "randomizeOptions": {
            "description": "Randomize options on live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "optionPartToStore": {
            "description": "Save label, value or both in submissions",
            "type": "string",
            "default": "value",
            "enum": [
              "both",
              "label",
              "value"
            ],
            "nullable": false
          },
          "useLabelsAndValues": {
            "description": "Use separate labels and values",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "useImages": {
            "description": "Use images as options",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "imageDimensions": {
            "description": "Used dimensions of images",
            "type": "string",
            "default": "customDimensions",
            "enum": [
              "customDimensions",
              "customWidth",
              "customHeight",
              "originalDimensions"
            ],
            "nullable": false
          },
          "imageWidth": {
            "description": "Width of image option",
            "type": "integer",
            "default": 100,
            "nullable": false
          },
          "imageHeight": {
            "description": "Height of image option",
            "type": "integer",
            "default": 100,
            "nullable": false
          },
          "lockImageRatio": {
            "description": "Keep image ratio",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "lockImageOption": {
            "description": "How to keep ratio of image",
            "type": "string",
            "default": "fitProportionally",
            "enum": [
              "fillSpace",
              "fitProportionally"
            ],
            "nullable": false
          },
          "imageLabelAlignment": {
            "description": "Where label is in relation to image",
            "type": "string",
            "default": "bottom",
            "enum": [
              "top",
              "right",
              "bottom",
              "left"
            ],
            "nullable": false
          },
          "useCheckAllOption": {
            "description": "Add 'Check all' option on live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          }
        },
        "type": "object"
      },
      "CreditCardAttributesApiDto": {
        "title": "Credit Card Attributes",
        "description": "Credit card attributes",
        "properties": {
          "acceptVisa": {
            "description": "Decides if field accepts Visa",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "acceptMastercard": {
            "description": "Decides if field accepts Mastercard",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "acceptAmericanExpress": {
            "description": "Decides if field accepts American Express",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "acceptDiscover": {
            "description": "Decides if field accepts Discover",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "acceptDinersClub": {
            "description": "Decides if field accepts Diners Club",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "acceptJcb": {
            "description": "Decides if field accepts JCB",
            "type": "boolean",
            "default": false,
            "nullable": false
          }
        },
        "type": "object"
      },
      "DatetimeAttributesApiDto": {
        "title": "Datetime Attributes",
        "description": "Datetime attributes",
        "properties": {
          "dateFormat": {
            "description": "Format for displaying the date",
            "type": "string",
            "default": "M d, Y",
            "enum": [
              "",
              "m/d/y",
              "m/d/YY",
              "M d, Y",
              "F d, Y",
              "d/m/y",
              "d/m/YY",
              "d M Y",
              "d F Y",
              "YY-m-d",
              "M Y"
            ],
            "nullable": false
          },
          "timeFormat": {
            "description": "Format for displaying the time",
            "type": "string",
            "default": "h:i A",
            "enum": [
              "",
              "H,i",
              "H,i,s",
              "h,i A",
              "h,i,s A"
            ],
            "nullable": false
          },
          "allowedYearsPlus": {
            "description": "Number of future years to show",
            "type": "integer",
            "default": 5,
            "nullable": true
          },
          "allowedYearsMinus": {
            "description": "Number of previous years to show",
            "type": "integer",
            "default": 5,
            "nullable": true
          },
          "disableDatesAfter": {
            "description": "Disable dates after this date",
            "type": "string",
            "default": "",
            "nullable": true
          }
        },
        "type": "object"
      },
      "EmailAttributesApiDto": {
        "title": "Email Attributes",
        "description": "Email attributes",
        "properties": {
          "maxLength": {
            "description": "Maximum length of email",
            "type": "integer",
            "default": 0,
            "nullable": true
          },
          "placeholder": {
            "description": "Placeholder text on the live form",
            "type": "string",
            "default": "",
            "nullable": true
          },
          "requireConfirmation": {
            "description": "Is input confirmation required on the live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "confirmationText": {
            "description": "Label of confirmation input",
            "type": "string",
            "default": "",
            "nullable": true
          }
        },
        "type": "object"
      },
      "EmbedAttributesApiDto": {
        "title": "Embed Code Attributes",
        "description": "Embed code attributes",
        "properties": {
          "text": {
            "description": "Text provided to embed field",
            "type": "string",
            "nullable": true
          }
        },
        "type": "object"
      },
      "FileAttributesApiDto": {
        "title": "File Attributes",
        "description": "File attributes",
        "properties": {
          "allowedTypes": {
            "description": "Allowed file types for this field",
            "type": "string",
            "default": "jpg,jpeg,gif,png,bmp,tif,psd,pdf,doc,docx,xls,xlsx,txt,mp3,mp4,aac,wav,au,wmv,avi,mpg,mpeg,zip,gz,rar,z,tgz,tar,sitx",
            "enum": [
              "jpg",
              "jpeg",
              "gif",
              "png",
              "bmp",
              "tif",
              "psd",
              "pdf",
              "doc",
              "docx",
              "xls",
              "xlsx",
              "txt",
              "mp3",
              "mp4",
              "aac",
              "wav",
              "au",
              "wmv",
              "avi",
              "mpg",
              "mpeg",
              "zip",
              "gz",
              "rar",
              "z",
              "tgz",
              "tar",
              "sitx"
            ],
            "nullable": false
          },
          "minFileSize": {
            "description": "Minimum size of a uploaded file",
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "nullable": false
          },
          "maxFileSize": {
            "description": "Maximum size of a uploaded file",
            "type": "integer",
            "default": 10,
            "minimum": 1,
            "nullable": false
          },
          "allowMultipleFiles": {
            "description": "Decides if multiple files are allowed in upload",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "fileLimit": {
            "description": "Limit of uploaded files",
            "type": "integer",
            "default": 10,
            "maximum": 20,
            "minimum": 1,
            "nullable": false
          }
        },
        "type": "object"
      },
      "MatrixColumnApiDto": {
        "title": "Matrix Column",
        "description": "Matrix column",
        "properties": {
          "label": {
            "description": "Column label in matrix field",
            "type": "string",
            "nullable": false
          }
        },
        "type": "object"
      },
      "MatrixRowApiDto": {
        "title": "Matrix Row",
        "description": "Matrix row",
        "properties": {
          "label": {
            "description": "Row label in matrix field",
            "type": "string",
            "nullable": false
          }
        },
        "type": "object"
      },
      "MatrixAttributesApiDto": {
        "title": "Matrix Attributes",
        "description": "Matrix attributes",
        "properties": {
          "rows": {
            "description": "Row choices in matrix field",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MatrixRowApiDto"
            },
            "nullable": false
          },
          "columns": {
            "description": "Column choices in matrix field",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MatrixColumnApiDto"
            },
            "nullable": false
          },
          "oneChoicePerRow": {
            "description": "Decides if user is allowed to choose only one option in row",
            "type": "boolean",
            "default": true,
            "nullable": false
          },
          "oneChoicePerColumn": {
            "description": "Decides if user is allowed to choose only one option in column",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "randomizeRows": {
            "description": "Decides if rows are randomized on live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          }
        },
        "type": "object"
      },
      "NameAttributesApiDto": {
        "title": "Name Attributes",
        "description": "Name attributes",
        "properties": {
          "showInitial": {
            "description": "Use initial subfield",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "showMiddle": {
            "description": "Use middle name subfield",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "showPrefix": {
            "description": "Use prefix subfield",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "showSuffix": {
            "description": "Use suffix subfield",
            "type": "boolean",
            "default": false,
            "nullable": false
          }
        },
        "type": "object"
      },
      "NumberAttributesApiDto": {
        "title": "Number Attributes",
        "description": "Number attributes",
        "properties": {
          "minValue": {
            "description": "Minimum value of field",
            "type": "integer",
            "nullable": true
          },
          "maxValue": {
            "description": "Maximum value of field",
            "type": "integer",
            "nullable": true
          },
          "placeholder": {
            "description": "Placeholder text on live form",
            "type": "string",
            "nullable": true
          },
          "decimalPlaces": {
            "description": "Decimal places used in formatting",
            "type": "integer",
            "default": 0,
            "nullable": false
          },
          "useSlider": {
            "description": "Use slider to pick value",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "currency": {
            "description": "Currency used in formatting",
            "type": "integer",
            "default": "",
            "enum": [
              "",
              "local",
              "AFN",
              "DZD",
              "ARS",
              "AMD",
              "AWG",
              "AUD",
              "AZN",
              "BSD",
              "BHD",
              "THB",
              "PAB",
              "BBD",
              "BYR",
              "BYN",
              "BZD",
              "BMD",
              "VEF",
              "BOB",
              "BRL",
              "BND",
              "BGN",
              "CAD",
              "KYD",
              "CLP",
              "COP",
              "BAM",
              "NIO",
              "CRC",
              "HRK",
              "CUP",
              "CZK",
              "DKK",
              "MKD",
              "DOP",
              "VND",
              "XCD",
              "EGP",
              "SVC",
              "EEK",
              "EUR",
              "FKP",
              "FJD",
              "HUF",
              "GHC",
              "GIP",
              "PYG",
              "GGP",
              "GYD",
              "HKD",
              "UAH",
              "ISK",
              "INR",
              "IRR",
              "IQD",
              "JMD",
              "JEP",
              "JOD",
              "KES",
              "LAK",
              "KWD",
              "LVL",
              "LBP",
              "ALL",
              "HNL",
              "LRD",
              "LYD",
              "LTL",
              "MYR",
              "IMP",
              "MUR",
              "MXN",
              "MAD",
              "MZN",
              "NGN",
              "NAD",
              "NPR",
              "ANG",
              "ILS",
              "RON",
              "TWD",
              "NZD",
              "KPW",
              "NOK",
              "PEN",
              "PKR",
              "UYU",
              "PHP",
              "GBP",
              "BWP",
              "QAR",
              "GTQ",
              "ZAR",
              "OMR",
              "KHR",
              "IDR",
              "RUB",
              "RUR",
              "SHP",
              "SAR",
              "RSD",
              "SCR",
              "SGD",
              "SBD",
              "KGS",
              "SOS",
              "LKR",
              "SRD",
              "SEK",
              "SYP",
              "TZS",
              "KZT",
              "TTD",
              "MNT",
              "TND",
              "TRL",
              "TRY",
              "AED",
              "USD",
              "UGX",
              "UZS",
              "KRW",
              "YER",
              "JPY",
              "CNY",
              "ZWD",
              "PLN"
            ],
            "nullable": false
          }
        },
        "type": "object"
      },
      "PhoneAttributesApiDto": {
        "title": "Phone Attributes",
        "description": "Phone attributes response",
        "properties": {
          "phoneFormat": {
            "description": "Phone format",
            "type": "string",
            "default": "national",
            "enum": [
              "user",
              "international",
              "national"
            ],
            "nullable": true
          },
          "countryFormat": {
            "description": "Country phone format",
            "type": "string",
            "default": "US",
            "enum": [
              "AD",
              "AE",
              "AF",
              "AG",
              "AI",
              "AL",
              "AM",
              "AO",
              "AR",
              "AS",
              "AT",
              "AU",
              "AW",
              "AX",
              "AZ",
              "BA",
              "BB",
              "BD",
              "BE",
              "BF",
              "BG",
              "BH",
              "BI",
              "BJ",
              "BL",
              "BM",
              "BN",
              "BO",
              "BQ",
              "BR",
              "BS",
              "BT",
              "BW",
              "BY",
              "BZ",
              "CA",
              "CC",
              "CD",
              "CF",
              "CG",
              "CH",
              "CI",
              "CK",
              "CL",
              "CM",
              "CN",
              "CO",
              "CR",
              "CU",
              "CV",
              "CW",
              "CX",
              "CY",
              "CZ",
              "DE",
              "DJ",
              "DK",
              "DM",
              "DO",
              "DZ",
              "EC",
              "EE",
              "EG",
              "EH",
              "ER",
              "ES",
              "ET",
              "FI",
              "FJ",
              "FK",
              "FM",
              "FO",
              "FR",
              "GA",
              "UK",
              "GD",
              "GE",
              "GF",
              "GG",
              "GH",
              "GI",
              "GL",
              "GM",
              "GN",
              "GP",
              "GQ",
              "GR",
              "GT",
              "GU",
              "GW",
              "GY",
              "HK",
              "HN",
              "HR",
              "HT",
              "HU",
              "ID",
              "IE",
              "IL",
              "IM",
              "IN",
              "IO",
              "IQ",
              "IR",
              "IS",
              "IT",
              "JE",
              "JM",
              "JO",
              "JP",
              "KE",
              "KG",
              "KH",
              "KI",
              "KM",
              "KN",
              "KP",
              "KR",
              "KW",
              "KY",
              "KZ",
              "LA",
              "LB",
              "LC",
              "LI",
              "LK",
              "LR",
              "LS",
              "LT",
              "LU",
              "LV",
              "LY",
              "MA",
              "MC",
              "MD",
              "ME",
              "MF",
              "MG",
              "MH",
              "MK",
              "ML",
              "MM",
              "MN",
              "MO",
              "MP",
              "MQ",
              "MR",
              "MS",
              "MT",
              "MU",
              "MV",
              "MW",
              "MX",
              "MY",
              "MZ",
              "NA",
              "NC",
              "NE",
              "NF",
              "NG",
              "NI",
              "NL",
              "NO",
              "NP",
              "NR",
              "NU",
              "NZ",
              "OM",
              "PA",
              "PE",
              "PF",
              "PG",
              "PH",
              "PK",
              "PL",
              "PM",
              "PR",
              "PS",
              "PT",
              "PW",
              "PY",
              "QA",
              "RE",
              "RO",
              "RS",
              "RU",
              "RW",
              "SA",
              "SB",
              "SC",
              "SD",
              "SE",
              "SG",
              "SH",
              "SI",
              "SJ",
              "SK",
              "SL",
              "SM",
              "SN",
              "SO",
              "SR",
              "SS",
              "ST",
              "SV",
              "SX",
              "SY",
              "SZ",
              "TC",
              "TD",
              "TG",
              "TH",
              "TJ",
              "TK",
              "TL",
              "TM",
              "TN",
              "TO",
              "TR",
              "TT",
              "TV",
              "TW",
              "TZ",
              "UA",
              "UG",
              "US",
              "UY",
              "UZ",
              "VA",
              "VC",
              "VE",
              "VG",
              "VI",
              "VN",
              "VU",
              "WF",
              "WS",
              "YE",
              "YT",
              "ZA",
              "ZM",
              "ZW",
              "XX"
            ],
            "nullable": true
          },
          "placeholder": {
            "description": "Placeholder phone on live form",
            "type": "string",
            "default": "",
            "nullable": true
          }
        },
        "type": "object"
      },
      "ProductAttributesApiDto": {
        "title": "Product Attributes",
        "description": "Event/Product attributes",
        "properties": {
          "eventDescription": {
            "description": "Description of an event/product",
            "type": "string",
            "default": "Event description goes here...",
            "nullable": true
          },
          "chargeType": {
            "description": "Type of charge for an event",
            "type": "string",
            "default": "fixed_amount",
            "enum": [
              "fixed_amount",
              "no_charge"
            ],
            "nullable": true
          },
          "currency": {
            "description": "Currency used in price",
            "type": "string",
            "default": "local",
            "enum": [
              "",
              "local",
              "AFN",
              "DZD",
              "ARS",
              "AMD",
              "AWG",
              "AUD",
              "AZN",
              "BSD",
              "BHD",
              "THB",
              "PAB",
              "BBD",
              "BYR",
              "BYN",
              "BZD",
              "BMD",
              "VEF",
              "BOB",
              "BRL",
              "BND",
              "BGN",
              "CAD",
              "KYD",
              "CLP",
              "COP",
              "BAM",
              "NIO",
              "CRC",
              "HRK",
              "CUP",
              "CZK",
              "DKK",
              "MKD",
              "DOP",
              "VND",
              "XCD",
              "EGP",
              "SVC",
              "EEK",
              "EUR",
              "FKP",
              "FJD",
              "HUF",
              "GHC",
              "GIP",
              "PYG",
              "GGP",
              "GYD",
              "HKD",
              "UAH",
              "ISK",
              "INR",
              "IRR",
              "IQD",
              "JMD",
              "JEP",
              "JOD",
              "KES",
              "LAK",
              "KWD",
              "LVL",
              "LBP",
              "ALL",
              "HNL",
              "LRD",
              "LYD",
              "LTL",
              "MYR",
              "IMP",
              "MUR",
              "MXN",
              "MAD",
              "MZN",
              "NGN",
              "NAD",
              "NPR",
              "ANG",
              "ILS",
              "RON",
              "TWD",
              "NZD",
              "KPW",
              "NOK",
              "PEN",
              "PKR",
              "UYU",
              "PHP",
              "GBP",
              "BWP",
              "QAR",
              "GTQ",
              "ZAR",
              "OMR",
              "KHR",
              "IDR",
              "RUB",
              "RUR",
              "SHP",
              "SAR",
              "RSD",
              "SCR",
              "SGD",
              "SBD",
              "KGS",
              "SOS",
              "LKR",
              "SRD",
              "SEK",
              "SYP",
              "TZS",
              "KZT",
              "TTD",
              "MNT",
              "TND",
              "TRL",
              "TRY",
              "AED",
              "USD",
              "UGX",
              "UZS",
              "KRW",
              "YER",
              "JPY",
              "CNY",
              "ZWD",
              "PLN"
            ],
            "nullable": true
          },
          "image": {
            "description": "Image used to describe event/product",
            "type": "string",
            "nullable": true
          },
          "inventoryMode": {
            "description": "Inventory mode - track or unlimited",
            "type": "string",
            "default": "unlimited",
            "enum": [
              "track",
              "unlimited"
            ],
            "nullable": true
          },
          "inventory": {
            "description": "Amount of available items",
            "type": "integer",
            "nullable": true
          },
          "unitPrice": {
            "description": "Price of a single unit",
            "type": "number",
            "format": "float",
            "default": 3.99,
            "minimum": 0,
            "nullable": true
          },
          "minQuantity": {
            "description": "Minimum quantity to purchase",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "nullable": true
          },
          "maxQuantity": {
            "description": "Maximum quantity to purchase",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "nullable": true
          },
          "soldoutAction": {
            "description": "The action to take when the event/product is sold out",
            "type": "integer",
            "default": "message",
            "enum": [
              "hide_field",
              "message",
              "waitlist"
            ],
            "nullable": true
          },
          "isSoldout": {
            "description": "Decides if the event/product is sold out",
            "type": "integer",
            "nullable": true
          },
          "displayInSubmission": {
            "description": "Decides what should be displayed in the submission",
            "type": "integer",
            "default": "default",
            "enum": [
              "default",
              "quantity",
              "total"
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "RadioAttributesApiDto": {
        "title": "Radio Attributes",
        "description": "Radio attributes",
        "properties": {
          "optionsLayout": {
            "description": "Used options layout - vertical or horizontal",
            "type": "string",
            "default": "vertical",
            "nullable": false
          },
          "useOtherOption": {
            "description": "Add 'Other' option on live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "randomizeOptions": {
            "description": "Randomize options on live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "optionPartToStore": {
            "description": "Save label, value or both in submissions",
            "type": "string",
            "default": "value",
            "enum": [
              "both",
              "label",
              "value"
            ],
            "nullable": false
          },
          "useLabelsAndValues": {
            "description": "Use separate labels and values",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "useImages": {
            "description": "Use images as options",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "imageDimensions": {
            "description": "Used dimensions of images",
            "type": "string",
            "default": "customDimensions",
            "enum": [
              "customDimensions",
              "customWidth",
              "customHeight",
              "originalDimensions"
            ],
            "nullable": false
          },
          "imageWidth": {
            "description": "Width of image option",
            "type": "integer",
            "default": 100,
            "nullable": false
          },
          "imageHeight": {
            "description": "Height of image option",
            "type": "integer",
            "default": 100,
            "nullable": false
          },
          "lockImageRatio": {
            "description": "Keep image ratio",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "lockImageOption": {
            "description": "How to keep ratio of image",
            "type": "string",
            "default": "fitProportionally",
            "enum": [
              "fillSpace",
              "fitProportionally"
            ],
            "nullable": false
          },
          "imageLabelAlignment": {
            "description": "Where label is in relation to image",
            "type": "string",
            "default": "bottom",
            "enum": [
              "top",
              "right",
              "bottom",
              "left"
            ],
            "nullable": false
          }
        },
        "type": "object"
      },
      "RatingAttributesApiDto": {
        "title": "Rating Attributes",
        "description": "Rating attributes",
        "properties": {
          "addNAButton": {
            "description": "Decides if N/A option is added on live form",
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "allowHalfRatings": {
            "description": "Decides if half rating is allowed",
            "type": "boolean",
            "nullable": true
          },
          "count": {
            "description": "Count of ratings",
            "type": "integer",
            "default": 5,
            "nullable": true
          },
          "icon": {
            "description": "Icon used on live form",
            "type": "string",
            "default": "star",
            "enum": [
              "star",
              "heart"
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "RichtextAttributesApiDto": {
        "title": "Richtext Attributes",
        "description": "Description area attributes",
        "properties": {
          "text": {
            "description": "Text provided to description area",
            "type": "string",
            "default": "",
            "nullable": true
          },
          "textEditor": {
            "description": "Text editor used to provide text to description area",
            "type": "string",
            "default": "wysiwyg",
            "nullable": false
          }
        },
        "type": "object"
      },
      "SectionAttributesApiDto": {
        "title": "Section Attributes",
        "description": "Section attributes",
        "properties": {
          "startNewPage": {
            "description": "Decides if this section should start new page on live form",
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "heading": {
            "description": "Heading of the section",
            "type": "string",
            "default": "",
            "nullable": true
          },
          "text": {
            "description": "Text provided to section",
            "type": "string",
            "default": "",
            "nullable": true
          },
          "textEditor": {
            "description": "Text editor used to provide text to section",
            "type": "string",
            "nullable": false
          },
          "fieldLabelsPosition": {
            "description": "Decides where field label is placed on live form in this section",
            "type": "string",
            "default": "default",
            "enum": [
              "default",
              "top",
              "left"
            ],
            "nullable": false
          },
          "numberOfColumns": {
            "description": "Number of visible columns in the form",
            "type": "integer",
            "default": 0,
            "nullable": false
          }
        },
        "type": "object"
      },
      "SelectAttributesApiDto": {
        "title": "Select Attributes",
        "description": "Select attributes",
        "properties": {
          "rowsDisplayed": {
            "description": "Rows of options displayed on live form",
            "type": "integer",
            "default": 1,
            "nullable": false
          },
          "useFirstOptionAsPlaceholder": {
            "description": "Show first option as placeholder",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "randomizeOptions": {
            "description": "Randomize options on live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "optionPartToStore": {
            "description": "Save label, value or both in submissions",
            "type": "string",
            "default": "value",
            "enum": [
              "both",
              "label",
              "value"
            ],
            "nullable": false
          },
          "useLabelsAndValues": {
            "description": "Use separate labels and values",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "useSearchableOptions": {
            "description": "Search options on live form",
            "type": "string",
            "default": false,
            "nullable": false
          }
        },
        "type": "object"
      },
      "SignatureAttributesApiDto": {
        "title": "Signature Attributes",
        "description": "Signature attributes"
      },
      "TableColumnApiDto": {
        "title": "Table Column",
        "description": "Table column",
        "properties": {
          "id": {
            "description": "Column ID in table field",
            "type": "integer",
            "nullable": false
          },
          "label": {
            "description": "Column label in table field",
            "type": "string",
            "nullable": false
          },
          "type": {
            "description": "Column type in table field",
            "type": "string",
            "default": "text",
            "enum": [
              "text",
              "textarea",
              "email",
              "phone",
              "number",
              "select"
            ],
            "nullable": false
          }
        },
        "type": "object"
      },
      "TableRowApiDto": {
        "title": "Table Row",
        "description": "Table row",
        "properties": {
          "label": {
            "description": "Row label in table field",
            "type": "string",
            "nullable": false
          },
          "key": {
            "description": "Row key in table field",
            "type": "string",
            "nullable": false
          }
        },
        "type": "object"
      },
      "TableAttributesApiDto": {
        "title": "Table Attributes",
        "description": "Table attributes",
        "properties": {
          "columns": {
            "description": "Columns of table",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TableColumnApiDto"
            },
            "nullable": false
          },
          "rows": {
            "description": "Rows of table",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TableRowApiDto"
            },
            "nullable": false
          }
        },
        "type": "object"
      },
      "TablecellAttributesApiDto": {
        "title": "Tablecell Attributes",
        "description": "Table cell attributes",
        "properties": {
          "parentTableId": {
            "description": "ID of the table",
            "type": "integer",
            "nullable": false
          },
          "parentTableheaderId": {
            "description": "ID of the tableheader",
            "type": "integer",
            "nullable": false
          },
          "parentRowKey": {
            "description": "Key of the row",
            "type": "integer",
            "nullable": false
          }
        },
        "type": "object"
      },
      "TableheaderAttributesApiDto": {
        "title": "Tableheader Attributes",
        "description": "Table header attributes",
        "properties": {
          "parentTableId": {
            "description": "ID of the table",
            "type": "integer",
            "nullable": false
          },
          "columnWidthType": {
            "description": "Type of column width - auto or percent",
            "type": "string",
            "default": "auto",
            "enum": [
              "auto",
              "percent"
            ],
            "nullable": false
          },
          "columnWidth": {
            "description": "Column width in percent",
            "type": "integer",
            "default": 25,
            "maximum": 100,
            "minimum": 0,
            "nullable": false
          },
          "columnFieldType": {
            "description": "Field type of column",
            "type": "string",
            "default": "text",
            "nullable": false
          },
          "columnFieldTypeAttributes": {
            "description": "Column field types attributes component",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TextAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/TextareaAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/EmailAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/PhoneAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/NumberAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/SelectAttributesApiDto"
              }
            ]
          }
        },
        "type": "object"
      },
      "TextAttributesApiDto": {
        "title": "Text Attributes",
        "description": "Text attributes",
        "properties": {
          "minLength": {
            "description": "Minimum length of text",
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "nullable": true
          },
          "maxLength": {
            "description": "Maximum length of text",
            "type": "integer",
            "default": 0,
            "minimum": 1,
            "nullable": true
          },
          "placeholder": {
            "description": "Placeholder text on the live form",
            "type": "string",
            "nullable": true
          },
          "restrictDataAccess": {
            "description": "Is data restricted for other users",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "hideInputCharacters": {
            "description": "Is provided text hidden on the live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "removeDataFromEmailsAndExports": {
            "description": "Is data removed from emails and exports",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "requireConfirmation": {
            "description": "Is input confirmation required on the live form",
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "confirmationText": {
            "description": "Label of confirmation input",
            "type": "string",
            "default": "",
            "nullable": true
          }
        },
        "type": "object"
      },
      "TextareaAttributesApiDto": {
        "title": "Textarea Attributes",
        "description": "Textarea attributes",
        "properties": {
          "minLength": {
            "description": "Minimum length of text",
            "type": "integer",
            "default": 0,
            "nullable": true
          },
          "maxLength": {
            "description": "Maximum length of text",
            "type": "integer",
            "default": 0,
            "nullable": true
          },
          "rows": {
            "description": "Rows number of text",
            "type": "integer",
            "default": 10,
            "nullable": false
          },
          "placeholder": {
            "description": "Placeholder text on live form",
            "type": "string",
            "default": "",
            "nullable": true
          }
        },
        "type": "object"
      },
      "LogicApiDto": {
        "title": "Logic",
        "description": "Logic for the field",
        "properties": {
          "action": {
            "description": "Action of logic",
            "type": "string",
            "nullable": false
          },
          "operator": {
            "description": "Operator of logic",
            "type": "string",
            "nullable": false
          },
          "fields": {
            "description": "Fields used for logic",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LogicFieldApiDto"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "LogicFieldApiDto": {
        "title": "LogicField",
        "description": "Field used in logic",
        "properties": {
          "comparisonOperator": {
            "description": "Type of comparison operator used for logic",
            "type": "string",
            "nullable": false
          },
          "fieldId": {
            "description": "Id of field used for logic",
            "type": "string",
            "nullable": false
          },
          "value": {
            "description": "Value of field used for logic",
            "type": "string",
            "nullable": false
          }
        },
        "type": "object"
      },
      "OptionApiDto": {
        "title": "Option",
        "description": "Options attached to field",
        "properties": {
          "label": {
            "description": "Label of option",
            "type": "string",
            "nullable": false
          },
          "value": {
            "description": "Value of option",
            "type": "string",
            "nullable": false
          },
          "imageUrl": {
            "description": "URL of image for option",
            "type": "string",
            "nullable": false
          }
        },
        "type": "object"
      },
      "FieldPreviewApiDto": {
        "title": "Field Preview",
        "description": "Field preview response",
        "properties": {
          "id": {
            "description": "The ID of the field",
            "type": "integer",
            "nullable": false
          },
          "label": {
            "description": "Label of the field",
            "type": "string",
            "nullable": false
          },
          "labelKey": {
            "description": "Field label as key",
            "type": "string",
            "nullable": false
          },
          "internalLabel": {
            "description": "Internal label of the field",
            "type": "string",
            "nullable": true
          },
          "supportingText": {
            "description": "Description of the field",
            "type": "string",
            "nullable": true
          },
          "useCallout": {
            "description": "Flag to show the description in a callout box",
            "type": "boolean",
            "nullable": true
          },
          "type": {
            "description": "Type of the field",
            "type": "string",
            "nullable": false
          },
          "required": {
            "description": "Flag to mark field as required",
            "type": "boolean",
            "nullable": true
          },
          "readOnly": {
            "description": "Flag to not allow the field to be changed",
            "type": "boolean",
            "nullable": false
          },
          "hidden": {
            "description": "Flag to hide the field",
            "type": "boolean",
            "nullable": false
          },
          "unique": {
            "description": "Flag to mark field as requiring a unique value",
            "type": "boolean",
            "nullable": false
          },
          "hideLabel": {
            "description": "Flag to show or hide the label",
            "type": "boolean",
            "nullable": false
          },
          "displayOrder": {
            "description": "Determines the order in which the field appears on the live form",
            "type": "integer",
            "nullable": false
          },
          "columnSpan": {
            "description": "Determines how many columns this field takes on the live form",
            "type": "integer",
            "nullable": false
          },
          "language": {
            "description": "Language of the field",
            "type": "string",
            "nullable": false
          },
          "defaultValue": {
            "description": "Default value of the field on the live form",
            "type": "string",
            "nullable": false
          },
          "smartListId": {
            "description": "ID of smart list to attach",
            "type": "integer",
            "nullable": true
          },
          "logic": {
            "$ref": "#/components/schemas/LogicApiDto"
          },
          "numericCalculations": {
            "description": "Numeric calculations used for field",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NumericCalculationApiDto"
            },
            "nullable": true
          },
          "datetimeCalculations": {
            "$ref": "#/components/schemas/DatetimeCalculationApiDto"
          },
          "options": {
            "description": "Options attached to field",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptionApiDto"
            },
            "nullable": true
          },
          "attributes": {
            "description": "Field attributes component",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TextAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/TextareaAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/NameAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/AddressAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/EmailAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/PhoneAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/NumberAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/SelectAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/RadioAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/CheckboxAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/CreditCardAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/DatetimeAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/FileAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/TableAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/TableheaderAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/TablecellAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/MatrixAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/RichtextAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/EmbedAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/ProductAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/SignatureAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/RatingAttributesApiDto"
              },
              {
                "$ref": "#/components/schemas/SectionAttributesApiDto"
              }
            ]
          }
        },
        "type": "object"
      },
      "FormDetailedApiDto": {
        "title": "Form Details",
        "description": "Form details response",
        "properties": {
          "id": {
            "description": "The ID of the form",
            "type": "integer",
            "nullable": false
          },
          "name": {
            "description": "Name of the form",
            "type": "string",
            "nullable": true
          },
          "viewKey": {
            "description": "View key of the form",
            "type": "string",
            "nullable": false
          },
          "folder": {
            "description": "ID of the folder where the form is located",
            "type": "integer",
            "nullable": true
          },
          "version": {
            "description": "Version of the form",
            "type": "integer",
            "nullable": false
          },
          "url": {
            "description": "URL of the live form",
            "type": "string",
            "nullable": false
          },
          "submissionsCount": {
            "description": "Count of form submissions",
            "type": "integer",
            "nullable": false
          },
          "unreadSubmissionsCount": {
            "description": "Count of unread form submissions",
            "type": "integer",
            "nullable": false
          },
          "todaySubmissionsCount": {
            "description": "Count of today's form submissions",
            "type": "integer",
            "nullable": false
          },
          "isEncrypted": {
            "description": "Is form encrypted",
            "type": "boolean",
            "nullable": false
          },
          "submitButtonTitle": {
            "description": "Title of submit button on live form",
            "type": "string",
            "nullable": false
          },
          "isWorkflowForm": {
            "description": "Is this form a workflow",
            "type": "boolean",
            "nullable": false
          },
          "isWorkflowPublished": {
            "description": "Is this workflow published",
            "type": "boolean",
            "nullable": false
          },
          "hasApprovers": {
            "description": "Whether this form has approvers configured",
            "type": "boolean",
            "nullable": false
          },
          "permissions": {
            "description": "User's permission level for this form",
            "type": "integer",
            "nullable": false
          },
          "canEdit": {
            "description": "Whether the user can edit this form",
            "type": "boolean",
            "nullable": false
          },
          "created": {
            "description": "Date when the form was created",
            "type": "string",
            "nullable": false
          },
          "updated": {
            "description": "Date when the form was last updated",
            "type": "string",
            "nullable": false
          },
          "formExtras": {
            "$ref": "#/components/schemas/FormExtrasApiDto"
          },
          "formSettings": {
            "$ref": "#/components/schemas/FormSettingsApiDto"
          },
          "fields": {
            "description": "Form fields (included when withFields=1)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldPreviewApiDto"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "FormExtrasApiDto": {
        "title": "Form Extras",
        "description": "Form extras response",
        "properties": {
          "numberOfColumns": {
            "description": "Number of visible columns in the form",
            "type": "integer",
            "nullable": false
          },
          "fieldLabelsPosition": {
            "description": "Position where field labels are placed on the live form",
            "type": "string",
            "nullable": false
          },
          "language": {
            "description": "Language of the form",
            "type": "string",
            "nullable": false
          },
          "useCaptcha": {
            "description": "Whether invisible reCAPTCHA is enabled",
            "type": "boolean",
            "nullable": false
          },
          "useFieldPrefill": {
            "description": "Whether field prefill is enabled",
            "type": "boolean",
            "nullable": false
          },
          "useSecurityLogo": {
            "description": "Whether security logo is displayed at the bottom of the live form",
            "type": "boolean",
            "nullable": false
          },
          "usePromptForLocation": {
            "description": "Whether to prompt for location permission on the live form",
            "type": "boolean",
            "nullable": false
          },
          "useSaveAndResume": {
            "description": "Whether save and resume option is enabled on the live form",
            "type": "boolean",
            "nullable": false
          },
          "useOneQuestionAtATime": {
            "description": "Whether the form renders one question at a time",
            "type": "boolean",
            "nullable": false
          },
          "showProgressIndicator": {
            "description": "Whether to show progress indicator",
            "type": "boolean",
            "nullable": false
          },
          "skipValidationBetweenPages": {
            "description": "Whether the form should skip validation between pages",
            "type": "boolean",
            "nullable": false
          }
        },
        "type": "object"
      },
      "FormSettingsApiDto": {
        "title": "Form Settings",
        "description": "Form settings response",
        "properties": {
          "alias": {
            "description": "Alias of the form",
            "type": "string",
            "nullable": false
          },
          "timezone": {
            "description": "Timezone of the form",
            "type": "string",
            "nullable": false
          },
          "isActive": {
            "description": "Flag to make the form active/inactive",
            "type": "boolean",
            "nullable": false
          },
          "saveSubmissionsToDatabase": {
            "description": "Flag to disable or enable submissions to be saved in our database",
            "type": "boolean",
            "nullable": false
          }
        },
        "type": "object"
      },
      "GetFormDetailsApiDto": {
        "title": "Get Form Details",
        "description": "Get Form Details request parameters",
        "properties": {
          "withFields": {
            "description": "Include form fields in response",
            "type": "boolean",
            "default": false,
            "nullable": true
          }
        },
        "type": "object"
      }
    }
  },
  "tags": [
    {
      "name": "Forms",
      "description": "Forms are the core resource of the Formstack API. Use these endpoints to create, retrieve, update, copy, and delete forms, list the forms in an account with filtering and sorting, generate prefilled form URLs, and fetch the embed JavaScript or rendered HTML for a form. Most other resources—fields, submissions, emails, and submit actions—are scoped to a form."
    },
    {
      "name": "Classic",
      "description": "Classic"
    }
  ]
}
```