duvo.ai Schedules API

List schedules configured for an agent

OpenAPI Specification

duvoai-schedules-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Duvo Public Agent Folders Schedules API
  description: Public API for programmatic access to Duvo. Authenticate with API keys created in the Duvo dashboard.
  version: 1.0.0
servers:
- url: https://api.duvo.ai
  description: Production server
tags:
- name: Schedules
  description: List schedules configured for an agent
paths:
  /v2/agents/{agent_id}/schedules:
    post:
      operationId: createSchedule
      tags:
      - Schedules
      description: Create a schedule for an agent. The schedule fires against the agent's live build. The authenticated user owns the schedule.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                frequency:
                  type: string
                  enum:
                  - every_5_minutes
                  - every_15_minutes
                  - hourly
                  - daily
                  - workday
                  - weekly
                  - monthly
                  - custom
                time:
                  nullable: true
                  type: string
                timezone:
                  type: string
                day:
                  nullable: true
                  type: string
                  enum:
                  - monday
                  - tuesday
                  - wednesday
                  - thursday
                  - friday
                  - saturday
                  - sunday
                day_of_month:
                  nullable: true
                  type: integer
                  minimum: 1
                  maximum: 31
                cron:
                  nullable: true
                  type: string
                recurring:
                  nullable: true
                  type: boolean
              required:
              - enabled
              - frequency
              - timezone
      parameters:
      - schema:
          type: string
          format: uuid
        in: path
        name: agent_id
        required: true
        description: The agent's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  build_id:
                    type: string
                  agent_id:
                    type: string
                  user_id:
                    type: string
                  enabled:
                    type: boolean
                  frequency:
                    type: string
                    enum:
                    - every_5_minutes
                    - every_15_minutes
                    - hourly
                    - daily
                    - workday
                    - weekly
                    - monthly
                    - custom
                  time:
                    nullable: true
                    type: string
                  timezone:
                    type: string
                  day:
                    nullable: true
                    type: string
                  day_of_month:
                    nullable: true
                    type: number
                  cron:
                    nullable: true
                    type: string
                  source:
                    nullable: true
                    type: string
                  task:
                    nullable: true
                    type: string
                  recurring:
                    nullable: true
                    type: boolean
                  auto_disabled_at:
                    nullable: true
                    type: string
                  auto_disabled_reason:
                    nullable: true
                    type: string
                  consecutive_missing_connection_failures:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  first_missing_connection_failure_at:
                    nullable: true
                    type: string
                  last_missing_connection_failure_at:
                    nullable: true
                    type: string
                  created_at:
                    type: string
                  updated_at:
                    type: string
                  user_name:
                    nullable: true
                    type: string
                  user_email:
                    nullable: true
                    type: string
                required:
                - id
                - build_id
                - agent_id
                - user_id
                - enabled
                - frequency
                - time
                - timezone
                - day
                - day_of_month
                - cron
                - source
                - task
                - recurring
                - auto_disabled_at
                - auto_disabled_reason
                - consecutive_missing_connection_failures
                - first_missing_connection_failure_at
                - last_missing_connection_failure_at
                - created_at
                - updated_at
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: Create Schedule
    get:
      operationId: listAgentSchedules
      tags:
      - Schedules
      description: List all schedules configured for an agent. Returns the schedules you own on this agent.
      parameters:
      - schema:
          type: string
          format: uuid
        in: path
        name: agent_id
        required: true
        description: The agent's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  schedules:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        build_id:
                          type: string
                        agent_id:
                          type: string
                        user_id:
                          type: string
                        enabled:
                          type: boolean
                        frequency:
                          type: string
                          enum:
                          - every_5_minutes
                          - every_15_minutes
                          - hourly
                          - daily
                          - workday
                          - weekly
                          - monthly
                          - custom
                        time:
                          nullable: true
                          type: string
                        timezone:
                          type: string
                        day:
                          nullable: true
                          type: string
                        day_of_month:
                          nullable: true
                          type: number
                        cron:
                          nullable: true
                          type: string
                        source:
                          nullable: true
                          type: string
                        task:
                          nullable: true
                          type: string
                        recurring:
                          nullable: true
                          type: boolean
                        auto_disabled_at:
                          nullable: true
                          type: string
                        auto_disabled_reason:
                          nullable: true
                          type: string
                        consecutive_missing_connection_failures:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        first_missing_connection_failure_at:
                          nullable: true
                          type: string
                        last_missing_connection_failure_at:
                          nullable: true
                          type: string
                        created_at:
                          type: string
                        updated_at:
                          type: string
                        user_name:
                          nullable: true
                          type: string
                        user_email:
                          nullable: true
                          type: string
                      required:
                      - id
                      - build_id
                      - agent_id
                      - user_id
                      - enabled
                      - frequency
                      - time
                      - timezone
                      - day
                      - day_of_month
                      - cron
                      - source
                      - task
                      - recurring
                      - auto_disabled_at
                      - auto_disabled_reason
                      - consecutive_missing_connection_failures
                      - first_missing_connection_failure_at
                      - last_missing_connection_failure_at
                      - created_at
                      - updated_at
                      additionalProperties: false
                    description: Schedules the authenticated user owns on this agent
                required:
                - schedules
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: List Agent Schedules
  /v2/agents/{agent_id}/schedules/{schedule_id}:
    patch:
      operationId: updateSchedule
      tags:
      - Schedules
      description: Update fields on an existing schedule. Only supplied fields are changed; omitted fields retain their current values. Owners may update their own schedules; team superadmins may update any schedule on agents in the current team.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                frequency:
                  type: string
                  enum:
                  - every_5_minutes
                  - every_15_minutes
                  - hourly
                  - daily
                  - workday
                  - weekly
                  - monthly
                  - custom
                time:
                  nullable: true
                  type: string
                timezone:
                  type: string
                day:
                  nullable: true
                  type: string
                  enum:
                  - monday
                  - tuesday
                  - wednesday
                  - thursday
                  - friday
                  - saturday
                  - sunday
                day_of_month:
                  nullable: true
                  type: integer
                  minimum: 1
                  maximum: 31
                cron:
                  nullable: true
                  type: string
                recurring:
                  nullable: true
                  type: boolean
      parameters:
      - schema:
          type: string
          format: uuid
        in: path
        name: agent_id
        required: true
        description: The agent's unique identifier
      - schema:
          type: string
          format: uuid
        in: path
        name: schedule_id
        required: true
        description: The schedule's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  build_id:
                    type: string
                  agent_id:
                    type: string
                  user_id:
                    type: string
                  enabled:
                    type: boolean
                  frequency:
                    type: string
                    enum:
                    - every_5_minutes
                    - every_15_minutes
                    - hourly
                    - daily
                    - workday
                    - weekly
                    - monthly
                    - custom
                  time:
                    nullable: true
                    type: string
                  timezone:
                    type: string
                  day:
                    nullable: true
                    type: string
                  day_of_month:
                    nullable: true
                    type: number
                  cron:
                    nullable: true
                    type: string
                  source:
                    nullable: true
                    type: string
                  task:
                    nullable: true
                    type: string
                  recurring:
                    nullable: true
                    type: boolean
                  auto_disabled_at:
                    nullable: true
                    type: string
                  auto_disabled_reason:
                    nullable: true
                    type: string
                  consecutive_missing_connection_failures:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  first_missing_connection_failure_at:
                    nullable: true
                    type: string
                  last_missing_connection_failure_at:
                    nullable: true
                    type: string
                  created_at:
                    type: string
                  updated_at:
                    type: string
                  user_name:
                    nullable: true
                    type: string
                  user_email:
                    nullable: true
                    type: string
                required:
                - id
                - build_id
                - agent_id
                - user_id
                - enabled
                - frequency
                - time
                - timezone
                - day
                - day_of_month
                - cron
                - source
                - task
                - recurring
                - auto_disabled_at
                - auto_disabled_reason
                - consecutive_missing_connection_failures
                - first_missing_connection_failure_at
                - last_missing_connection_failure_at
                - created_at
                - updated_at
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: Update Schedule
    delete:
      operationId: deleteSchedule
      tags:
      - Schedules
      description: Delete a schedule. Owners may delete their own schedules; team superadmins may delete any schedule on agents in the current team.
      parameters:
      - schema:
          type: string
          format: uuid
        in: path
        name: agent_id
        required: true
        description: The agent's unique identifier
      - schema:
          type: string
          format: uuid
        in: path
        name: schedule_id
        required: true
        description: The schedule's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - true
                required:
                - success
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: Delete Schedule
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your API key from the Duvo dashboard.