Skip to main content

Daily REST API Documentation

For complete Daily REST API reference and additional details

Classes

DailyRoomSipParams

Configuration for SIP (Session Initiation Protocol) parameters.
string
default:"sw-sip-dialin"
Display name for the SIP endpoint
boolean
default:false
Whether video is enabled for SIP
string
default:"dial-in"
SIP connection mode
integer
default:1
Number of SIP endpoints

RecordingsBucketConfig

Configuration for storing Daily recordings in a custom S3 bucket.
string
required
Name of the S3 bucket for storing recordings
string
required
AWS region where the S3 bucket is located
string
required
ARN of the IAM role to assume for S3 access
boolean
default:false
Whether to allow API access to the recordings

DailyRoomProperties

Properties that configure a Daily room’s behavior and features.
float
Room expiration time as Unix timestamp (e.g., time.time() + 300 for 5 minutes)
boolean
default:false
Whether chat is enabled in the room
boolean
default:false
Whether the prejoin lobby UI is enabled
boolean
default:false
Whether emoji reactions are enabled
boolean
default:false
Whether to eject participants when room expires
boolean
Whether dial-out is enabled
string
Recording settings (“cloud”, “cloud-audio-only”, “local”, or “raw-tracks”)
string
Geographic region for room
number
Maximum number of participants allowed in the room
RecordingsBucketConfig
Configuration for custom S3 bucket recordings
DailyRoomSipParams
SIP configuration parameters
dict
SIP URI configuration (returned by Daily)
boolean
default:false
Whether the camera video is turned off by default
The class also includes a sip_endpoint property that returns the SIP endpoint URI if available. enable_recording also supports cloud-audio-only, which records the call server-side and produces an audio-only MPEG-4 file with .m4a file extension and content type as audio/mp4. This recording setting behaves like cloud, except the layout options do not apply because there are no video tracks. Note: you can retrieve the resulting .m4a recordings via the Daily REST API, in the same way you fetch cloud recording assets.
If you’re already using enable_recording="cloud" and want to switch to audio-only without changing your code, you can set force_audio_only_recording: 1 on your Daily domain. This forces all cloud recordings to be audio-only (.m4a instead of .mp4) and skips recording video tracks even if they are present. This is useful when you want to transition to audio-only recordings immediately while avoiding an application redeploy. Switching force_audio_only_recording: 0 will allow recording video tracks.

DailyRoomParams

Parameters for creating a new Daily room.
string
Room name (if not provided, one will be generated)
string
default:"public"
Room privacy setting (“private” or “public”)
DailyRoomProperties
Room configuration properties

DailyRoomObject

Response object representing a Daily room.
string
Unique room identifier
string
Room name
boolean
Whether the room was created via API
string
Room privacy setting
string
Complete room URL
string
Room creation timestamp in ISO 8601 format
DailyRoomProperties
Room configuration

DailyMeetingTokenProperties

Properties for configuring a Daily meeting token.
string
The room this token is valid for. If not set, token is valid for all rooms.
boolean
Whether to eject user when token expires
integer
Eject user after this many seconds
integer
“Not before” timestamp - users cannot join before this time
integer
Expiration timestamp - users cannot join after this time
boolean
Whether token grants owner privileges
string
User’s display name in the meeting
string
Unique identifier for the user (36 char limit)
boolean
Whether user can share their screen
boolean
Whether to join with video off
boolean
Whether to join with audio off
string
Recording settings (“cloud”, “cloud-audio-only”, “local”, or “raw-tracks”)
boolean
Whether to show prejoin UI
boolean
Whether to start cloud recording when user joins
dict
Initial default permissions for a non-meeting-owner participant

DailyMeetingTokenParams

Parameters for creating a Daily meeting token.
DailyMeetingTokenProperties
Token configuration properties
Recording type: cloud will produce files with a .mp4 extension, while cloud-audio-only will produce files with a .m4a extension.

Initialize DailyRESTHelper

Create a new instance of the Daily REST helper.
string
required
Your Daily API key
string
default:"https://api.daily.co/v1"
The Daily API base URL
aiohttp.ClientSession
required
An aiohttp client session for making HTTP requests

Create Room

Creates a new Daily room with specified parameters.
DailyRoomParams
required
Room configuration parameters including name, privacy, and properties

Get Room From URL

Retrieves room information using a Daily room URL.
string
required
The complete Daily room URL

Get Token

Generates a meeting token for a specific room.
string
required
The complete Daily room URL
float
default:"3600"
Token expiration time in seconds
bool
default:"False"
Whether to eject user when token expires
bool
default:"True"
Whether the token should have owner privileges (overrides any setting in params)
DailyMeetingTokenParams
Additional token configuration. Note that room_name, exp, eject_at_token_exp, and is_owner will be set based on the other function parameters.

Delete Room By URL

Deletes a room using its URL.
string
required
The complete Daily room URL

Delete Room By Name

Deletes a room using its name.
string
required
The name of the Daily room

Get Name From URL

Extracts the room name from a Daily room URL.
string
required
The complete Daily room URL