SH share.epimedia.ru API Back to file cloud

File Exchange API

REST API for private folders, resumable large uploads, short-lived download links, access audit, and transfer event webhooks.

1) Basic details

Base URL:https://share.epimedia.ru/api/v1
Format:JSON for metadata, binary stream for file content
Auth:Bearer token or scoped service token
Upload limit:50 GB per file, multipart required after 512 MB
Retention:Configurable per folder or share link

2) Authorization

Authenticate once, then pass the returned access token in every request.

Authorization: Bearer <access_token>
curl -X POST https://share.epimedia.ru/api/v1/auth/session \
  -H "Content-Type: application/json" \
  -d '{"login":"user@example.com","password":"********"}'

3) Endpoints

POST/auth/sessionauth

Create an authenticated session for the file portal.

{
  "login": "user@example.com",
  "password": "********"
}
GET/foldersfolders

List folders available to the current user with permissions and quota.

curl -H "Authorization: Bearer $TOKEN" \
  "https://share.epimedia.ru/api/v1/folders?include_quota=true"
POST/foldersfolders

Create a private folder and assign default access policy.

{
  "name": "Partner deliveries",
  "retention_days": 30,
  "visibility": "private"
}
POST/uploadsuploads

Start a resumable upload session and receive part URLs.

{
  "folder_id": "fld_8c91",
  "filename": "media-export.zip",
  "size": 18446744073,
  "checksum_sha256": "..."
}
PATCH/uploads/{upload_id}/parts/{part_no}uploads

Upload or retry one binary part. Parts can be sent in parallel.

curl -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @part-0007.bin \
  "https://share.epimedia.ru/api/v1/uploads/upl_74a/parts/7"
POST/uploads/{upload_id}/completeuploads

Finalize upload, verify checksum, and create the file object.

{ "parts": [1, 2, 3, 4, 5], "checksum_sha256": "..." }
GET/files/{file_id}files

Return metadata, version, size, checksum, owner, and retention state.

POST/files/{file_id}/download-linksharing

Create a short-lived signed download URL.

{
  "expires_in": 900,
  "max_downloads": 3,
  "watermark": false
}
DELETE/files/{file_id}files

Delete file or move it to retention hold, depending on folder policy.

GET/audit/eventsaudit

Search upload, download, login, delete, and permission events.

https://share.epimedia.ru/api/v1/audit/events?actor=user@example.com&range=24h

4) Webhooks

Register HTTPS callbacks for transfer lifecycle events.

file.uploadedFile passed checksum verification.
file.downloadedSigned URL was used.
upload.failedUpload expired or checksum failed.
share.expiredDownload link reached expiration or max downloads.

Webhook payloads include x-share-signature using SHA-256 HMAC.

5) Error format

{
  "error": {
    "code": "upload_session_expired",
    "message": "Upload session has expired. Start a new upload.",
    "request_id": "req_9f51e33c8a"
  }
}