{
  "openapi": "3.1.0",
  "info": {
    "title": "Nawa Power public inquiries",
    "version": "1.0.0",
    "description": "Submit only when authorized to represent the person or organization named. Identify the principal, your role and any limits on your mandate in the message.\n\nUse a monitored reply email. Share a concise, non-confidential summary; arrange secure document exchange with the team later.\n\nA 202 response with ok: true and a reference means the email service accepted the message and the CRM handoff was queued. It does not confirm delivery, a commercial agreement, capacity allocation or financing approval.\n\nThis endpoint does not provide idempotency or a public inquiry-status lookup. Save the reference. Do not automatically retry after a timeout or 503: a message may already have been sent. Contact the team to confirm first.\n\nRequests are limited to 16 KiB and five per IP per minute. On 429, respect Retry-After. Correct 400/413/415 errors before trying again.\n\nIf a verification check is requested, complete it through the browser form or ask your principal to do so. Agent mode does not bypass verification."
  },
  "servers": [
    {
      "url": "https://nawapower.com"
    }
  ],
  "paths": {
    "/api/contact": {
      "post": {
        "operationId": "submitInquiry",
        "summary": "Introduce an authorized opportunity to Nawa",
        "parameters": [
          {
            "in": "header",
            "name": "Origin",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "https://nawapower.com",
                "https://www.nawapower.com"
              ]
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "const": "application/json"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "inquiryType",
                      "name",
                      "email",
                      "geography",
                      "message",
                      "capacity",
                      "timing"
                    ],
                    "properties": {
                      "inquiryType": {
                        "type": "string",
                        "const": "compute"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 120,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Name"
                      },
                      "email": {
                        "type": "string",
                        "maxLength": 254,
                        "format": "email",
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Work email"
                      },
                      "company": {
                        "type": "string",
                        "maxLength": 160,
                        "description": "Company"
                      },
                      "geography": {
                        "type": "string",
                        "maxLength": 160,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Preferred location or region. Where you are, or where the work is."
                      },
                      "message": {
                        "type": "string",
                        "maxLength": 5000,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Message"
                      },
                      "capacity": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "GPU or capacity requirement. GPU model and count, or an approximate capacity requirement."
                      },
                      "timing": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Target start and duration. When you need capacity and how long you expect to use it."
                      },
                      "website": {
                        "type": "string",
                        "const": "",
                        "description": "Leave empty; anti-spam field."
                      },
                      "cf-turnstile-response": {
                        "type": "string",
                        "description": "A valid browser verification token, if verification is enabled."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "inquiryType",
                      "name",
                      "email",
                      "geography",
                      "message",
                      "capacity",
                      "timing",
                      "role"
                    ],
                    "properties": {
                      "inquiryType": {
                        "type": "string",
                        "const": "neocloud"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 120,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Name"
                      },
                      "email": {
                        "type": "string",
                        "maxLength": 254,
                        "format": "email",
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Work email"
                      },
                      "company": {
                        "type": "string",
                        "maxLength": 160,
                        "description": "Company"
                      },
                      "geography": {
                        "type": "string",
                        "maxLength": 160,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Target deployment region. Where you are, or where the work is."
                      },
                      "message": {
                        "type": "string",
                        "maxLength": 5000,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Message"
                      },
                      "capacity": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Rack count or IT capacity. Include GPU architecture and power per rack, if known."
                      },
                      "timing": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Deployment timing and duration"
                      },
                      "role": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Hardware and partnership scope. Tell us whether you bring the hardware, need it sourced, or want to explore both."
                      },
                      "website": {
                        "type": "string",
                        "const": "",
                        "description": "Leave empty; anti-spam field."
                      },
                      "cf-turnstile-response": {
                        "type": "string",
                        "description": "A valid browser verification token, if verification is enabled."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "inquiryType",
                      "name",
                      "email",
                      "geography",
                      "message",
                      "role",
                      "capacity",
                      "timing"
                    ],
                    "properties": {
                      "inquiryType": {
                        "type": "string",
                        "const": "land"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 120,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Name"
                      },
                      "email": {
                        "type": "string",
                        "maxLength": 254,
                        "format": "email",
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Work email"
                      },
                      "company": {
                        "type": "string",
                        "maxLength": 160,
                        "description": "Company"
                      },
                      "geography": {
                        "type": "string",
                        "maxLength": 160,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Site location. Where you are, or where the work is."
                      },
                      "message": {
                        "type": "string",
                        "maxLength": 5000,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Message"
                      },
                      "role": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Site control and your role. Owner, leaseholder or authorized representative; describe the rights you hold."
                      },
                      "capacity": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Power or fuel supply available. Firm MW and source, or natural gas / biogas supply. State what is confirmed and what is proposed."
                      },
                      "timing": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Site and power availability date. When the site can be accessed and the load can be energized."
                      },
                      "connectivity": {
                        "type": "string",
                        "maxLength": 500,
                        "description": "Fiber and connectivity. Carriers, routes and service at the site, if known."
                      },
                      "website": {
                        "type": "string",
                        "const": "",
                        "description": "Leave empty; anti-spam field."
                      },
                      "cf-turnstile-response": {
                        "type": "string",
                        "description": "A valid browser verification token, if verification is enabled."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "inquiryType",
                      "name",
                      "email",
                      "geography",
                      "message",
                      "role",
                      "capacity",
                      "timing"
                    ],
                    "properties": {
                      "inquiryType": {
                        "type": "string",
                        "const": "financing"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 120,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Name"
                      },
                      "email": {
                        "type": "string",
                        "maxLength": 254,
                        "format": "email",
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Work email"
                      },
                      "company": {
                        "type": "string",
                        "maxLength": 160,
                        "description": "Company"
                      },
                      "geography": {
                        "type": "string",
                        "maxLength": 160,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Eligible jurisdictions. Where you are, or where the work is."
                      },
                      "message": {
                        "type": "string",
                        "maxLength": 5000,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Message"
                      },
                      "role": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Your role and financing mandate"
                      },
                      "capacity": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Capital or equipment available. Ticket size, facility amount or GPU models and quantities."
                      },
                      "timing": {
                        "type": "string",
                        "maxLength": 500,
                        "minLength": 1,
                        "pattern": "\\S",
                        "description": "Funding timing and proposed term"
                      },
                      "website": {
                        "type": "string",
                        "const": "",
                        "description": "Leave empty; anti-spam field."
                      },
                      "cf-turnstile-response": {
                        "type": "string",
                        "description": "A valid browser verification token, if verification is enabled."
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted by email service and queued for CRM; not a commercial commitment.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "ok",
                    "reference",
                    "next"
                  ],
                  "properties": {
                    "ok": {
                      "const": true
                    },
                    "reference": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "next": {
                      "type": "string",
                      "const": "/contact/received"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid fields or browser verification required.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "const": false
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Missing or foreign Origin header.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "const": false
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Use POST.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "const": false
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "413": {
            "description": "Body exceeds 16 KiB.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "const": false
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported content type.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "const": false
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited; respect Retry-After.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "const": false
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Receipt uncertain; contact the team before resubmitting.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "const": false
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
