# Upload a PDF file for use as model input.

Source: <https://everruns.com/docs/api/operations/upload_file/>

POST

/v1/files

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/files';
const options = {method: 'POST', headers: {'Content-Type': 'multipart/form-data'}};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request POST \
  --url https://app.everruns.com/api/v1/files \
  --header 'Content-Type: multipart/form-data'
```

* Production APIapp.everruns.com/api/v1/files

## Parameters

### Query Parameters

**session\_id**

string | null

Optional session to attribute the upload to.

## Request Bodyrequired

Media typemultipart/form-data

string

## Responses

### 201

File uploaded

Media typeapplication/json

File metadata returned after a successful upload (no binary data).

object

**content\_type**

required

MIME type of the stored file (currently always application/pdf).

string

**created\_at**

required

Upload timestamp.

string format: date-time

**filename**

Original filename supplied at upload, if known.

string | null

**id**

required

string

**size\_bytes**

required

Size of the stored file in bytes.

integer format: int64

##### Example

```json
{
  "content_type": "application/pdf",
  "created_at": "2026-01-04T11:23:00Z",
  "filename": "report.pdf",
  "id": "file_01933b5a00007000800000000000001",
  "size_bytes": 1048576
}
```

### 400

Invalid file

### 413

File too large