---
title: "Create a new PWATemplate"
method: POST
path: "/api/v1/pwa_template"
tags: ["PWATemplate"]
---

# Create a new PWATemplate

`POST /api/v1/pwa_template`

Create a new PWATemplate and fill in the details

## Request body

- CreatePWATemplateDTO — Request body for creating a template: the name plus whatever media it starts with.
  - `logoAssetId` string, uuid, nullable — Media Library asset id for the logo
  - `backgroundAssetId` string, uuid, nullable — Media Library asset id for the background
  - `screenshots` ScreenshotRefDTO[], nullable — Ordered mixed screenshots (library asset id or retained key)
    - `assetId` string, uuid, nullable — Library asset id for a freshly-picked screenshot
    - `key` string, nullable — Retained screenshot: a full URL or bare S3 key kept as-is
  - `removeLogo` boolean — Clear the logo
  - `removeBackground` boolean — Clear the background
  - `pwaTemplateName` string, required — Template name

## Response `201`

Successful Response

- PWATemplateResponseDTO
  - `id` string, uuid, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/pwapps/apis/curie-api.md) · [All operations](https://skmtc.dev/pwapps/apis/curie-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pwapps/curie-api/revisions/b0af9064dfef/schema)
