Obtain a Daily API key from your Daily dashboard; all REST API requests require an Authorization header with your API key.
Create a room by sending a POST request to https://api.daily.co/v1/rooms with a JSON body specifying name, privacy ('public' or 'private'), and properties such as enable_recording: 'cloud' to allow cloud recording in that room.
Generate a meeting token for a participant by POSTing to https://api.daily.co/v1/meeting-tokens with room_name, start_time (Unix timestamp), exp (expiry), and is_owner: true for hosts who can manage the recording.
From an owner participant in the room, call callObject.startRecording() in the daily-js client SDK (or trigger via the REST API) to start a cloud recording; the recording captures a composite of all participants.
Monitor recording status via the 'recording-started' and 'recording-stopped' events on the callObject, or by polling GET https://api.daily.co/v1/recordings which lists completed recordings with download links.
To include a transcript alongside the recording, pass dataOutputs: ['transcript-webvtt'] in the startRecording() options; Daily generates a WebVTT file downloadable alongside the MP4 recording.
Known gotchas
Cloud recording requires a paid Daily plan and a credit card attached to your account; the REST API returns a 402 error if recording is attempted on a free plan.
The enable_recording: 'cloud' property must be set at the room level before any participant joins; it cannot be added to an already-active room session.
Recording files are stored by Daily and accessible via a time-limited signed URL returned in the recordings API; download and archive files to your own storage before the Daily retention period expires.
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