Refresh a note recording URL
Returns a fresh one-hour download URL for an owned note’s original uploaded recording. Requires a personal API token with notes:read. The audio_url points to the same recording as recording_url in the single-note response; expires_in is the URL lifetime in seconds. Download directly from the returned URL without sending your API token. Treat signed URLs as secrets: anyone with the URL can download the recording until it expires, including after the API token is revoked. A signed URL does not guarantee that the stored file still exists.
GET
/v1/public-api/notes/{note_id}/audio-urlAuthorization
AuthorizationBearer token · headerrequiredPersonal API token created in Monologue Settings. Every public API request requires the `notes:read` scope.
Path parameters
note_idstring<uuid>requiredResponses
200Successful Response
audio_urlstringrequiredexpires_inintegerrequired401Missing or invalid personal API token.
403The personal API token is missing the required scope.
404The note was not found for the authenticated user.
422Validation Error
detailValidationError[]Show propertiesHide properties
Array of
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
Array of
string | integerAny of:
string
stringinteger
integermsgstringrequiredtypestringrequiredRequest
curl -X GET "https://api.monologue.to/v1/public-api/notes/%3Cuuid%3E/audio-url" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.monologue.to/v1/public-api/notes/%3Cuuid%3E/audio-url", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"https://api.monologue.to/v1/public-api/notes/%3Cuuid%3E/audio-url",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"audio_url": "string",
"expires_in": 0
}Missing or invalid personal API token.
The personal API token is missing the required scope.
The note was not found for the authenticated user.
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}