{
  "version": 1,
  "id": "contact",
  "kind": "form.submit",
  "title": "Start a Program",
  "endpoint": {
    "method": "POST",
    "url": "https://emdash.marsroversupply.com/api/freeform/submit",
    "content_type": "application/json"
  },
  "request_schema": {
    "type": "object",
    "required": [
      "formId",
      "email"
    ],
    "properties": {
      "formId": {
        "type": "string",
        "const": "contact",
        "description": "Stable form id from the catalog."
      },
      "first_name": {
        "title": "First Name",
        "type": "string"
      },
      "last_name": {
        "title": "Last Name",
        "type": "string"
      },
      "company": {
        "title": "Company / Organization",
        "type": "string"
      },
      "job_title": {
        "title": "Job Title",
        "type": "string"
      },
      "email": {
        "title": "Work Email",
        "type": "string"
      },
      "phone": {
        "title": "Phone",
        "type": "string"
      },
      "country": {
        "title": "Country / Region",
        "type": "string",
        "enum": [
          "us",
          "ca",
          "uk",
          "de",
          "fr",
          "jp",
          "au",
          "other"
        ]
      },
      "mission_type": {
        "title": "Mission Type",
        "type": "string",
        "enum": [
          "research",
          "commercial",
          "sustainment",
          "defense",
          "partner_test",
          "other"
        ]
      },
      "budget": {
        "title": "Budget Range",
        "type": "string",
        "enum": [
          "lt_1m",
          "1m_10m",
          "10m_100m",
          "gt_100m",
          "classified"
        ]
      },
      "timeline": {
        "title": "Timeline",
        "type": "string",
        "enum": [
          "immediate",
          "0_6m",
          "6_12m",
          "12m_plus",
          "exploratory"
        ]
      },
      "message": {
        "title": "Tell us about your mission",
        "type": "string"
      }
    },
    "additionalProperties": false
  },
  "response_schema": {
    "type": "object",
    "properties": {
      "success": {
        "type": "boolean"
      },
      "message": {
        "type": "string"
      },
      "error": {
        "type": "string"
      }
    }
  },
  "prefill": {
    "page_url": "https://emdash.marsroversupply.com/forms/contact",
    "encoding": "application/x-www-form-urlencoded",
    "params": [
      {
        "name": "first_name",
        "type": "string"
      },
      {
        "name": "last_name",
        "type": "string"
      },
      {
        "name": "company",
        "type": "string"
      },
      {
        "name": "job_title",
        "type": "string"
      },
      {
        "name": "email",
        "type": "string"
      },
      {
        "name": "phone",
        "type": "string"
      },
      {
        "name": "country",
        "type": "string",
        "enum": [
          "us",
          "ca",
          "uk",
          "de",
          "fr",
          "jp",
          "au",
          "other"
        ]
      },
      {
        "name": "mission_type",
        "type": "string",
        "enum": [
          "research",
          "commercial",
          "sustainment",
          "defense",
          "partner_test",
          "other"
        ]
      },
      {
        "name": "budget",
        "type": "string",
        "enum": [
          "lt_1m",
          "1m_10m",
          "10m_100m",
          "gt_100m",
          "classified"
        ]
      },
      {
        "name": "timeline",
        "type": "string",
        "enum": [
          "immediate",
          "0_6m",
          "6_12m",
          "12m_plus",
          "exploratory"
        ]
      },
      {
        "name": "message",
        "type": "string"
      }
    ],
    "notes": [
      "Append params as a standard URL query string. Arrays may repeat the key (?h=a&h=b) or use a single comma-separated value (?h=a,b).",
      "Booleans set the field when the value is one of: 1, true, yes, on (case-insensitive). Any other value leaves the field unchecked.",
      "Option fields drop values that do not match the listed `enum`. Unknown params are ignored.",
      "This is a HUMAN-IN-THE-LOOP flow: the AI composes the URL, the user clicks it, reviews the prefilled form, then presses Submit. Do not POST to page_url."
    ]
  }
}