---
title: "Update crawl configuration"
method: PUT
path: "/crawl/config"
tags: ["Crawl"]
---

# Update crawl configuration

`PUT /crawl/config`

## Request

- Base URL: `https://api.savanto.ai`
- URL: `https://api.savanto.ai/crawl/config`
- Auth: HTTP bearer

Replace the crawl configuration for the workspace. Common fields: `strategy` (`full` reindexes everything, `smart` skips pages whose content hash matches the previous crawl), `schedule` (cron-like), `includePatterns` / `excludePatterns` (glob URL filters), `maxPages` (safety cap). Omitted fields are set to their defaults — if you only want to tweak one setting, `GET /crawl/config` first and merge. Changes take effect on the next crawl run.

## Request body

- UpdateCrawlConfigRequest
  - `workspaceId` string
  - `strategy` 'full' | 'smart'
  - `schedule` 'none' | 'daily' | 'weekly' | 'monthly'
  - `preferredHour` integer
  - `maxPages` integer
  - `excludePatterns` string[]
  - `excludeSelectors` string[]
  - `includePatterns` string[]
  - `overagesEnabled` boolean

## Response `200`

Updated crawl config

- object
  - `data` object, required
    - `config` unknown

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `413`: Payload too large
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/savanto/apis/savanto-api.md) · [All operations](https://skmtc.dev/savanto/apis/savanto-api/llms.txt) · [OpenAPI document](https://skmtc.dev/savanto/apis/savanto-api/revisions/82437327a878?raw)
