Bulk upsert photos
Photos
Bulk upsert photos
Bulk upsert external photos into a BuildPass photo folder idempotently.
POST
Bulk upsert photos
Requires
write:photos. Bulk upserts photos into a project gallery folder. projectId is required and must belong to the builder.
Upload attachment bytes first with POST /builders/{builderId}/attachments/bulk-upload, then pass each returned { key, regionId, type } as photos[].imageAttachment. This endpoint accepts JSON only.
Approved HTTPS imageUrl imports are supported only for hosts reviewed and enabled by BuildPass. If you want to import photos from your own image URL hosts, please contact BuildPass. The endpoint is idempotent by metadata.externalSourceId, so repeated sends skip existing photos.
When syncing the same external source again, pass the previously returned folderId so new photos are added to the same BuildPass folder. Omit folderId for a different external source, even when the folder name and date are the same.
Use DELETE /builders/{builderId}/photo-gallery/bulk-upsert with the same
externalSourceId and the currently selected projectId to archive photos
created for that external source and remove its now-empty persisted folder when
possible. The project identifies the caller’s authorized BuildPass context;
the deletion target is resolved from the external source’s persisted metadata,
which allows cleanup after the selected project changes. folderId remains
accepted for request compatibility but is not used as deletion authority.
For a retry after a prior copy was archived, an unclaimed folder ID may be
recreated in the authorized destination project; an ID already owned by another
project is rejected.Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Body
application/json
Example:
"supasite:photo-page:page_123"
Example:
"supasite"
Example:
"proj_ckproject123456789012345678"
Example:
"Site walkthrough - 2026-06-11"
Existing BuildPass photo folder id for this external source. Omit on first upsert to create a new folder.