---
title: "Upload Document for Intake Request Item"
method: POST
path: "/internal/api/clients/{client_id}/intake-requests/{request_id}/upload"
tags: ["CLIENT", "Intake Requests"]
---

# Upload Document for Intake Request Item

`POST /internal/api/clients/{client_id}/intake-requests/{request_id}/upload`

## Request

- Base URL: `https://api.signalshq.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.signalshq.io/internal/api/clients/{client_id}/intake-requests/{request_id}/upload`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Upload a document for a specific intake request item (CPA dashboard). Allows CPAs to upload documents on behalf of clients.

## Path parameters

- `request_id` string, uuid, required
- `client_id` string, uuid, required: Client ID

## Request body `multipart/form-data`

- BodyUploadDocumentForIntakeRequestInternalApiClientsClientIdIntakeRequestsRequestIdUploadPost
  - `file` string, binary, required: Document file to upload
  - `item_id` string, uuid, required: ID of the specific request item being fulfilled
  - `notes` string, nullable: Optional notes about this document

## Response `201`

Successful Response

- DocumentUploadResponse: Schema for successful dashboard document upload
  - `success` boolean: Whether the upload was successful
  - `message` string, required: Success message
  - `item_id` string, uuid, required: ID of the request item that was uploaded
  - `document_id` string, uuid, required: ID of the uploaded document
  - `document_name` string, required: Name of the uploaded document
  - `file_size` integer, required: Size of the uploaded file in bytes
  - `uploaded_at` string, date-time, required: When the document was uploaded
  - `request_info` UploadRequestInfo, required: Schema for upload request information
    - `request_title` string, required: Title of the upload request
    - `completed_items` integer, required: Number of completed items
    - `total_items` integer, required: Total number of items (excluding voluntary documents)
    - `remaining_items` integer, required: Number of remaining items to upload
    - `uploaded_items` integer, required: Number of uploaded items (alias for completed_items, kept for backward compatibility)
    - `status` string, required: Status of the upload request
    - `can_submit` boolean, required: Whether the request can be submitted

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/signalshq/apis/signals-api.md) - [All operations](https://skmtc.dev/signalshq/apis/signals-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signalshq/apis/signals-api/revisions/2c22af3b5576?raw)
