Skip to content

Создать пост

Request

Создаёт новый пост текущего пользователя.

Правила валидации:

  • text обязателен, не пустой, максимум 2000 символов
  • title обязателен, не пустой, максимум 150 символов
  • images должен содержать от 1 до 10 положительных ID файлов
  • tag обязателен, не пустой, максимум 30 символов

Доступ:

  • требуется JWT
  • role MASTER or role SALON is required
  • for role SALON, owner can write; admin needs SALON_PAGE_EDIT
  • все файлы из images должны быть доступны текущему пользователю и иметь purpose BLOG
Security
bearerAuth or jwtCookie
Bodyapplication/jsonrequired
textstring, [ 1 .. 2000 ] characters.*\S.*required
Example:"Новый образ"
titlestring, [ 1 .. 150 ] characters.*\S.*required
Example:"Маникюр"
imagesArray of integers, [ 1 .. 10 ] items, uniquerequired

IDs изображений поста. Порядок элементов сохраняется в ответах. Все файлы должны иметь purpose BLOG; ширина и высота исходного изображения должны быть не меньше 900, соотношение сторон — не больше 3:1.

Example:
[ 101, 102 ]
tagstring, [ 1 .. 30 ] characters.*\S.*required
Example:"Маникюр"
curl -i -X POST \
  https://felmee.com/api/blog \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "Новый образ",
    "title": "Маникюр",
    "images": [
      101,
      102
    ],
    "tag": "Маникюр"
  }'

Responses

Пост успешно создан

Bodyapplication/json
codeErrorstring or nullrequired

Устаревший camelCase-alias поля error_code; при ошибке оба поля содержат одинаковое значение.

successbooleanrequired

Флаг успешного выполнения запроса

messagestringrequired

Человекочитаемое описание результата

error_codestring or null(ERROR_CODE)required

Код ошибки. Для успешных ответов всегда null.

Enum:"invalid_body""unauthorized""not_found""conflict""object_modified_by_another_thread""action_too_late""too_many_request""code_is_gone""forbidden""user_blocked"
dataobject or null(PostResponse)required

Полезная нагрузка. Может быть объектом, массивом или null.

Response
{ "success": true, "message": "Post successfully created", "error_code": null, "data": { "id": 10, "text": "Новый образ", "title": "Маникюр", "master_id": 5, "date": "2026-05-05", "images": [], "tag": "Маникюр" } }