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

# Get a URL source

> Returns the source, when its next automatic re-crawl starts, and its latest crawl with page counts. Poll it to
follow a crawl from "queued" through "running" to "completed" or "failed".



## OpenAPI

````yaml https://blackbox.dasha.ai/swagger/v1/swagger.json get /api/v1/rag/kb/{kbId}/sources/{sourceId}
openapi: 3.0.4
info:
  title: Dasha BlackBox Agent API
  description: API for managing AI agents and calls
  contact:
    name: DashaAI Team
    email: support@dasha.ai
  version: v1
servers:
  - url: https://blackbox.dasha.ai
    description: Dasha BlackBox Agent API
security:
  - ApiKey: []
  - OAuth: []
tags:
  - name: ActivityLogs
  - name: Agents
  - name: AgentTestCases
  - name: AgentToolTestResults
  - name: CallResults
  - name: Calls
  - name: Chats
  - name: Copilot
  - name: CustomerData
  - name: Mcp
  - name: Media
  - name: Misc
  - name: OpsDashboard
  - name: PronunciationDictionaries
  - name: Providers
  - name: SipAliases
  - name: SipCredentials
  - name: SipDomains
  - name: SipPhoneNumbers
  - name: SipRegisterCallWebhook
  - name: TextChat
  - name: TwilioProvider
  - name: Voice
  - name: WebhookTest
  - name: WebIntegrations
  - name: WebSocket
    description: WebSocket endpoints for real-time communication
paths:
  /api/v1/rag/kb/{kbId}/sources/{sourceId}:
    get:
      tags:
        - KnowledgeBaseSource
      summary: Get a URL source
      description: >-
        Returns the source, when its next automatic re-crawl starts, and its
        latest crawl with page counts. Poll it to

        follow a crawl from "queued" through "running" to "completed" or
        "failed".
      parameters:
        - name: kbId
          in: path
          description: Knowledge base ID
          required: true
          schema:
            type: string
            format: uuid
        - name: sourceId
          in: path
          description: Source ID
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/UrlSourceInfo'
            application/json:
              schema:
                $ref: '#/components/schemas/UrlSourceInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/UrlSourceInfo'
        '404':
          description: Not Found
          content:
            text/plain:
              schema: {}
            application/json:
              schema: {}
            text/json:
              schema: {}
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema: {}
            application/json:
              schema: {}
            text/json:
              schema: {}
components:
  schemas:
    UrlSourceInfo:
      required:
        - createdAt
        - excludePaths
        - id
        - includePaths
        - knowledgeBaseId
        - pageCount
        - pageLimit
        - scope
        - type
        - url
      type: object
      properties:
        id:
          type: string
          format: uuid
        knowledgeBaseId:
          type: string
          format: uuid
        type:
          allOf:
            - $ref: '#/components/schemas/KnowledgeBaseSourceType'
        url:
          minLength: 1
          type: string
        scope:
          allOf:
            - $ref: '#/components/schemas/UrlSourceScope'
        pageLimit:
          type: integer
          format: int32
        includePaths:
          type: array
          items:
            type: string
        excludePaths:
          type: array
          items:
            type: string
        recrawlIntervalHours:
          type: integer
          format: int32
          nullable: true
        crawlerName:
          type: string
          nullable: true
        pageCount:
          type: integer
          format: int32
        createdAt:
          type: string
          format: date-time
        nextRunAt:
          type: string
          format: date-time
          nullable: true
        lastRun:
          allOf:
            - $ref: '#/components/schemas/UrlSourceRunInfo'
          nullable: true
      additionalProperties: false
    KnowledgeBaseSourceType:
      enum:
        - url
      type: string
    UrlSourceScope:
      enum:
        - section
        - page
        - site
      type: string
    UrlSourceRunInfo:
      required:
        - counts
        - id
        - status
        - trigger
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          allOf:
            - $ref: '#/components/schemas/UrlSourceCrawlRunStatus'
        trigger:
          allOf:
            - $ref: '#/components/schemas/UrlSourceCrawlTrigger'
        startedAt:
          type: string
          format: date-time
          nullable: true
        finishedAt:
          type: string
          format: date-time
          nullable: true
        error:
          type: string
          nullable: true
        errorCode:
          allOf:
            - $ref: '#/components/schemas/UrlSourceCrawlErrorCode'
          nullable: true
        warning:
          type: string
          nullable: true
        counts:
          allOf:
            - $ref: '#/components/schemas/UrlSourceRunCounts'
      additionalProperties: false
    UrlSourceCrawlRunStatus:
      enum:
        - queued
        - running
        - completed
        - failed
      type: string
    UrlSourceCrawlTrigger:
      enum:
        - initial
        - scheduled
        - manual
      type: string
    UrlSourceCrawlErrorCode:
      enum:
        - not_configured
        - crawler_refused
        - page_allowance
        - crawler_failed
      type: string
    UrlSourceRunCounts:
      required:
        - covered
        - discovered
        - failed
        - fetched
        - removed
        - unchanged
      type: object
      properties:
        discovered:
          type: integer
          format: int32
        fetched:
          type: integer
          format: int32
        unchanged:
          type: integer
          format: int32
        failed:
          type: integer
          format: int32
        removed:
          type: integer
          format: int32
        covered:
          type: integer
          format: int32
      additionalProperties: false
  securitySchemes:
    ApiKey:
      type: http
      description: API Key Authentication (Bearer {key})
      scheme: Bearer
    OAuth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://auth.dasha.ai/connect/authorize
          scopes:
            platform_api: Platform API

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.