---
title: "Upload files"
method: POST
path: "/uploads/{owner}/{id}/files"
tags: ["files"]
---

# Upload files

`POST /uploads/{owner}/{id}/files`

## Request

- Base URL: `https://api.data.world/v0`
- URL: `https://api.data.world/v0/uploads/{owner}/{id}/files`
- Auth: HTTP bearer

"Upload multiple files at once to a dataset.

This endpoint expects requests of type `multipart/form-data` and you can include one or more parts named
`file`, each containing a different file to be uploaded.

For example, assuming that you want to upload two local files named `file1.csv` and `file2.csv` to a
hypothetical dataset `https://data.world/awesome-user/awesome-dataset`, this is what the cURL command
would look like.

```bash
curl \
  -H "Authorization: Bearer <YOUR_API_TOKEN>" \
  -F "file=@file1.csv" \
  -F "file=@file2.csv" \
  https://api.data.world/v0/uploads/awesome-user/awesome-dataset/files
```

Swagger clients may limit this method of upload to one file at a time. Other HTTP clients capable of
making multipart/form-data requests can be used to upload multiple files in a single request."

## Path parameters

- `owner` string, required
- `id` string, required

## Query parameters

- `expandArchives` boolean

## Request body `multipart/form-data`

- object
  - `file` string, binary, required: Multipart-encoded file contents

## Response `200`

default response

- SuccessMessage
  - `message` string

## Changes

- **2026-11-03** `a1f78a95dfc1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/data/apis/data-world-public-api/changes/uploads/:owner/:id/files/post.md)

---

[API](https://skmtc.dev/data/apis/data-world-public-api.md) - [All operations](https://skmtc.dev/data/apis/data-world-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/data/apis/data-world-public-api/revisions/a1f78a95dfc1?raw)
