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) |