MeetsoAPI Docs
API referenceRecordings

Get a recording

Recording metadata + a short-TTL presigned S3 URL. The URL is null until `status === "COMPLETED"` and expires at `download_url_expires_at`. Refetch this endpoint to get a fresh URL — it is cheap and does not consume bandwidth budget.

GET
/public/v1/recordings/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key issued in Settings → API Keys in the Meetso dashboard. Owners and Admins only.

In: header

Path Parameters

id*string

Resource id (CUID).

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/public/v1/recordings/string"
{  "data": {    "id": "string",    "meeting_id": "string",    "status": "PROCESSING",    "size_bytes": -9007199254740991,    "duration_seconds": -9007199254740991,    "mime_type": "string",    "download_url": "http://example.com",    "download_url_expires_at": "2019-08-24T14:15:22Z",    "created_at": "2019-08-24T14:15:22Z",    "completed_at": "2019-08-24T14:15:22Z"  }}
{  "error": {    "code": "unauthorized",    "message": "string",    "request_id": "string"  }}
{  "error": {    "code": "unauthorized",    "message": "string",    "request_id": "string"  }}
{  "error": {    "code": "unauthorized",    "message": "string",    "request_id": "string"  }}
{  "error": {    "code": "unauthorized",    "message": "string",    "request_id": "string"  }}
{  "error": {    "code": "unauthorized",    "message": "string",    "request_id": "string"  }}
{  "error": {    "code": "unauthorized",    "message": "string",    "request_id": "string"  }}