---
title: "Get Audio Playback Url Route"
method: GET
path: "/v2/audios/{audio_id}/playback-url"
tags: ["Audio Emotion API"]
---

# Get Audio Playback Url Route

`GET /v2/audios/{audio_id}/playback-url`

## Request

- Base URL: `https://api.imentiv.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.imentiv.ai/v2/audios/{audio_id}/playback-url`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://api.imentiv.ai/oauth/authorize`
    - Token URL: `https://api.imentiv.ai/oauth/token` scopes: `media.read`

Get a short-lived URL for playing back an audio.

The returned `url` streams the stored audio inline in a browser or media player.
It is short-lived: request a new one when `expires_at` passes or when a request
made with it is refused, and do not store or share it. The audio's `url` and
`media_source_url` fields are references to the stored media, not guaranteed to
be readable; this endpoint is how to play it.

**Access Control:** the same as the audio details. The owner and admins can
always get a playback URL. While an audio (or the video it belongs to) is shared,
or is a sample, anyone can, so sharing lets anyone with its link play it back.

**Errors:**
- **401**: not authorized to access this audio
- **404**: audio not found
- **409** `media_not_stored`: the audio has no stored copy to play (for example, an
  audio submitted by URL whose copy is not ready yet)
- **503** `media_storage_unavailable`: temporarily unavailable; try again shortly

## Path parameters

- `audio_id` string, required: The unique ID of the audio.

## Response `200`

Successful Response

- PlaybackUrlResponse: A short-lived, read-only URL for playing back stored media.
  - `url` string, required: Signed URL that streams the media inline. Short-lived: request a new one when `expires_at` passes or a request with it is refused. Do not store or share it.
  - `expires_at` string, required: RFC 3339 UTC instant at which `url` stops working, e.g. `2026-09-28T12:30:00Z`.
  - `content_type` string, required: The stored media's content type, e.g. `video/mp4`.

## Other responses

- `401`: Missing, malformed or rejected credentials — no `X-API-Key` / `Authorization: Bearer <jwt>`, an expired token, or a caller that lacks the role the route requires. Note that this API answers *authorization* failures with 401 as well as 403 (see the 403 entry where a route declares both).
- `404`: No such resource, or it is not visible to this caller. Ownership failures are reported as 404 rather than 403 so the API does not confirm the existence of another account's records.
- `409`: `media_not_stored`: there is no stored copy to play yet.
- `422`: Validation Error
- `503`: `media_storage_unavailable`: try again shortly.

## Changes

- **2026-10-01** `72330e2229c7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/imentiv/apis/welcome-to-imentiv-ai/changes/v2/audios/:audio_id/playback-url/get.md)

---

[API](https://skmtc.dev/imentiv/apis/welcome-to-imentiv-ai.md) - [All operations](https://skmtc.dev/imentiv/apis/welcome-to-imentiv-ai/llms.txt) - [OpenAPI document](https://skmtc.dev/imentiv/apis/welcome-to-imentiv-ai/revisions/bc15cec7e794?raw)
