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

# Создать ключ вложений

> Создаёт набор временных вложений для будущего сообщения или другого контента.

Создаёт набор временных вложений для будущего сообщения или другого контента.

Контекст должен соответствовать будущему содержимому: для нового поста — `type=post` и `context[node_id]`; для ответа в переписке — `type=conversation_message` и `context[conversation_id]`. Для новой переписки используется `conversation_message` без контекста. Файл при создании ключа необязателен. Сохраняйте ключ как секрет.

## Доступ

Передавайте `XF-Api-Key` в заголовке каждого запроса. [Типы ключей и выбор пользователя](/guard-forum/authentication).

Требуемые scopes: `attachment:write`. Все перечисленные разрешения нужны одновременно.

Права текущего API-пользователя проверяются отдельно от scopes. Для Super key контекст задаётся заголовком `XF-Api-User`.

## Параметры

**XF-Api-Key** `string` *required*

Секретный API-ключ. В примерах ключ берётся из серверной переменной `$FORUM_API_KEY`.

Тело запроса: `multipart/form-data`. Вложенные значения передавайте в форме с квадратными скобками в имени поля.

**type** `string` *required*

Тип содержимого вложения, например `post` или `conversation_message`. Доступные типы зависят от установленных обработчиков.

**context** `string[]`

Именованные значения контекста: передавайте как `context[node_id]=123` или другой набор, соответствующий будущему содержимому.

**attachment** `file`

Файл вложения. Передаётся файловой частью `multipart/form-data`.

## Ответ

HTTP `200`, JSON. [Схемы объектов и условные поля](/guard-forum/models).

**key** `string`

Секретный ключ созданного набора вложений. Используется для загрузок и последующей привязки к контенту.

**attachment** `Attachment`

Описание первого вложения. Поле возвращается, только если вместе с ключом успешно загружен файл.

Ошибки возвращаются в общей структуре `errors`. Обрабатывайте поле `code`; текст `message` может меняться или переводиться. [Формат ошибок](/guard-forum/requests-and-errors).

```bash cURL theme={null}
curl --request POST 'https://forum.arzguard.com/api/attachments/new-key' \
  --header "XF-Api-Key: $FORUM_API_KEY" \
  --form 'type=post' \
  --form 'context[node_id]=123'
```

```json 200 · условный пример theme={null}
{
  "key": "EXAMPLE_ATTACHMENT_KEY"
}
```

Примеры сокращены и содержат только условные значения. Состав полей объектов зависит от прав, контекста и установленных дополнений.


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