products/<gtin>/images/ page
(and its images/new/, images/<id>/edit/, images/<id>/delete/
sub-pages).
When to use
- A brand owner needs to add, review, or remove images attached to a product.
Auth
X-API-Key header or OAuth token with dashboard:write scope. The caller
must be a member of organization_id and hold the
organization.contribute_organization permission on their membership; the
product must be owned by that organization.
Flow
- List — paginated, primary image first, then ascending
priority, then most-recent upload. - Upload (
multipart/form-data) — accepts JPEG, PNG, GIF, WebP, SVG, or BMP. When the uploaded image is markedis_primary, the previously primary image (if any) is automatically demoted, so at most one image per product carries the flag. - Delete — removes a single image row;
image_idmust belong to the targeted product.
201 on upload with the created image row, 403 for a caller
missing the contribute permission, 404 for a GTIN/image not owned by
organization_id, 422 for an unsupported file type.
Notes
The Dashboard API (/dashboard/api/v1/...) is internal-only tooling powering
this dashboard, not a general-purpose external integration surface — but it
is the real, documented write path for this workflow and safe to call with a
scoped dashboard:write token.