---
title: "Render a design and return a time-limited signed URL"
method: POST
path: "/designs/v2/{id}/export/signed-url"
tags: ["Render"]
---

# Render a design and return a time-limited signed URL

`POST /designs/v2/{id}/export/signed-url`

## Request

- Base URL: `https://api.imejis.io`
- URL: `https://api.imejis.io/designs/v2/{id}/export/signed-url`
- Auth: HTTP bearer

Render, store privately, and return an expiring signed URL. Set the lifetime with `expiresIn` (minutes, default 60, max 7 days).

## Path parameters

- `id` string, required

## Query parameters

- `format` 'png' | 'jpeg' | 'webp' | 'pdf'
- `quality` integer
- `variation` string
- `draft` boolean
- `expiresIn` integer

## Request body

- object

## Response `200`

The signed URL and its expiry.

- object
  - `success` boolean
  - `url` string: The stored image URL.
  - `expiresAt` string, date-time: Signed delivery only — when the URL expires.
  - `format` 'png' | 'jpeg' | 'webp' | 'pdf'
  - `file` object

## Other responses

- `401`: Missing or invalid credentials.
- `404`: No such resource.
- `429`: Render quota is used up. Check remaining quota, then retry after the plan window resets (`data.resetAt`).

---

[API](https://skmtc.dev/imejis/apis/imejis-api.md) · [All operations](https://skmtc.dev/imejis/apis/imejis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/imejis/apis/imejis-api/revisions/4efd1a660d9c?raw)
