In the NCCO for your inbound or outbound call, include a record action with an eventUrl pointing to your webhook endpoint; optionally set beepStart to true, set endOnSilence, and choose the format (mp3 or ogg — see current docs for supported values).
When the call ends (or the record action's endOnSilence timer fires), Vonage POSTs a recording event payload to your eventUrl; the payload contains recording_url, duration, start_time, end_time, and size.
Make an authenticated GET request to the recording_url using your Vonage JWT (Authorization: Bearer YOUR_JWT) to download the audio file.
Store the file in durable storage; Vonage retains recordings for 30 days — download before expiry.
Delete the recording from Vonage servers after you have safely stored your own copy by calling DELETE on the recording_url endpoint if data-minimisation is required.
Known gotchas
The recording_url is only available after the recording event webhook fires — do not attempt to poll for it during the call.
JWT authentication is required to download recordings; a plain API key/secret is not sufficient for this endpoint.
Recording retention is 30 days from creation; automate download-and-archive within that window for compliance or long-term storage needs.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp