{
  "schemaVersion": "2025-06-01",
  "serverInfo": {
    "name": "Pro-Estate Egypt Public API",
    "version": "1.0.0",
    "description": "Public endpoints and anonymous pre-sales concierge agent for Pro-Estate Egypt — an all-in-one real-estate CRM and marketing SaaS for Egyptian agencies.",
    "homepage": "https://pro-estate.net",
    "contact": "https://pro-estate.net/request-demo"
  },
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false
  },
  "tools": [
    {
      "name": "chat_with_agent",
      "description": "Ask the Pro-Estate pre-sales concierge agent about plans, features, ROI, or book a demo. The agent can compare plans, estimate ROI, explain features, capture leads, and book demos. First message requires a Cloudflare Turnstile token; subsequent messages in the same session use an HttpOnly HMAC session cookie. Rate-limited per IP.",
      "endpoint": "POST https://api.pro-estate.net/api/saas/agent/chat",
      "inputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "maxLength": 4000,
            "description": "The user message to send to the concierge agent."
          },
          "threadId": {
            "type": "string",
            "description": "Optional thread ID to continue an existing conversation."
          },
          "turnstileToken": {
            "type": "string",
            "description": "Cloudflare Turnstile verification token. Required on the first message of a new session."
          }
        },
        "required": ["message"]
      },
      "outputSchema": {
        "type": "object",
        "description": "Server-Sent Events (text/event-stream). Each event is a JSON-encoded SaasAgentStreamEvent with type: token | step | tool_start | tool_end | surface | client_action | metrics | done | error."
      }
    },
    {
      "name": "list_public_projects",
      "description": "Returns all active public real-estate project listings on Pro-Estate Egypt — names, descriptions, locations, and media references.",
      "endpoint": "GET https://api.pro-estate.net/api/public/projects"
    },
    {
      "name": "list_public_properties",
      "description": "Returns all property listings currently available on the Pro-Estate public marketplace — type, price, location, bedrooms, area, and images.",
      "endpoint": "GET https://api.pro-estate.net/api/public/properties"
    },
    {
      "name": "submit_demo_request",
      "description": "Submit a demo request for Pro-Estate Egypt. Accepts name, company, phone, email, and an optional message. Returns a confirmation.",
      "endpoint": "POST https://api.pro-estate.net/api/public/demo-requests",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": { "type": "string", "description": "Full name of the requester." },
          "company": { "type": "string", "description": "Agency or company name." },
          "phone": { "type": "string", "description": "Contact phone number." },
          "email": { "type": "string", "format": "email", "description": "Contact email address." },
          "message": { "type": "string", "description": "Optional message or notes." }
        },
        "required": ["name", "phone", "email"]
      }
    }
  ]
}
