List record

Answers what is being recorded in a room, and where the file went.

GET /v1/meet/record

Addresshttps://api.hanzo.ai/v1/meet/record
MethodGET
OperationmeetRecordRead
AuthAuthorization: Bearer $HANZO_API_KEY

Answers what is being recorded in a room, and where the file went.

It reports the recording that is RUNNING, and once none is, the most recent one the media server still holds — with its final status and its object. That second case is the one that matters for finding a file: the answer to a start is the only other place the location appears, and a client that lost it, or a colleague who was not the one to press record, has nowhere else to look.

It is behind the same check as starting one: where a recording of a private conversation is kept is a fact about that conversation, so it is told to the people the room admits and to nobody else.

Request

1 field.

FieldInTypeRequiredDescription
roomquerystringyesRoom is the LiveKit room, named the way the office client names one (<space>_<name>_<id>).

Response

StatusBodyMeaning
200meet.recordingok
defaultproblem-detailsrefused

200 body — 7 fields.

FieldInTypeAlwaysDescription
bucketbodystring—Bucket is the object store bucket the recording is written to.
errorbodystring—Error is the media server's reason when a recording failed, and empty otherwise.
idbodystring—ID is the media server's egress id — the handle a later read names.
objectbodystring—Object is the key inside that bucket.
roombodystring—Room is the room this recording is of.
startedbodyinteger (int64)—Started is when the recording began, as the media server reports it: its own started_at, verbatim and unconverted.
statusbodystring—Status is the media server's own state name: EGRESS_STARTING, EGRESS_ACTIVE, EGRESS_ENDING, EGRESS_COMPLETE, EGRESS_FAILED, EGRESS_ABORTED or EGRESS_LIMIT_REACHED.

Failure carries the platform error shape — see Errors.

Examples

hanzo meet record get --room <room>
import { Configuration, MeetApi } from 'hanzoai';

const api = new MeetApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.meetRecordRead({ room: 'room' });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import MeetApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = MeetApi(client).meet_record_read(room='room')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.MeetAPI.MeetRecordRead(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, meet_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = meet_api::meet_record_read(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.MeetApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new MeetApi(client).meetRecordRead();
curl https://api.hanzo.ai/v1/meet/record?room=%3Croom%3E \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool meet, op meetRecordRead — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "meet",
         "arguments": {
           "op": "meetRecordRead",
           "input": {
             "room": "<room>"
           }
         }
       }
     }'

Meet API · All Hanzo APIs · Interactive reference

Was this page useful?