MinIO Client (mc)
Copy, mirror and manage files in Zata buckets with the MinIO Client.
The MinIO Client, mc, is a command-line tool for S3 storage. It browses, uploads, downloads and mirrors Zata buckets directly. You only need the client: a MinIO server is separate storage of its own and does not show your Zata buckets.
Before you start
- A bucket. See Create a bucket.
- An access key and secret key from the same region as the bucket. See Access keys.
Connection settings
| Setting | Value |
|---|---|
| URL | https://idr01.zata.ai for Indore, https://bom01.zata.ai for Mumbai |
| Access key / Secret key | from Access Keys in the Zata console. The key must be from the same region as the bucket. |
| API | S3v4 |
| Path-style | --path on |
Install mc
On Linux (x86_64):
curl -fL https://dl.min.io/aistor/mc/release/linux-amd64/mc -o mc
sudo install mc /usr/local/bin/mc
mc --version
For Windows, macOS or ARM Linux, download mc from dl.min.io/aistor/mc/release.
Add Zata as an alias
An alias is mc's name for a saved connection. Replace the two keys with yours. For Mumbai, use https://bom01.zata.ai.
mc alias set zata https://idr01.zata.ai YOUR_ACCESS_KEY YOUR_SECRET_KEY --api S3v4 --path on
--api S3v4 uses Signature V4, and --path on turns on path-style addressing.
On a shared server, type the keys hidden instead, so that they never land in your shell history:
read -rsp "Access key: " ZATA_KEY; echo
read -rsp "Secret key: " ZATA_SECRET; echo
mc alias set zata https://idr01.zata.ai "$ZATA_KEY" "$ZATA_SECRET" --api S3v4 --path on
unset ZATA_KEY ZATA_SECRET
Test it
Replace my-bucket with your bucket name:
echo "hello from mc" > test.txt
mc cp test.txt zata/my-bucket/test.txt
mc ls zata/my-bucket/
mc cp zata/my-bucket/test.txt ./downloaded-test.txt
mc ls zata lists your buckets. A sub-user's key may show none; use the bucket name directly.
Mirror a folder
mc mirror ./my-folder zata/my-bucket/my-folder
mc mirror uploads new and changed files. With --remove, it also deletes files in Zata that are not in the local folder, so try it on a small folder first.
What works on Zata
Measured with mc RELEASE.2026-09-19:
| mc command | On Zata |
|---|---|
cp, ls, mirror, rm, cat, stat | Work |
tag set, tag list | Work |
version info | Works |
sql (query a CSV or JSON file) | Works |
cp --enc-s3, cp --enc-c, mc encrypt | Do not work. Zata rejects server-side encryption (InvalidRequest). |
--storage-class GLACIER (or any class other than STANDARD) | Does not work (InvalidArgument). |
mc admin | Does not work. It manages a MinIO server, not Zata. |
ilm (lifecycle), event, retention, legalhold | A sub-user's key gets Access Denied; not tested with the owner's key. Manage lifecycle rules and Object Lock in the Zata console. |
Troubleshooting
| Problem | Fix |
|---|---|
The download address returns 410 Gone | You used the old address dl.min.io/client/mc/release. Use dl.min.io/aistor/mc/release. |
Access Denied | The key has no permission on that bucket, or it is from the other region. |
mc ls zata shows no buckets | A sub-user's key cannot list buckets. Use the bucket name: mc ls zata/my-bucket/. |
For other errors, see Access denied and Wrong endpoint or region.