## Картинки блока

`POST /v1/pages/:pageId/blocks/:blockId/files`

Загружает только картинку через стандартный base64. URL-режим не поддерживается. Лимит JSON-тела 40 MiB, примерно 30 MiB исходного файла. Ответ: {fileId, url}. Файл привязан к блоку и удаляется с ним. Для показа картинки вызовите PATCH nodes с {src: url}.

Требуется скоуп `landing`; READONLY-ключ получает 403 до обращения к Б24.

## Параметры

`pageId` и `blockId`: положительные целые безопасные числа; блок должен принадлежать странице. Необязательный query `scope=KNOWLEDGE|GROUP|MAINPAGE` для контекста страницы.

## Пример

```bash
curl -X POST "https://vibecode.bitrix24.tech/v1/pages/42/blocks/7/files" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fileName":"pixel.png","contentBase64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII="}'
```

## Ответ

```json
{
  "success": true,
  "data": {
    "fileId": 17,
    "url": "https://cdn.example.com/pixel.png"
  }
}
```

HTML — строка данных: при отображении используйте санитайзер. Отсутствующие в ответе Б24 nodes/styles/attrs/cards возвращаются пустыми объектами; сохранённые значения видны в content.

## Ошибки

400 `INVALID_PARAMS` / `MISSING_REQUIRED_FIELDS` / `INVALID_SCOPE`; 403 `SCOPE_DENIED` / `WRITE_BLOCKED_READONLY_KEY`; 404 `ENTITY_NOT_FOUND`; 409 `LANDING_MODULE_NOT_ENABLED` / `PORTAL_ADDRESS_CHANGED`; 413 `PAYLOAD_TOO_LARGE`; 422 `BITRIX_ERROR`; 429 `LARGE_BODY_BACKEND_BUSY` / rate limit, 502, 503.
