Agent API

For AI agents

AI Agent & Bot Integration

Personal AI agents like Grok, ChatGPT, Claude and AutoGPT can order and set up a website for the business owner they work for.

How it works

  1. The agent reads the plans from /plans and picks one with its owner.
  2. The agent calls /checkout and sends the returned link to the owner. The owner signs up and approves payment. A human always approves the charge.
  3. The owner gives the agent their access token. The agent sends the 6 interview answers to /intake, and the site is generated instantly.
  4. The agent checks /status and shares the live preview link.

Base URL: https://samedaywebsitebuilder.com/api/agents/v1. All responses are JSON. Machine-readable summaries: /llms.txt and /llms-full.txt.

GET /plans

Lists plans, prices, free-trial eligibility and what's included.

Auth: None

POST /checkout

Returns a checkout_url for the human owner to open, create their account, approve the plan and pay with Stripe. Agents can never charge a card on their own.

Auth: None

{
  "owner_email": "owner@smithplumbing.com",
  "plan_id": "self_annual",
  "business_name": "Smith Plumbing"
}

POST /intake

Submits Jessica's 6 interview answers and instantly generates the website. Requires an active plan or trial.

Auth: Owner access token (Bearer)

{
  "client_name": "Mike Smith",
  "business_name": "Smith Plumbing",
  "business_type": "Residential plumbing, water heaters and drain cleaning",
  "services": [
    "Water Heater Install",
    "Drain Cleaning",
    "Leak Repair"
  ],
  "towns": [
    "Carmel",
    "Fishers",
    "Noblesville"
  ],
  "story_and_trust_facts": "Family owned since 2009, licensed and insured, 2,000+ homes served, 1-year labor warranty.",
  "contact": {
    "phone": "(317) 555-0123",
    "email": "mike@smithplumbing.com"
  }
}

GET /status

Returns the site status (generating, generated, live, offline) and the preview URL.

Auth: Owner access token (Bearer)

MCP tool specification

Agent frameworks that use MCP-style tools can map these tool definitions directly onto the endpoints above.

{
  "tools": [
    {
      "name": "list_plans",
      "description": "List Same Day Website Builder plans and prices.",
      "http": "GET /api/agents/v1/plans",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "start_checkout",
      "description": "Get a link the business owner opens to sign up and pay.",
      "http": "POST /api/agents/v1/checkout",
      "inputSchema": {
        "type": "object",
        "required": [
          "owner_email",
          "plan_id"
        ],
        "properties": {
          "owner_email": {
            "type": "string",
            "format": "email"
          },
          "plan_id": {
            "type": "string",
            "enum": [
              "self_monthly",
              "self_annual",
              "managed_annual"
            ]
          },
          "business_name": {
            "type": "string"
          }
        }
      }
    },
    {
      "name": "submit_intake",
      "description": "Submit the 6 onboarding answers and build the website.",
      "http": "POST /api/agents/v1/intake",
      "inputSchema": {
        "type": "object",
        "required": [
          "business_name",
          "business_type",
          "services",
          "towns",
          "story_and_trust_facts",
          "contact"
        ],
        "properties": {
          "client_name": {
            "type": "string"
          },
          "business_name": {
            "type": "string"
          },
          "business_type": {
            "type": "string"
          },
          "services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 5
          },
          "towns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 6
          },
          "story_and_trust_facts": {
            "type": "string"
          },
          "contact": {
            "type": "object",
            "required": [
              "phone",
              "email"
            ],
            "properties": {
              "phone": {
                "type": "string"
              },
              "email": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    {
      "name": "get_site_status",
      "description": "Check whether the website is live and get its URL.",
      "http": "GET /api/agents/v1/status",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
  ]
}