> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.erlcrussia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Інтеграція з CDN

> Як підключити файли команди до сайту, Next.js або CI/CD.

CDN зберігає файли команди й роздає їх за публічними адресами. Керування — через API V3 з ключем, роздача файлів ключа не потребує.

| Завдання | Як зробити |
| - | - |
| Зображення, документи, відео | Завантажте через `POST /v3/cdn/assets` і використовуйте публічну адресу |
| Файл за посиланням | `POST /v3/cdn/assets/external` завантажить його до CDN |
| Звичайний HTML/CSS | Повні адреси CDN у `src`, `href` і `url()` |
| Next.js | [Інструкція для Next.js](https://apidocs.erlcrussia.com/uk/tutorials/nextjs-cdn-integration.md) |
| Свій домен | [Свої CDN-домени](https://apidocs.erlcrussia.com/uk/tutorials/cdn-custom-domains.md) |
| Релізи з CI/CD | [CI/CD і скидання кешу](https://apidocs.erlcrussia.com/uk/tutorials/cdn-cache-purge-cicd.md) |

## Доступ

Спершу прив'яжіть ключ до команди:

```bash theme={null}
curl -X PUT https://api.erlcrussia.com/v3/cdn/team \
  -H 'erlcrussia-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"teamId":"YOUR_TEAM_ID"}'
```

Власник ключа повинен мати роль у команді з доступом до CDN; членство перевіряється під час кожного запиту. Ключ передається лише в заголовку `erlcrussia-api-key`.

## Адреси файлів

Кожен файл задається парою «простір + шлях». Простір — slug команди або підтверджений [свій домен](https://apidocs.erlcrussia.com/uk/tutorials/cdn-custom-domains.md).

* Спільний домен: `https://cdn.erlcrussia.com/YOUR_TEAM_SLUG/images/logo.png`
* Свій домен: `https://files.example.com/images/logo.png`

На спільному домені команді доступний лише шлях `/{slug}/...`. Якщо `path` не вказано під час завантаження, він створюється автоматично за типом файлу.

Якщо файл із таким `path` уже є, відповідь 409, а файл не перезаписується. Для нових версій використовуйте новий шлях.

## Папки

| Дія | Що відбувається з файлами |
| - | - |
| Створення, перейменування, видалення папки | Нічого: адреси файлів не змінюються |
| `PATCH /cdn/assets` з `folderId` | Файл переноситься до іншої папки в інтерфейсі |
| `PATCH /cdn/assets` з `path` | Файл отримує нову адресу |
| Папка з `pathEnabled: true` | Нові завантаження без `path` отримують префікс папки |

## Загальні параметри

| Параметр | Значення |
| - | - |
| `domain` | Простір. За замовчуванням — простір команди ключа |
| `ids` | ID файлів через кому |
| `path` | Точний шлях файлу |
| `prefix` | Префікс шляху для групи файлів |
| `folderId` | Папка: `root` — без папки, `all` — усі |
| `page, limit` | Сторінки списку, `limit` до 100 |

## Кеш

Відповідь CDN містить `X-Cache` (кеш CDN) і `CF-Cache-Status` (Cloudflare). Скидання кешу (`POST /cdn/assets/purge`) приймається одразу, а виконується у фоні. Надійніше публікувати нові версії за новими адресами, ніж замінювати старі файли. Докладніше — у розділі [CI/CD і скидання кешу](https://apidocs.erlcrussia.com/uk/tutorials/cdn-cache-purge-cicd.md).

## Часті відповіді

| Відповідь | Що означає |
| - | - |
| 401, код 5007 | Немає ключа |
| 403, код 5009 | Немає доступу до CDN команди |
| 409, код 5135 | Шлях уже зайнятий |
| 429, код 5016 | Перевищено ліміт запитів |

Особисті файли користувачів сайту описано в розділі [Особисті файли](https://apidocs.erlcrussia.com/uk/other/user-assets.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.