Skip to content

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.

Let a person look at every frame before it reaches your store.

  1. Generate. Your software starts the shoots and polls them until they are ready. See Frames.

  2. 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.

  3. 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’s external_id to 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.

When your own software does the review, approve a ready frame directly:

Terminal window
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.
Terminal window
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.