---
title: "Upload a gallery image"
method: POST
path: "/v1/projectId/{projectId}/gallery/images"
tags: ["Gallery"]
---

# Upload a gallery image

`POST /v1/projectId/{projectId}/gallery/images`

## Request

- Base URL: `https://api.bluefox.email`
- URL: `https://api.bluefox.email/v1/projectId/{projectId}/gallery/images`
- Auth: HTTP bearer

A multipart/form-data upload (not JSON like other create endpoints, since it carries a binary file). Allowed types: image/jpeg, image/png, image/gif - any other type 400s.

## Path parameters

- `projectId` string, required

## Response `201`

Created

- object
  - `status` integer
  - `result` GalleryImage: Every project gets its own slice of the account-wide media gallery, plus read/write access to any account-wide shared folder's images - but never another project's own private images.
    - `_id` string
    - `name` string
    - `url` string
    - `parentFolderId` string, nullable: The containing folder's _id, or null if the image is at the top level of this project's gallery.
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `400`: Invalid request body or query - every violation found (missing/invalid/unexpected fields) is reported in one response, semicolon-separated, not just the first one hit.
- `403`: Missing or invalid API key
- `404`: Parent folder not found

---

[API](https://skmtc.dev/bluefox/apis/bluefox-email-public-api.md) · [All operations](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/revisions/fa1a0a835c7f?raw)
