---
title: "Publicv1Documentsrouter.Confirm Document Uploads"
method: POST
path: "/v1/documents/confirm-upload"
tags: ["v1"]
---

# Publicv1Documentsrouter.Confirm Document Uploads

`POST /v1/documents/confirm-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/documents/confirm-upload`
- Auth: OAuth 2
  - Password
  - Token URL: `token`

Confirm that documents in a matter have been uploaded to the signed URLs.
Maximum of 100 documents per request.

## Request body

- ConfirmDocumentsUploadRequest
  - `externalMatterId` string, nullable: External ID of the matter. Exactly one of external_matter_id or external_lead_id must be provided (mutually exclusive)
  - `externalLeadId` string, nullable: External ID of the lead. Exactly one of external_matter_id or external_lead_id must be provided (mutually exclusive)
  - `externalDocumentIds` string[], required: List of external document IDs

## Response `200`

Successful Response

- ConfirmDocumentsUploadResponse
  - `successfulDocuments` Document[], required: List of documents
    - `id` string, uuid, required: ID of the document
    - `externalId` string, required: External ID of the document
    - `fileName` string, required: Name of the document
    - `folderPath` string, nullable: Path to the folder containing the document
    - `displayName` string, nullable: Display name of the document
    - `createdAt` string, required: ISO timestamp of when the document was created
    - `updatedAt` string, required: ISO timestamp of when the document was last updated
    - `status` 'UPLOADING' | 'INDEXING' | 'READY' | 'FAILED_UPLOADING' | 'FAILED_INDEXING' | 'UNSUPPORTED', required: Tracks the status of a copilot document
    - `contentVersion` string, required: Version of the content of the document
    - `mimeType` string, required: MIME type of the document
    - `failedReason` string, nullable: Reason the document failed to upload
  - `failedDocuments` DocumentConfirmFailure[], required: List of documents that not be confirmed uploaded
    - `externalDocumentId` string, required: ID of the document
    - `status` 'UPLOADING' | 'INDEXING' | 'READY' | 'FAILED_UPLOADING' | 'FAILED_INDEXING' | 'UNSUPPORTED': Tracks the status of a copilot document
    - `failureType` 'NOT_FOUND' | 'INVALID_STATUS' | 'OTHER', required
    - `failureReason` string, nullable: Failure reason

## Other responses

- `401`: Unauthorized
- `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)
