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

# Get Signed Download URL

> Retrieve a secure, pre-signed download URL for a file in process storage.

### Body Parameters

<ParamField body="subProjectId" type="string" placeholder="sp_123" required>
  The unique identifier for the sub-project.
</ParamField>

<ParamField body="processId" type="string" placeholder="proc_123" required>
  The unique identifier for the process associated with the file.
</ParamField>

<ParamField body="fileId" type="string" placeholder="file_123" required>
  The unique ID of the file to download.
</ParamField>

### Response

<ResponseField name="urls" type="object[]">
  <Expandable title="properties">
    <ResponseField name="fileId" type="string">
      The unique identifier for the requested file.
    </ResponseField>

    <ResponseField name="url" type="string">
      The temporary pre-signed download URL.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash theme={null}
  curl --location 'https://api.sarasfinance.com/v1/process/knowledges/urlStorage' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
      "subProjectId": "93d599a6-a396-4ef6-b30e-aff95c56c523",
      "processId": "ef341826-1cab-4680-aa52-efd001f9da00",
      "fileId": "file_cf90172b"
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "urls": [
      {
        "fileId": "file_cf90172b",
        "url": "https://gf-saras-storage.s3.amazonaws.com/uploads/litigation_brief.txt?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1442431600&Signature=vjbyPxybdZaNmGaEXAMPLE="
      }
    ]
  }
  ```
</ResponseExample>

### Error Codes

| Code                                       | ID   | Description                              |
| :----------------------------------------- | :--- | :--------------------------------------- |
| `ERROR_PROCESS_META_IS_MISSING_IN_REQUEST` | 1200 | Metadata missing in request              |
| `ERROR_SUBPROCESS_META_NOT_FOUND`          | 1202 | Sub-project metadata not found           |
| `ERROR_FILE_ID_NOT_FOUND`                  | 1704 | File ID does not exist                   |
| `ERROR_STORAGE_PRESIGN_FAILED`             | 1709 | Presigned download URL generation failed |
