Доступ к модулю по API контролируется с помощью компонентов APIComponent. Есть несколько типов таких компонентов, каждый из которых отвечает за свой набор функционала.
- Файловый API
- ML-компонент
- Общая работа с пайплайнами
- Отдельный пайплайн
Все API запросы работают по ссылкам вида `https://platform.stratpro.hse.ru/app-name/<api>`.
Здесь `app-name` - название приложение, оно же указано в пункте `namespace` во всех компонентах приложения.
## Авторизация
## Файловый API
### Работа с файловым API
URL запросов к файловому API имеют вид `https://platform.stratpro.hse.ru/app-name/files/box-name/<path>`.
Здесь `box-name` - это имя компонента DataBox, к которому обращается запрос.
Файловый API позволяет загружать файлы в файловое хранилище и получать уже загруженные файлы. Загрузка папок со всем содержимым не предусмотрена, в таких случаях предполагается автоматизация запросов на загрузку отдельных файлов.
#### Пример загрузки и скачивания файла через сервис `files`.
Для загрузки файла можно использовать следующий запрос `PUT`:
```sh
curl -X PUT https://https://platform.stratpro.hse.ru/app-name/files/box-name/my_dir/my_file.txt -H "Content-Type: application/json" -u "developer:<password>"
```
Это запрос:
1.К приложению `app-name`.
2.К файловому API (у которого endpoint всегда `files`).
3.К ящику `box-name`.
4.К пути `my_dir/my_file.txt` внутри ящика.
5. От имени пользователя модуля `developer`, пароль которого - `<password>`.
Даже если запрос верный, сам файл на данном этапе не создаётся. Вместо этого должен прийти ответ в формате JSON: