JustOnAir docs
View as Markdown

Recordings

One MP4 of the top quality, a few minutes after the stream ends. Download it, keep it as long as you like, or delete it.

Unless you create a stream with "record": false, JustOnAir keeps what is streamed and turns it into one MP4 of the top quality after the stream ends. Other sizes are not kept; make them from the MP4 if you need them.

There is no replay through the player or playback_url. An ended stream is ended; the MP4 is how you keep it.

Status

recording on the stream tells you where it is:

recording.statusMeaning
recordingThe stream is live and being kept.
processingThe stream has ended and the MP4 is being made. Usually a few minutes.
readyDownload it. bytes, duration_seconds and delete_at are set.
not_recordedCreated with record: false.
noneThe stream never went live.
deleting, deletedYou asked for it to be deleted, or it reached delete_at.
failedThe MP4 could not be made after three tries. What was streamed is kept, so it can be made again.

Download

Shell
curl https://api.justonair.com/v1/streams/str_e1bzk3dxw9z9allei6n7/recording/download \
  -H "Authorization: Bearer $JOA_API_KEY" -H "Content-Type: application/json" \
  -d '{"expires_in": 3600}'
JSON
{
  "object": "recording_download",
  "stream_id": "str_e1bzk3dxw9z9allei6n7",
  "url": "https://live.joacdn.com/bcdn_token=.../_rec/str_e1bzk3dxw9z9allei6n7/recording.mp4",
  "bytes": 231486012,
  "expires_at": "2026-09-29T12:21:04.000Z"
}

The link works for expires_in seconds (60 to 7 days, default 1 hour) and supports range requests, so download tools can resume. Downloading counts as delivery at the normal per-GB rate.

To feed a video library, wait for the recording.ready webhook (or poll the stream until recording.status is ready), then fetch the link and copy the file.

How long it is kept

30 days by default, then deleted. Change it per stream when you create it:

recording_retention_daysKept
omittedYour account default (30 days)
1 to 3650That many days after it is ready
nullUntil you delete it

recording.delete_at always shows the actual date.

Delete

Shell
curl -X DELETE https://api.justonair.com/v1/streams/str_e1bzk3dxw9z9allei6n7/recording \
  -H "Authorization: Bearer $JOA_API_KEY"

Deletes the MP4 now, or as soon as it is made if it is still processing.

Price

$0.03 per GB per month, counted by the hour. A one-hour 720p recording is about 1.1 GB: $0.034 a month.