---
title: "Create or replace a managed image through server-side administration"
method: PUT
path: "/v3/admin/images/{namespace}/{assetKey}"
tags: ["Images"]
---

# Create or replace a managed image through server-side administration

`PUT /v3/admin/images/{namespace}/{assetKey}`

Validates the file size, format, animation state, and pixel dimensions, then stores a normalized WebP image. Creation requires If-None-Match and replacement requires the exact current If-Match digest.

## Query parameters

- `sourceUrl` string, uri
- `sourceRepository` string

## Headers

- `If-Match` string
- `If-None-Match` '*'

## Response `200`

Existing image replaced after its If-Match digest was verified.

- object

## Other responses

- `201` — New image created with If-None-Match set to `*`.
- `400` — Bad request
- `401` — Unauthorized
- `412` — Precondition failed
- `413` — Request body too large
- `415` — Unsupported media type
- `422` — Validation error
- `428` — Precondition required
- `503` — Service unavailable

---

[API](https://skmtc.dev/euler/apis/euler-data-api-v3.md) · [All operations](https://skmtc.dev/euler/apis/euler-data-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/euler/euler-data-api-v3/revisions/9573a5fbd4a6/schema)
