> This page is for version v8.3.0 (default).
> For other versions, use one of these documentation indexes:
> - v8.3.0 (default): https://docs.workflows.com/v-8-3-0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.workflows.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.workflows.com/_mcp/server.

# get_signed_upload_url

GET

# get_signed_upload_url

Generates a secure, time-limited URL for uploading transcript files to Mind Reasoner. The URL expires after 1 hour.

> **Info**
>
> For security, Mind Reasoner doesn't accept direct file uploads. This tool generates a signed URL that grants temporary upload permission.

## Parameters

### mindId

<table>
  <tr>
    <td>
      **Type**
    </td>

    <td>
      string
    </td>
  </tr>

  <tr>
    <td>
      **Required**
    </td>

    <td>
      Yes
    </td>
  </tr>

  <tr>
    <td>
      **Description**
    </td>

    <td>
      The mind ID from the 

      `create_mind`

       response
    </td>
  </tr>
</table>

## Request

```json
{
  "mindId": "abc-123-def-456"
}
```

## Response

```json
{
  "signedUrl": "https://storage.googleapis.com/bucket/path?signature=...",
  "fileName": "1234567890_uuid.vtt",
  "artifactId": "123e4567-e89b-12d3-a456-426614174004"
}
```

### Response Properties

| Property     | Type   | Description                                                                     |
| ------------ | ------ | ------------------------------------------------------------------------------- |
| `signedUrl`  | string | Pre-signed upload URL (expires in 1 hour). Use with `upload_file_to_signed_url` |
| `fileName`   | string | Generated safe filename for the artifact                                        |
| `artifactId` | string | **Required for snapshots** - Artifact identifier for use with `create_snapshot` |

## Supported File Formats

#### .vtt Files

**Content-Type:** `text/vtt`

Best for video call transcripts from Zoom, Teams, or Google Meet. Includes timestamps and speaker attribution.

#### .pdf Files

**Content-Type:** `application/pdf`

Best for documents, reports, and meeting notes. Preserves formatting and structure.

#### .docx Files

**Content-Type:** `application/vnd.openxmlformats-officedocument.wordprocessingml.document`

Best for Word documents and formatted transcripts. Easy to create and edit.

## File Size Guidelines

| Category    | Size       | Training Quality                    |
| ----------- | ---------- | ----------------------------------- |
| Optimal     | Under 10MB | Fast processing, good quality       |
| Recommended | 10-50MB    | Balanced speed and accuracy         |
| Maximum     | 100MB      | Longer processing, highest accuracy |

> **Note**
>
> **Minimum data required:** 30-50 conversations or 5,000+ words

## Error Responses

#### 404 Not Found

```json
{
  "error": "Not Found",
  "message": "Mind with ID 'abc-123' does not exist"
}
```

**Solution:** Verify the `mindId` is correct and ensure the mind wasn't deleted. Check you're using the mind ID, not the digital twin ID.

#### 401 Unauthorized

```json
{
  "error": "Unauthorized",
  "message": "Invalid or missing API key"
}
```

**Solution:** Verify your API key in the MCP server configuration and ensure the format is correct: `Bearer YOUR_KEY`.

#### 429 Rate Limit Exceeded

```json
{
  "error": "Too Many Requests",
  "message": "Rate limit exceeded. Retry after 60 seconds",
  "retryAfter": 60
}
```

**Solution:** Wait for the specified time before making additional requests.

## Next Steps

#### Upload File

[upload_file_to_signed_url](/mcp-tool-upload-file) - Upload your transcript file using the signed URL

## See Also

#### [create_mind](/mcp-tool-create-mind)

Create a mind first before requesting upload URLs

#### [upload_file_to_signed_url](/mcp-tool-upload-file)

Next step: Upload your file