---
title: "Publicv1Matterrouter.Begin Custom Data Upload"
method: PUT
path: "/v1/matters/{external_matter_id}/custom-data/begin-upload"
tags: ["v1"]
---

# Publicv1Matterrouter.Begin Custom Data Upload

`PUT /v1/matters/{external_matter_id}/custom-data/begin-upload`

## Request

- Base URL: `https://app.eve.legal` (the document declares no server; this is the origin it was published from)
- URL: `https://app.eve.legal/v1/matters/{external_matter_id}/custom-data/begin-upload`
- Auth: OAuth 2
  - Password
  - Token URL: `token`

Get a presigned URL to upload custom data of up to 250 MB. Upload the JSON file to the URL,
then call confirm-upload.

## Path parameters

- `external_matter_id` string, required

## Response `200`

Successful Response

- BeginCustomDataUploadResponse
  - `signedUploadUrl` string, required: Presigned S3 URL for the JSON file. Send a PUT with Content-Type application/json. Valid for 1 hour.
  - `customData` CustomData, required
    - `matterId` string, uuid, required: Eve ID of the matter
    - `sizeBytes` integer, required: Size of the stored JSON in bytes
    - `uploadedAt` string, date-time, required: Time of the last stored custom data

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `422`: Validation Error

---

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