---
title: "Upload audio file"
method: POST
path: "/api/products/{productId}/audios/upload"
tags: ["Products / Audios"]
---

# Upload audio file

`POST /api/products/{productId}/audios/upload`

## Request

- Base URL: `https://api.payware.eu`
- URL: `https://api.payware.eu/api/products/{productId}/audios/upload`
- Auth: HTTP bearer

Registers a new audio soundbite for a product by uploading an audio/video file of up to 100 MB holding 2 to 120 seconds of audio. Only the audio channel is extracted from video files.

## Path parameters

- `productId` string, required

## Response `201`

Audio file uploaded and registered successfully

## Other responses

- `400`: Invalid file, or audio shorter than 2 or longer than 120 seconds
- `401`: Unauthorized
- `403`: Forbidden - the caller is authenticated but not permitted (plan or capability gate, KYC state, or tenant scope)
- `404`: Product not found
- `409`: This audio is already registered (deduplicated fingerprint)
- `413`: File larger than 100 MB
- `429`: Too many requests - the caller exceeded its per-partner rate limit. Carries errorCode ERR_RATE_LIMIT_EXCEEDED and a Retry-After header, in seconds. The request was not processed, so the identical request is safe to retry once the window has passed.
- `500`: Internal server error

---

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