> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# Multipart file upload

> Document endpoints with the `multiform` content type.

Fern Definition isn't recommended for new customers and Fern isn't accepting feature requests for this format. It remains supported for existing users.

Endpoints in Fern are defined underneath the `endpoints` key. If your endpoint request includes file uploads, you can use the `file` type to indicate the request is of a `multiform` content type. The example below demonstrates an endpoint which includes a file in the request body.

#### document.yml

```yaml {12}
service:
  base-path: /documents
  auth: false
  endpoints:
    uploadDocument:
      path: /upload
      method: POST
      request:
        name: UploadDocumentRequest
        body:
          properties:
            file: file
```

Within a given multipart request, a string parameter with `format:binary` will represent an arbitrary file.

## List of files

If your endpoint supports a list of files, then your request body must indicate such.

#### document.yml

```yaml {12}
service:
  base-path: /documents
  auth: false
  endpoints:
    uploadDocuments:
      path: /upload
      method: POST
      request:
        name: UploadDocumentsRequest
        body:
          properties:
            files: list<file>
```