На главную
CloudBridgeCloudBridge

REST API

Управляйте переносами программно: подключённые облака, запуск задач, статусы, публичные ссылки и синхронизации по расписанию — 19 провайдеров через один API.

Справочник 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/remoteURL → облако: {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Запустить прямо сейчас

POST /transfers — тело запроса

{ "source_connection_id": 1, "target_connection_id": 2, "filters": { // необязательно "paths": ["Документы", "Фото/2024"], "exclude": ["Документы/tmp"], "sync_mode": "copy", "target_path": "Backup", "file_types": ["jpg", "pdf"], "min_size": 1048576, "max_size": 1073741824, "date_from": "2025-01-01", "date_to": "2025-12-31", "resume": true, "auto_retry": true } }
pathsчто переносить; пусто = весь диск
excludeисключить пути внутри выборки
sync_modecopy · new · update · mirror
target_pathпапка назначения на целевом облаке
file_typesрасширения без точки: jpg, pdf…
min_size / max_sizeразмер файла, байты
date_from / date_toYYYY-MM-DD
resumeпропускать уже перенесённые (по размеру)
auto_retryавтоповтор при сбоях — только Pro+

POST /uploads — targets

# multipart/form-data: file + targets (JSON) targets='[ {"connection_id": 1, "path": "Backups/db.sql"}, {"connection_id": 2, "path": "db.sql"} // Pro+: fan-out до 10 облаков ]'

Вебхуки

Привяжите URL к ключу (PATCH /api/apikeys/{id} в кабинете — поле webhook_url) — на него уйдёт подписанный POST при завершении работ:

transfer.finishedtransfer_id, status, total_size, failed_files, batch_id…
remote.finishedjob_id, status, file_name, batch_id, processed_size, error
upload.finishedjob_id, status, source, filename, targets, succeeded
webhook.testтестовый пинг из кабинета
POST <ваш URL> X-CloudBridge-Event: transfer.finished X-CloudBridge-Signature: sha256=<hmac-sha256(body, webhook_secret)> {"event":"transfer.finished","data":{"transfer_id":123,"status":"completed",…}}

MCP — для AI-агентов

Тот же ключ открывает MCP-сервер — подключите CloudBridge к Claude, Cursor или Devin, и агент сможет листать файлы, запускать переносы и создавать ссылки голосом/текстом. Endpoint:

{ "mcpServers": { "cloudbridge": { "url": "https://cloud-bridge.ru/api/mcp", "headers": { "X-API-Key": "cb_live_…" } } } }
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 расходуют тот же месячный лимит тарифа. Созданный перенос сразу виден в кабинете.