Перейти к содержимому

Save Text Content

PUT
/v1/objects/{object_id}/content
curl --request PUT \
--url https://api.cloud.agentums.ru/v1/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/content \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "base_version": 1, "text": "example" }'

Сохранить правку содержимого файла (редактор «как текст»).

Прямой текст (txt/md/код/разметка) — записываем байты СРАЗУ (overwrite_object_bytes), объект пере-обогащается по новому содержимому. docx/pdf — пересобираем фоном из markdown (Celery doc_edit.run); следить за готовностью по /content-status/{task_id}.

base_version (опционально) — оптимистичная блокировка (E0): правка применяется, только если версия файла не изменилась с момента открытия редактора, иначе 412. Прежние байты снимаются ревизией перед перезаписью, автор правки — владелец ключа.

object_id
required
Object Id
string format: uuid
x-hidden-token
Any of:
string
Media typeapplication/json
ObjectContentUpdate

Правка содержимого файла. base_version — версия объекта, поверх которой правили (оптимистичная блокировка E0): если файл успели изменить в другой вкладке/сеансе, сервер ответит 412, а не молча затрёт чужую правку. None — проверку не делаем (легаси-клиенты и агентский путь продолжают работать как раньше).

object
base_version
Any of:
integer
>= 1
text
required
Text
string
<= 5000000 characters
Examplegenerated
{
"base_version": 1,
"text": "example"
}

Successful Response

Media typeapplication/json
ObjectContentSaved

Итог сохранения правки. status: saved (текст записан сразу) | accepted (docx/pdf пересобирается фоном — следить по task_id через /content-status).

object
object_id
required
Object Id
string format: uuid
status
required
Status
string
task_id
Any of:
string
Examplegenerated
{
"object_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"status": "example",
"task_id": "example"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}