Skip to main content

POST /api/posts

Creates a new photo post with images, tags, and optional recipe link.
Requires authentication.

Request Body

{
  "title": "Golden hour in Tokyo",
  "caption": "Shot on Classic Chrome with the X-T5",
  "cameraModel": "X-T5",
  "filmSimulation": "Classic Chrome",
  "recipeId": "uuid (optional)",
  "tags": ["street", "golden-hour", "tokyo"],
  "images": [
    { "imageUrl": "https://...", "isCover": true, "order": 1 },
    { "imageUrl": "https://...", "isCover": false, "order": 2 }
  ],
  "taggedUserIds": ["uuid1", "uuid2"]
}
FieldTypeRequiredValidation
titlestringYes5-30 characters
captionstringNoMax 200 characters
cameraModelstringNo
filmSimulationstringNo
recipeIdUUIDNoMust be a valid recipe
tagsstring[]No
imagesarrayYesAt least 1 image
taggedUserIdsUUID[]NoCreates notifications

Response (201)

{
  "message": "Post created successfully",
  "post": {
    "id": "uuid",
    ...
  }
}