> ## Documentation Index
> Fetch the complete documentation index at: https://vastai-80aa3a82-auto-cli-sdk-preview-pr-398.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# VastAI.cloud_copy

Copy files between cloud and instance.

## Signature

```python theme={null}
VastAI.cloud_copy(
    src: Optional[str] = None,
    dst: Optional[str] = '/workspace',
    instance: Optional[str] = None,
    connection: Optional[str] = None,
    transfer: Optional[str] = 'Instance to Cloud',
    dry_run: bool = False,
    size_only: bool = False,
    ignore_existing: bool = False,
    update: bool = False,
    delete_excluded: bool = False,
    schedule: Optional[str] = None,
    start_date: Optional[str] = '2026-06-23',
    end_date: Optional[str] = None,
    day: Optional[parse_day_cron_style] = 0,
    hour: Optional[parse_hour_cron_style] = 0
) -> dict
```

## Parameters

<ParamField path="src" type="Optional[str]">
  path to source of object to copy
</ParamField>

<ParamField path="dst" type="Optional[str]" default="/workspace">
  path to target of copy operation
</ParamField>

<ParamField path="instance" type="Optional[str]">
  id of the instance
</ParamField>

<ParamField path="connection" type="Optional[str]">
  id of cloud connection on your account (get from calling 'vastai show connections')
</ParamField>

<ParamField path="transfer" type="Optional[str]" default="Instance to Cloud">
  type of transfer, possible options include Instance To Cloud and Cloud To Instance
</ParamField>

<ParamField path="dry_run" type="bool">
  show what would have been transferred
</ParamField>

<ParamField path="size_only" type="bool">
  skip based on size only, not mod-time or checksum
</ParamField>

<ParamField path="ignore_existing" type="bool">
  skip all files that exist on destination
</ParamField>

<ParamField path="update" type="bool">
  skip files that are newer on the destination
</ParamField>

<ParamField path="delete_excluded" type="bool">
  delete files on dest excluded from transfer
</ParamField>

<ParamField path="schedule" type="Optional[str]">
  try to schedule a command to run hourly, daily, or weekly. Valid values are HOURLY, DAILY, WEEKLY  For ex. --schedule DAILY
</ParamField>

<ParamField path="start_date" type="Optional[str]" default="2026-06-23">
  Start date/time in format 'YYYY-MM-DD HH:MM:SS PM' (UTC). Default is now. (optional)
</ParamField>

<ParamField path="end_date" type="Optional[str]">
  End date/time in format 'YYYY-MM-DD HH:MM:SS PM' (UTC). Default is contract's end. (optional)
</ParamField>

<ParamField path="day" type="Optional[parse_day_cron_style]" default="0">
  Day of week you want scheduled job to run on (0-6, where 0=Sunday) or "\*". Default will be 0. For ex. --day 0
</ParamField>

<ParamField path="hour" type="Optional[parse_hour_cron_style]" default="0">
  Hour of day you want scheduled job to run on (0-23) or "\*" (UTC). Default will be 0. For ex. --hour 16
</ParamField>

## Returns

`dict`

## Example

```python theme={null}
from vastai import VastAI

client = VastAI(api_key="YOUR_API_KEY")
result = client.cloud_copy()
print(result)
```
