Get Audio File
getAudioGet one audio file's metadata by id: category, filename, content type, size, duration, format, what it belongs to and when it was created. Metadata only, never the audio or a link to it. Use when: a profile or test names an audio id and you want to say what it is. Read-only. Needs audio:read. Returns 404 if the file is not in your workspace.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "getAudio"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Audio metadata identifier. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Audio metadata identifier. | |
| s3Key | Yes | S3 object key inside the audio bucket. Treat as opaque and never rebuild it from other fields: new uploads get a key that is unique per upload, while rows created before that change keep their original key. | |
| format | No | Lowercase file extension derived from filename. Optional. | |
| category | Yes | Bucket used by the upload-URL handler to derive the S3 key. Audio files for test runs live under `tests/`, mapping recordings under `maps/`, voice profiles under `voices/`, and transcript audio under `transcripts/`. | |
| channels | No | Channel count (1=mono, 2=stereo), when known. | |
| filename | Yes | Original client-supplied filename (sanitised for the S3 key). | |
| metadata | No | Arbitrary client-supplied metadata captured at upload time. | |
| createdAt | Yes | ISO-8601 timestamp of metadata creation. | |
| createdBy | Yes | User id that initiated the upload. | |
| expiresAt | No | Optional TTL (epoch seconds). Audio with `expiresAt` will be auto-deleted by DynamoDB TTL — present only on ephemeral/test audio. | |
| sizeBytes | Yes | Declared object size in bytes. Rows created before `sizeBytes` became required on upload may hold 0. | |
| sampleRate | No | Sample rate in Hz, when known. | |
| contentType | Yes | MIME type captured at upload time. | |
| workspaceId | Yes | Workspace that owns this audio. | |
| associatedId | Yes | Owning entity id — `runId` for `test`/`map` category, `voiceId` for `voice` category. Defaults to the audio id when no parent is supplied at upload time. | |
| durationSecs | No | Audio duration in seconds (optional — may be 0 or absent). |