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

# Dry Run

> Submit a task for dry-run execution.

**Required Role:** OPERATOR, ADMIN, or OWNER

Dry-run mode performs all checks and simulations without actually
transferring or modifying any files. This is useful for:
- Testing task configuration
- Previewing what files would be transferred
- Estimating transfer size and duration

Dry-run executions:
- Do NOT transfer or modify files
- Preview what would be transferred without actual data movement
- Complete with status DRY_RUN_COMPLETED instead of COMPLETED
- Show accurate file counts and size estimates in stats

**Note:** This endpoint requires no request body. Execution parameters are
determined server-side (is_dry_run=true, trigger=manual).



## OpenAPI

````yaml POST /v1/teams/{team_id}/tasks/{task_id}/executions/dry-run
openapi: 3.1.0
info:
  title: Data Raven API
  description: Cloud-to-cloud data transfer platform powered by RClone
  version: 0.5.0
servers: []
security: []
paths:
  /v1/teams/{team_id}/tasks/{task_id}/executions/dry-run:
    post:
      tags:
        - Executions
      summary: Submit Dry Run
      description: >-
        Submit a task for dry-run execution.


        **Required Role:** OPERATOR, ADMIN, or OWNER


        Dry-run mode performs all checks and simulations without actually

        transferring or modifying any files. This is useful for:

        - Testing task configuration

        - Previewing what files would be transferred

        - Estimating transfer size and duration


        Dry-run executions:

        - Do NOT transfer or modify files

        - Preview what would be transferred without actual data movement

        - Complete with status DRY_RUN_COMPLETED instead of COMPLETED

        - Show accurate file counts and size estimates in stats


        **Note:** This endpoint requires no request body. Execution parameters
        are

        determined server-side (is_dry_run=true, trigger=manual).
      operationId: >-
        submit_dry_run_v1_teams__team_id__tasks__task_id__executions_dry_run_post
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Task Id
        - name: team_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Team Id
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionResponse'
        '400':
          description: Task is not active
        '404':
          description: Task not found
        '409':
          description: Task already has a running execution
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: >-
            FREE tier concurrent execution limit reached (1 at a time across all
            tasks)
      security:
        - HTTPBearer: []
components:
  schemas:
    ExecutionResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        task_id:
          type: string
          format: uuid
          title: Task Id
        execution_number:
          type: integer
          title: Execution Number
        trigger:
          $ref: '#/components/schemas/ExecutionTrigger'
        status:
          $ref: '#/components/schemas/ExecutionStatus'
        is_dry_run:
          type: boolean
          title: Is Dry Run
        queued_at:
          type: string
          format: date-time
          title: Queued At
        started_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Started At
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
        duration_seconds:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration Seconds
        stats:
          additionalProperties: true
          type: object
          title: Stats
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
        rclone_exit_code:
          anyOf:
            - type: integer
            - type: 'null'
          title: Rclone Exit Code
        log_file_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Log File Url
      type: object
      required:
        - id
        - task_id
        - execution_number
        - trigger
        - status
        - is_dry_run
        - queued_at
      title: ExecutionResponse
      description: Base response schema for task execution.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ExecutionTrigger:
      type: string
      enum:
        - manual
        - scheduled
        - api
      title: ExecutionTrigger
      description: Execution trigger types.
    ExecutionStatus:
      type: string
      enum:
        - pending
        - running
        - completed
        - failed
        - cancelled
        - dry_run_completed
      title: ExecutionStatus
      description: Runtime execution status.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````