---
title: "Stores a media object"
method: POST
path: "/shop/media"
tags: ["Media"]
---

# Stores a media object

`POST /shop/media`

Uploads some Media and returns a Media object.

## Response `200`

The media was successfully uploaded.

- object
  - `data` Media, required
    - `id` string, uuid, required — Unique identifier of the uploaded media item, returned from `createMedia`. Pass this ID into any field that accepts a media reference (logos, hero images, product images, etc.).
    - `file_name` string, required — Original filename of the uploaded asset, preserved as provided at upload time. Used for display in the media library and as a hint when serving downloads.
    - `mime_type` string, required — The mime type of the media item.
    - `original_url` string, required — The url of the media resource.
    - `size` integer, required — The size of the media item in bytes.
    - `url` string, required — The url of the converted media resource.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `422` — The request didn't pass validation

---

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