CloudBridgeУправляйте переносами программно: подключённые облака, запуск задач, статусы, публичные ссылки и синхронизации по расписанию — 19 провайдеров через один API.
Персональный ключ, до 10 штук. Два способа передать:
X-API-Key: cb_live_…
Authorization: Bearer cb_live_…
| GET | /connections | Подключённые облака (id, провайдер, аккаунт, квота) |
| GET | /files?connection_id=&path= | Содержимое папки в облаке |
| GET | /usage | Тариф, лимит, расход, срок API |
| GET | /transfers?limit=&offset= | Переносы, новые сверху (limit ≤ 100) |
| POST | /transfers | Создать перенос — см. тело ниже |
| GET | /transfers/{id} | Статус, прогресс, ошибки переноса |
| DELETE | /transfers/{id} | Отменить запущенный / скрыть завершённый |
| POST | /uploads | Файл → облако(а): multipart file + targets JSON |
| GET | /uploads/{job_id} | Статус джобы по каждой цели |
| POST | /uploads/{job_id}/cancel | Отмена fan-out |
| POST | /remote | URL → облако: {url, connection_ids[], target_path, file_name} |
| GET | /remote · /remote/{id} | Список / статус загрузки по ссылке |
| DELETE | /remote/{id} | Отменить / удалить запись |
| POST | /share-links | Ссылка: kind inbox|archive|file, targets, пароль, ttl |
| GET | /share-links | Список активных ссылок |
| PATCH | /share-links/{id} | Настройки ссылки: цели, папка, пароль, ttl |
| DELETE | /share-links/{id} | Отозвать ссылку |
| GET | /syncs | Синхронизации по расписанию |
| POST | /syncs | Создать синхронизацию |
| GET · PUT · DELETE | /syncs/{id} | Детали, изменить, удалить |
| POST | /syncs/{id}/run | Запустить прямо сейчас |
| paths | что переносить; пусто = весь диск |
| exclude | исключить пути внутри выборки |
| sync_mode | copy · new · update · mirror |
| target_path | папка назначения на целевом облаке |
| file_types | расширения без точки: jpg, pdf… |
| min_size / max_size | размер файла, байты |
| date_from / date_to | YYYY-MM-DD |
| resume | пропускать уже перенесённые (по размеру) |
| auto_retry | автоповтор при сбоях — только Pro+ |
Привяжите URL к ключу (PATCH /api/apikeys/{id} в кабинете — поле webhook_url) — на него уйдёт подписанный POST при завершении работ:
| transfer.finished | transfer_id, status, total_size, failed_files, batch_id… |
| remote.finished | job_id, status, file_name, batch_id, processed_size, error |
| upload.finished | job_id, status, source, filename, targets, succeeded |
| webhook.test | тестовый пинг из кабинета |
Тот же ключ открывает MCP-сервер — подключите CloudBridge к Claude, Cursor или Devin, и агент сможет листать файлы, запускать переносы и создавать ссылки голосом/текстом. Endpoint:
| list_clouds · list_files · list_transfers · get_transfer · get_usage · list_share_links · get_download_url · read_text_file | чтение |
| create_transfer · remote_upload · create_share_link · cancel_transfer · revoke_share_link | действия — лимит 30/час |
JSON: {"detail": "…"}. 401 — нет/отозванный ключ; 403 — опция истекла или лимит тарифа исчерпан; 404 — объект не найден; 422 — невалидное тело.
# облака
curl -H "X-API-Key: $KEY" https://cloud-bridge.ru/api/v1/connections
# перенос папки с фильтрами
curl -X POST -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"source_connection_id":1,"target_connection_id":2,"filters":{"paths":["Фото"],"sync_mode":"new"}}' https://cloud-bridge.ru/api/v1/transfers
# файл по ссылке — сразу в два облака (Pro+)
curl -X POST -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"url":"https://example.com/big.zip","connection_ids":[1,2]}' https://cloud-bridge.ru/api/v1/remote
# файл с диска в облако
curl -X POST -H "X-API-Key: $KEY" -F "file=@dump.sql" \
-F 'targets=[{"connection_id":1,"path":"Backups/dump.sql"}]' https://cloud-bridge.ru/api/v1/uploads
# ссылка для приёма файлов
curl -X POST -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"kind":"inbox","target_connection_ids":[1],"title":"Client files","ttl_days":7}' https://cloud-bridge.ru/api/v1/share-links
# статус и расход
curl -H "X-API-Key: $KEY" https://cloud-bridge.ru/api/v1/transfers/123
curl -H "X-API-Key: $KEY" https://cloud-bridge.ru/api/v1/usage
Переносы по API расходуют тот же месячный лимит тарифа. Созданный перенос сразу виден в кабинете.