---
title: "Get presigned URLs for recording uploads"
method: POST
path: "/api/v1/workflow-recordings/upload-url"
tags: ["main", "workflow-recordings"]
---

# Get presigned URLs for recording uploads

`POST /api/v1/workflow-recordings/upload-url`

## Request

- Base URL: `https://app.dograh.com`
- URL: `https://app.dograh.com/api/v1/workflow-recordings/upload-url`
- Auth: none declared

Generate presigned PUT URLs for uploading one or more audio recordings.

## Headers

- `authorization` string, nullable
- `X-API-Key` string, nullable

## Request body

- BatchRecordingUploadRequestSchema: Request schema for getting presigned upload URLs for one or more files.
  - `files` FileDescriptor[], required: List of files to upload
    - `filename` string, required: Original filename of the audio file
    - `mime_type` string: MIME type of the audio file
    - `file_size` integer, required: File size in bytes (max 5MB)

## Response `200`

Successful Response

- BatchRecordingUploadResponseSchema: Response schema with presigned upload URLs.
  - `items` RecordingUploadResponseSchema[], required: Upload URLs for each file
    - `upload_url` string, required: Presigned URL for uploading the audio
    - `recording_id` string, required: Short unique recording ID
    - `storage_key` string, required: Storage key where file will be uploaded

## Other responses

- `404`: Not found
- `422`: Validation Error

## Changes

- **2026-11-03** `faa00cf76fcb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dograh/apis/dograh-api/changes/api/v1/workflow-recordings/upload-url/post.md)

---

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