Skip to content

List frames

GET
/frames
curl --request GET \
--url 'https://api.shootika.com/v1/frames?status=queued&approved=true&page=1&page_size=24' \
--header 'Authorization: Bearer <token>'

Lists the frames (generated photos) of your store, newest first. Filter with status, approved and product_id. The status and approved values are not case sensitive.

A product_id that is not a valid id answers 422 validation_error. A product_id that does not exist, or belongs to another store, answers 404 not_found. This differs from GET /scenes?model=, which returns an empty list. A product you deleted still lists its frames by its id.

status

queued waiting to start, processing being made, ready finished, failed could not be made (and refunded), canceled stopped.

string
Allowed values: queued processing ready failed canceled

Only frames with this status.

approved
string
Allowed values: true false

Only frames that are approved (true) or not approved (false).

product_id
string format: uuid

Only frames made from this product.

page
integer
default: 1 >= 1

Which page to return, starting at 1.

page_size
integer
default: 24 >= 1 <= 100

How many items per page. Default 24, at most 100.

One page of frames.

Media typeapplication/json
object
page
required
integer
page_size
required
integer
total
required

How many items match in all pages.

integer
frames
required
Array<object>
object
id
required
string format: uuid
product_id
required
string format: uuid
source_image_id
required
string format: uuid
scene_id
required
string format: uuid
regenerate_of
required

The frame this one retries, or null.

string | null format: uuid
status
required

queued waiting to start, processing being made, ready finished, failed could not be made (and refunded), canceled stopped.

string
Allowed values: queued processing ready failed canceled
approved
required
boolean
approved_at
required
string | null format: date-time
image
required
Any of:
object
url
required
string format: uri
width
required
integer | null
height
required
integer | null
expires_at
required

When an unapproved frame is deleted. Null once the frame is approved.

string | null format: date-time
error
required
Any of:
object
code
required
string
Allowed values: generation_failed generation_timeout service_busy
message
required
string
credit_refunded
required

True when the frame failed, because a failed frame is always refunded. Null otherwise.

boolean | null
created_at
required
string format: date-time
ready_at
required
string | null format: date-time
Example
{
"frames": [
{
"status": "queued",
"error": {
"code": "generation_failed"
}
}
]
}

bad_request: the request could not be read, for example a multipart body with no boundary.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}

unauthorized: the Authorization header is missing, or the key is not valid or has been revoked.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}

api_not_enabled when the API is not switched on for your store yet, store_uninstalled when the store has uninstalled Shootika, or forbidden when the key is not allowed to do that.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}

not_found: the product_id does not exist in your store.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}

method_not_allowed: this address does not accept that method. The Allow header lists the ones it does.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}
Allow
string

validation_error when status, approved or product_id is not a valid value. The details name the parameters.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}

rate_limited: more than 120 requests in a minute with this key. Wait the number of seconds in Retry-After.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}
Retry-After
integer

internal_error: something went wrong on our side. Try again.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}

service_busy: Shootika is busy right now. Try again in a moment.

Media typeapplication/json
object
error
required

What went wrong. Read code in your software; message is for people.

object
code
required
string
Allowed values: api_not_enabled approval_unavailable attach_conflict bad_request catalog_managed_by_shopify conflict daily_cap_reached external_id_taken family_unsupported forbidden idempotency_conflict idempotency_in_progress image_locked internal_error invalid_url media_processing_failed method_not_allowed not_an_image not_found not_ready payment_required quota_exceeded rate_limited result_purged scene_failed scene_generating scene_unsupported service_busy source_image_too_small store_uninstalled too_large unauthorized unreachable_url upload_failed validation_error
message
required

A plain sentence for a person.

string
details

Only present for some codes. For validation_error it maps each wrong field to a list of problems. For quota_exceeded and daily_cap_reached it describes the allowance.

object
key
additional properties
any
Example
{
"error": {
"code": "api_not_enabled"
}
}
Retry-After
integer