---
title: "Discover knowledge crawl jobs"
method: GET
path: "/knowledge/url/crawl"
---

# Discover knowledge crawl jobs

`GET /knowledge/url/crawl`

## Request

- Base URL: `https://platform-api.visitoai.com/m2m/v1`
- URL: `https://platform-api.visitoai.com/m2m/v1/knowledge/url/crawl`
- Auth: HTTP bearer

Find recent crawl job IDs after a lost receipt or to diagnose queued/running/failed processing. Default active returns queued/running jobs; all includes completed/failed. Bounded recent list (no cursor/history completeness); copy jobId to get_knowledge_crawl. A queued job is not usable indexed knowledge. Required permission: knowledge:read. Connected business only; no tenant override.

## Query parameters

- `limit` integer
- `status` 'active' | 'all'

## Response `200`

Success

- KnowledgeCrawlJobs
  - `jobs` KnowledgeCrawlJob[], required
    - `jobId` string
    - `status` 'queued' | 'running' | 'completed' | 'failed'
    - `progress` object
      - `phase` 'queued' | 'crawling' | 'embedding' | 'finalizing'
      - `pagesDiscovered` integer
      - `pagesProcessed` integer
      - `chunksEmbedded` integer
    - `chunks` integer
    - `url` string
    - `crawlDepth` integer
    - `maxPages` integer
    - `sourceId` string
    - `error` object
      - `code` string
      - `message` string
    - `websiteId` string
    - `websiteGenerationId` string
    - `createdAt` string
    - `startedAt` string
    - `completedAt` string
    - `updatedAt` string
    - `snapshotPages` integer

## Other responses

- `400`: Invalid request
- `403`: Missing permission
- `404`: Resource not found
- `409`: Conflict; read state and reconcile

---

[API](https://skmtc.dev/visitoai/apis/visito-m2m-api.md) - [All operations](https://skmtc.dev/visitoai/apis/visito-m2m-api/llms.txt) - [OpenAPI document](https://skmtc.dev/visitoai/apis/visito-m2m-api/revisions/98377d35c234?raw)
