Skip to content

List this tenant's renders

GET
/v1/renders
curl --request GET \
--url https://example.com/v1/renders \
--header 'Authorization: Bearer <token>'

List renders (final artifacts of succeeded compose/edit jobs), newest first — always scoped to the calling principal (client_id injected).

Phase C: the listing is driven by client_id (assets table); tenant_id is included transitionally so pre-Phase-C renders (no asset row) can still surface on the legacy path when studio falls back to it.

category
Any of:
string

Keep renders whose request carries this product_garment_category_public_id.

origin
Any of:
string
Allowed values: compose edit

Restrict to one family: compose (product-to-model) or edit (swaps).

limit
Any of:
integer
>= 1 <= 200
offset
Any of:
integer
X-Shopify-Hmac-Sha256
Any of:
string

Successful Response

Media typeapplication/json
RenderListResponse

Paged GET /v1/renders response.

object
renders
Renders

The page of renders, newest first.

Array<object>
RenderResponse

One render — the final artifact of a succeeded compose / edit job.

The render’s identity IS the originating job’s ULID public_id. inputs echoes the job’s request with raw S3 keys stripped upstream (presigned *_image_url siblings stand in for them).

object
public_id
required
Public Id

The originating job’s ULID public_id.

string
job_type
required
Job Type

The originating job type (UPPER_SNAKE).

string
origin
required
Origin

“compose” (product-to-model) or “edit” (swap).

string
image_url
required
Image Url

Short-lived presigned GET URL for the final render image.

string
inputs
Any of:
object
key
additional properties
any
created_at
required
Created At

Job creation timestamp (UTC).

string format: date-time
limit
required
Limit

Page size that was applied.

integer
offset
required
Offset

Page offset that was applied.

integer
count
required
Count

Number of renders in this page.

integer
Examplegenerated
{
"renders": [
{
"public_id": "example",
"job_type": "example",
"origin": "example",
"image_url": "example",
"inputs": {},
"created_at": "2026-04-15T12:00:00Z"
}
],
"limit": 1,
"offset": 1,
"count": 1
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}