> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emporiaresearch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload an attachment

> Add a screener or other file to a project.

Uploads a file to a project. A project needs a `SCREENER` attachment before it can launch.

Send one file per request as `multipart/form-data`.

## Path parameters

**id** `string` *required*

Project ID.

## Body

**file** `file` *required*

The file to upload.

**type** `string` *required*

`SCREENER` or `OTHER`.

## Response

**id** `string` *required*

Attachment ID.

**type** `string` *required*

`SCREENER` or `OTHER`.

**fileName** `string` *required*

File name.

**contentType** `string` *required*

MIME type.

**sizeBytes** `integer` *required*

Size in bytes.

**createdAt** `string` *required*

UTC timestamp.

## Errors

General errors are listed in the [Overview](https://docs.emporiaresearch.com/demand-api/overview.md#errors).

| Status | Code | When |
| - | - | - |
| 400 | `INVALID_FILE` | `file` is missing, empty or an unsupported type. |
| 400 | `INVALID_ATTACHMENT_TYPE` | `type` is missing or isn't `SCREENER` or `OTHER`. |
| 404 | `PROJECT_NOT_FOUND` | No project with this ID exists for your account. |
| 409 | `PROJECT_CLOSED` | The project is `CLOSED`. |

```http Request theme={null}
POST /v1/projects/4f1a9c2e7b3d4a8e9c6b2d5f8a1e3c7b/attachments
Authorization: Bearer <api_key>
Content-Type: multipart/form-data; boundary=----boundary

------boundary
Content-Disposition: form-data; name="type"

SCREENER
------boundary
Content-Disposition: form-data; name="file"; filename="screener.pdf"
Content-Type: application/pdf

<file bytes>
------boundary--
```

```json 201 theme={null}
{
  "id": "b7d2e9a4c1f84b3e8a6d5c2f9e1a7b4d",
  "type": "SCREENER",
  "fileName": "screener.pdf",
  "contentType": "application/pdf",
  "sizeBytes": 184320,
  "createdAt": "2026-10-27T16:24:03.551207Z"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.