Approve and publish frames
A ready frame is a draft. It is deleted at its expires_at unless it is approved. Approving keeps
it: the frame is saved as a photo on its product, and its expires_at becomes null.
The pattern we recommend
Section titled “The pattern we recommend”Let a person look at every frame before it reaches your store.
-
Generate. Your software starts the shoots and polls them until they are ready. See Frames.
-
Review in Shootika. Someone on your team opens the frames in the web app at panel.shootika.com, under Photos in the menu (the Shoots history page), and chooses Save to product on the ones to keep. Saving there approves the frame, the same as the API call below. Frames nobody keeps expire on their own.
-
Publish. Your software lists the approved frames and puts each one on the matching product in your store:
Terminal window curl "https://api.shootika.com/v1/frames?approved=true&product_id=$PRODUCT_ID" \-H "Authorization: Bearer $SHOOTIKA_API_KEY"Each frame’s picture is at
image.url. Use the product’sexternal_idto find the product in your store. The platform recipes show the store-side call for each platform.
Approving does not change your store by itself: on a web app store the frame is saved in Shootika, and your software decides what to publish.
Approve with the API
Section titled “Approve with the API”When your own software does the review, approve a ready frame directly:
curl -X POST https://api.shootika.com/v1/frames/$FRAME_ID/approval \ -H "Authorization: Bearer $SHOOTIKA_API_KEY"The answer is 200 with the frame, now approved: true with an approved_at. You can send an
Idempotency-Key to make a retry safe (see
Idempotency and retries).
| Status | Code | Why |
|---|---|---|
409 |
not_ready |
The frame is still queued or processing. A failed or canceled frame answers this too, with a message telling you to shoot it again. |
409 |
attach_conflict |
The frame is already approved, or its approval is still running. The message says which. |
409 |
result_purged |
The frame expired and was deleted. |
409 |
approval_unavailable |
The frame cannot be approved in this store. |
404 |
not_found |
No frame with that id in your store. |
Take an approval down
Section titled “Take an approval down”curl -X DELETE https://api.shootika.com/v1/frames/$FRAME_ID/approval \ -H "Authorization: Bearer $SHOOTIKA_API_KEY"The frame is removed from its product and goes back to expiring like an unapproved frame. The
answer is 200 with the frame. On a frame that is not approved it is 409 attach_conflict.
If your software already published the frame to your store, remove it there too.