> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudhumans.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run a content source now

> Starts a full run of one content source right away, instead of waiting for its cron: the site is crawled, the pages are processed and the resulting entries are written into this knowledge base. The run happens in the background and this call answers as soon as it is accepted — it does not wait for the crawl to finish, and there is no completion signal on this surface: read the imported content through listEntries afterwards (a large site takes minutes). Only one run per source at a time: a second call while a run is in progress is refused with 409; once it finishes, another call starts another full run.



## OpenAPI

````yaml /api-reference/specs/claudia/v1.json post /v1/knowledge-bases/{kbId}/scraper-config/{configId}/run
openapi: 3.0.1
info:
  title: Claudia API
  version: 1.0.0
servers:
  - url: https://api.cloudhumans.com/claudia
    description: Production
  - url: https://api.cloudhumans.com/claudia/staging
    description: Staging
security:
  - bearerAuth: []
tags:
  - name: MCP Servers
    description: >-
      The MCP servers your agents can call tools on. Registering one here is
      what makes its tools selectable in an agent; the credentials it needs are
      stored encrypted and never read back.
  - name: Knowledge Base Content
    description: Read, search and edit the content that answers your customers.
  - name: Content Quality
    description: Rewrites proposed for content that is answering your customers badly.
  - name: Playground
    description: >-
      Talk to one of your agents as if you were a customer, without touching a
      real conversation.
  - name: Project Settings
    description: >-
      Read and change how a ClaudIA project behaves — the settings screens of
      the ClaudIA app, as an API.
  - name: Content Improvements
    description: Answers Claudia proposes for questions your content does not cover yet.
  - name: Knowledge Bases
    description: The knowledge bases your account can manage.
  - name: Content Sources
    description: The sites Claudia crawls to keep a knowledge base in sync.
  - name: Agents
    description: >-
      The AI agents (assistants) configured for your tenant: the orchestrator
      (supervisor) and its specialists (react). Reads answer the same
      passthrough shape the platform stores; creates land as DRAFTS a human
      reviews and publishes in the app.
  - name: Agent Tools
    description: >-
      The tool catalog your agents can be given, aggregated across every MCP
      server registered for the tenant. This is the same catalog an assistant's
      mcp_servers[].tools whitelist is validated against.
  - name: Conversations
    description: >-
      Read access to a conversation's lean investigation summary — messages,
      status and resolution — and the execution trace behind one of its
      processed messages, without the internal processing state the hub UI's
      full read carries.
paths:
  /v1/knowledge-bases/{kbId}/scraper-config/{configId}/run:
    post:
      tags:
        - Content Sources
      summary: Run a content source now
      description: >-
        Starts a full run of one content source right away, instead of waiting
        for its cron: the site is crawled, the pages are processed and the
        resulting entries are written into this knowledge base. The run happens
        in the background and this call answers as soon as it is accepted — it
        does not wait for the crawl to finish, and there is no completion signal
        on this surface: read the imported content through listEntries
        afterwards (a large site takes minutes). Only one run per source at a
        time: a second call while a run is in progress is refused with 409; once
        it finishes, another call starts another full run.
      operationId: runContentSourceCrawl
      parameters:
        - name: kbId
          in: path
          description: Knowledge base to operate on. Get the ids from listMyKnowledgeBases.
          required: true
          schema:
            type: string
        - name: configId
          in: path
          description: Content source to run, as returned by listContentSources.
          required: true
          schema:
            type: string
      responses:
        '202':
          description: The run was accepted and is executing in the background.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentSourceRun'
        '400':
          description: The request could not be answered as written.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing, expired or invalid credentials.
        '403':
          description: The credentials hold no account allowed to manage this content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: >-
            No such resource, or none these credentials can reach — the two are
            deliberately indistinguishable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            A crawl of this content source is already running. Nothing new was
            started; wait for it to finish (its entries show up in listEntries)
            before calling again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit applied by the API gateway. Back off and retry.
        '502':
          description: >-
            The crawler refused the run. Nothing was started; the same refusal
            twice is a configuration problem, not a request one.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: >-
            The crawler could not be reached. Nothing was started; retrying
            later is reasonable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ContentSourceRun:
      required:
        - configId
        - status
      type: object
      properties:
        status:
          enum:
            - started
          type: string
          description: 'Always `started`: the crawl was accepted and runs in the background.'
          example: started
        configId:
          type: string
          description: The content source being crawled.
          example: 6683f1c2a4b19e0012ab34cd
      description: Acknowledgement that a crawl of one content source was started.
    Error:
      required:
        - error
      type: object
      properties:
        error:
          type: string
          description: What went wrong.
          example: 'Forbidden: token holds no claim for the requested account'
      description: Something the caller needs to fix.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````