Sites API

Manage your AI Search sites programmatically. Create sites, update settings, and configure public access.

List Sites

GET /organisations/{orgId}/ai-search/sites

Returns all sites in your organization.

Response:

{
  "sites": [
    {
      "siteId": "site_abc123",
      "name": "Documentation",
      "baseUrl": "https://docs.example.com",
      "status": "ready",
      "pageCount": 150,
      "lastCrawledAt": 1702500000,
      "createdAt": 1702400000
    }
  ]
}

Get Site

GET /organisations/{orgId}/ai-search/sites/{siteId}

Returns details for a specific site, including configuration and statistics.

Create Site

POST /organisations/{orgId}/ai-search/sites

{
  "name": "Documentation",
  "baseUrl": "https://docs.example.com",
  "crawlerConfig": {
    "maxPages": 1000,
    "maxDepth": 5,
    "respectRobotsTxt": true
  }
}

Parameters

Field Type Required Description
name string Yes Display name for the site
baseUrl string Yes Root URL to crawl
crawlerConfig object No Crawler configuration (see below)

Crawler Config

Field Type Default Description
maxPages integer 100 Maximum pages to crawl
maxDepth integer 3 Maximum link depth
respectRobotsTxt boolean true Honor robots.txt rules
excludePatterns string[] [] URL patterns to skip
includePatterns string[] [] Only crawl matching URLs
javascriptEnabled boolean false Render JavaScript (for SPAs)

Response:

{
  "siteId": "site_abc123",
  "name": "Documentation",
  "baseUrl": "https://docs.example.com",
  "status": "pending",
  "pageCount": 0,
  "createdAt": 1702500000
}

Update Site

PUT /organisations/{orgId}/ai-search/sites/{siteId}

{
  "name": "Updated Name",
  "publicAccess": {
    "enabled": true,
    "searchEnabled": true,
    "chatEnabled": true,
    "allowedDomains": ["example.com", "*.example.com"]
  },
  "rateLimits": {
    "searchPerMinute": 100,
    "chatPerMinute": 30,
    "perIpPerMinute": 20
  }
}

Update site name, public access settings, or rate limits. Only include fields you want to change.

Delete Site

DELETE /organisations/{orgId}/ai-search/sites/{siteId}

Permanently deletes a site and all its indexed content. This action cannot be undone.

Site Status

Status Description
pending Site created, no content indexed yet
ready Content indexed and searchable
error Last crawl failed (check lastError)