Enable Cloud Recording in Agora Console for your project; obtain a Customer ID and Customer Secret from the RESTful API section to authenticate Cloud Recording REST calls using HTTP Basic Auth.
Call the acquire endpoint (POST to the Agora Cloud Recording API acquire path) with your appId, channelName, uid (a unique string not used by any participant), and clientRequest containing scene and resourceExpiredHour; the response returns a resourceId valid for a short window.
Immediately call the start endpoint with the resourceId, mode (e.g., 'mix' for composite or 'individual' for per-track), and a clientRequest body that includes token, storageConfig (with vendor, region, bucket, and access credential fields populated from your S3 setup), and recordingConfig.
Poll the query endpoint with resourceId and sid to monitor recording status; the response includes fileList showing files uploaded to S3 so far and the current status.
Call the stop endpoint when the session ends, passing resourceId, sid, and uid; Agora finalizes the recording, uploads remaining segments to S3, and returns the final fileList.
Configure an S3 bucket policy and IAM credentials granting Agora's recording service s3:PutObject access; Agora documents the specific IAM permissions required in their Cloud Recording storage configuration guide.
Known gotchas
The resourceId expires within a few minutes of the acquire call; always call start immediately after acquire — waiting too long returns a 404 on the start call.
In mix mode, all participants are combined into a single file; in individual mode each participant's audio and video are stored separately, which simplifies post-processing but increases storage usage.
Agora Cloud Recording uses its own UID to join the channel; ensure this UID is not blocked by your token (use a token generated for that specific UID) and does not conflict with a real participant.
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