---
title: "Upload media"
method: POST
path: "/media"
tags: ["Media"]
---

# Upload media

`POST /media`

## Request

- Base URL: `https://api.woopsocial.com/v1`
- URL: `https://api.woopsocial.com/v1/media`
- Auth: HTTP bearer

Uploads a media file in a single request and creates a media item.

The server determines the media MIME type from the uploaded file.
Send a `multipart/form-data` request with the file in the `file` field.

Example:

```bash
curl -X POST 'https://api.woopsocial.com/v1/media?projectId=YOUR_PROJECT_ID' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'file=@/path/to/image.jpg'
```

Use this endpoint for straightforward uploads up to 100 MB.

For larger files, or when you need presigned part URLs, use the upload
session flow under `/media/upload-sessions`.

## Query parameters

- `projectId` string, required

## Response `200`

Media uploaded.

- CreateMediaResponse
  - `mediaId` string, required: Media identifier.

## Other responses

- `429`: Too many requests are already in progress for this API key.

---

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