QuantCDN CrawlerSchedules API

Scheduled website crawl operations

OpenAPI Specification

quantcdn-crawlerschedules-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Unified API for QuantCDN Admin and QuantCloud Platform services
  title: QuantCDN AI Agents CrawlerSchedules API
  version: 4.15.8
servers:
- description: QuantCDN Public Cloud
  url: https://dashboard.quantcdn.io
- description: QuantGov Cloud
  url: https://dash.quantgov.cloud
security:
- BearerAuth: []
tags:
- description: Scheduled website crawl operations
  name: CrawlerSchedules
paths:
  /api/v2/organizations/{organization}/projects/{project}/crawlers/{crawler}/schedules:
    get:
      operationId: CrawlerSchedules_list
      parameters:
      - example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - example: 00000000-0000-0000-0000-000000000000
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/V2CrawlerSchedule'
                type: array
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: List schedules for a crawler
      tags:
      - CrawlerSchedules
    post:
      operationId: CrawlerSchedules_add
      parameters:
      - description: Organization identifier
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler identifier
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V2CrawlerScheduleRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CrawlerSchedule'
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Add a new schedule
      tags:
      - CrawlerSchedules
  /api/v2/organizations/{organization}/projects/{project}/crawlers/{crawler}/schedules/{crawler_schedule}:
    delete:
      operationId: CrawlerSchedules_delete
      parameters:
      - description: Organization identifier
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler identifier
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler schedule identifier
        explode: false
        in: path
        name: crawler_schedule
        required: true
        schema:
          type: string
        style: simple
      responses:
        '204':
          description: The crawler schedule has been deleted.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Delete a schedule
      tags:
      - CrawlerSchedules
    get:
      operationId: CrawlerSchedules_show
      parameters:
      - description: Organization identifier
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler identifier
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler schedule identifier
        explode: false
        in: path
        name: crawler_schedule
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CrawlerSchedule'
          description: The crawler schedule.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Show a specific schedule
      tags:
      - CrawlerSchedules
    patch:
      operationId: CrawlerSchedules_edit
      parameters:
      - description: Organization identifier
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler identifier
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler schedule identifier
        explode: false
        in: path
        name: crawler_schedule
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V2CrawlerScheduleRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CrawlerSchedule'
          description: The crawler schedule.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Edit a schedule
      tags:
      - CrawlerSchedules
components:
  schemas:
    V2CrawlerScheduleRequest:
      example:
        schedule_cron_string: 0 2 * * *
        name: Daily Crawl
      properties:
        name:
          description: Schedule name. If not provided, defaults to 'Schedule {crawler_name}'.
          example: Daily Crawl
          type: string
        schedule_cron_string:
          description: 'Standard Unix cron expression with 5 space-separated fields: minute, hour, day-of-month, month, day-of-week. Example: 0 2 * * * for daily at 2 AM.'
          example: 0 2 * * *
          type: string
      required:
      - schedule_cron_string
      type: object
    V2Error:
      example:
        message: The requested resource was not found
        error: true
      properties:
        message:
          description: Error message
          example: The requested resource was not found
          type: string
        error:
          description: Error flag
          example: true
          type: boolean
      required:
      - error
      - message
      type: object
    V2CrawlerSchedule:
      example:
        crawler_last_run_id: 12345
        schedule_cron_string: 0 2 * * *
        updated_at: 2024-10-11 16:45:00+00:00
        project_id: 789
        name: Test schedule
        crawler_config_id: 456
        created_at: 2024-01-20 09:15:00+00:00
        crawler_uuid: 550e8400-e29b-41d4-a716-446655440000
        id: 1
      properties:
        id:
          description: Schedule ID
          example: 1
          type: integer
        name:
          description: Schedule name
          example: Test schedule
          type: string
        crawler_config_id:
          description: Crawler config ID
          example: 456
          type: integer
        crawler_uuid:
          description: Crawler UUID
          example: 550e8400-e29b-41d4-a716-446655440000
          type: string
        project_id:
          description: Project ID
          example: 789
          type: integer
        crawler_last_run_id:
          description: Last run ID
          example: 12345
          type: integer
        schedule_cron_string:
          description: 'Standard Unix cron expression with 5 space-separated fields: minute, hour, day-of-month, month, day-of-week. Example: 0 2 * * * runs daily at 2 AM.'
          example: 0 2 * * *
          type: string
        created_at:
          description: Creation timestamp
          example: 2024-01-20 09:15:00+00:00
          format: date-time
          type: string
        updated_at:
          description: Last update timestamp
          example: 2024-10-11 16:45:00+00:00
          format: date-time
          type: string
      required:
      - crawler_config_id
      - crawler_last_run_id
      - id
      - project_id
      - schedule_cron_string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: 'Enter your Bearer token in the format: `Bearer <your-token-here>`. Obtain your API token from the QuantCDN dashboard under Profile > API Tokens.'
      scheme: bearer
      type: http