Media
Upload raster images with `POST /api/v1/media`; optional `portfolio_id` on create attaches to a portfolio in one step.
Create media
POST /api/v1/media
Authorization: Bearer …
Content-Type: multipart/form-data
Idempotency-Key: …
| Field | v1 |
|---|---|
| File | Raster image (see Supported file types) |
title | Optional; defaults from filename |
portfolio_id | Optional; requires portfolios:write; preferred for confidential portfolios |
Supported file types
| Allowed | Not in v1 |
|---|---|
| JPEG, PNG, GIF, WebP, TIFF | RAW, SVG, video, PDF |
Official Lightroom, Capture One, and Photoshop clients currently export JPEG on publish. Custom integrators may upload any allowed type above.
The platform enriches EXIF from the uploaded file. Caption/description on create and RAW uploads are not in v1.
Read media
GET /api/v1/media/{id}
Requires media:read and workspace access to the row.
v1 limits
- Raster uploads only (no video on this endpoint in v1)
- No campaign, Impact Record, or page HTML creation via ingest client
- Same privacy rules as dashboard upload (IUCN, embargo,
storage_class)
Resumable/large-file upload sessions may ship later (POST …/media/uploads → complete).
