Place a library file on a product
Puts a file that is already in the library onto this product. The new record shares the source’s file rather than copying it, so nothing is uploaded and no image is reprocessed; it carries its own alt text, position and variant links from here on.
Required scope: write_products (for API-key authentication).
Authorizations
Secret API key for admin access
JWT token for admin user authentication
Headers
Bearer token for admin authentication
Path Parameters
Product ID
Body
Identities the record has in external systems, keyed by system: the same { system: external_id } map the Admin API renders, so what you read can be sent straight back. Systems you do not name keep the reference they have. A list of { system, external_id } entries is accepted too.
"Front view"
1
Defaults to image. video needs a signed_id; external_video needs an external_video_url.
image, video, external_video "image"
YouTube or Vimeo link. Required when media_type is external_video.
A signed_id from files.upload() for a video's poster frame.
Where the image is anchored when cropped, from 0 to 1.
Where the image is anchored when cropped, from 0 to 1.
The file itself, sent as multipart form data. JSON clients upload first and send signed_id.
Fetch an image from this URL, in the background. Images only: an external video uses external_video_url.
A signed_id from files.upload() for the media file itself.
Place a file that is already in the library. The new row shares the source file rather than copying it, and takes its own alt, position and variant links from here.
Variants to link this product-level media to. Variants of other products are dropped.
Response
file placed
image, video, external_video 
