Skip to main content
Version: 0.5.0-rc0

Rest API

Jellyfish Media Server (0.5.0-rc0)

Download OpenAPI specification:Download

License: Apache 2.0

health

Describes the health of Jellyfish

Authorizations:
authorization

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

hls

Retrieve HLS Content

path Parameters
room_id
required
string

Room id

filename
required
string

Name of the file

query Parameters
_HLS_msn
integer or null (HlsMsn) >= 0
Example: _HLS_msn=10

Segment sequence number

_HLS_part
integer or null (HlsPart) >= 0
Example: _HLS_part=10

Partial segment sequence number

_HLS_skip
string or null (HlsSkip)
Example: _HLS_skip=YES

Is delta manifest requested

header Parameters
range
string

Byte range of partial segment

Responses

Response samples

Content type
application/json
"string"

recording

Lists all available recordings

Authorizations:
authorization

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Deletes the recording

Authorizations:
authorization
path Parameters
recording_id
required
string

Recording id

Responses

Response samples

Content type
application/json
{
  • "errors": "Token has expired"
}

Retrieve Recording (HLS) Content

path Parameters
recording_id
required
string

Recording id

filename
required
string

Name of the file

Responses

Response samples

Content type
application/json
"string"

room

Show information about all rooms

Authorizations:
authorization

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Creates a room

Authorizations:
authorization
Request Body schema: application/json
optional

Room configuration

maxPeers
integer or null >= 1

Maximum amount of peers allowed into the room

peerDisconnectedTimeout
integer or null >= 1

Duration (in seconds) after which the peer will be removed if it is disconnected. If not provided, this feature is disabled.

peerlessPurgeTimeout
integer or null >= 1

Duration (in seconds) after which the room will be removed if no peers are connected. If not provided, this feature is disabled.

roomId
string or null

Custom id used for identifying room within Jellyfish. Must be unique across all rooms. If not provided, random UUID is generated.

videoCodec
string or null
Enum: "h264" "vp8"

Enforces video codec for each peer in the room

webhookUrl
string or null

URL where Jellyfish notifications will be sent

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete the room

Authorizations:
authorization
path Parameters
room_id
required
string

Room id

Responses

Response samples

Content type
application/json
{
  • "errors": "Token has expired"
}

Shows information about the room

Authorizations:
authorization
path Parameters
room_id
required
string

Room ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Creates the component and adds it to the room

Authorizations:
authorization
path Parameters
room_id
required
string

Room ID

Request Body schema: application/json
optional

Component config

ComponentOptionsHLS (object) or ComponentOptionsRTSP (object) or ComponentOptionsFile (object) or ComponentOptionsSIP (object) or ComponentOptionsRecording (object) (ComponentOptions)

Component-specific options

type
required
string (ComponentType)

Component type

Responses

Request samples

Content type
application/json
{
  • "options": {
    },
  • "type": "hls"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Subscribe component to the tracks of peers or components

Authorizations:
authorization
path Parameters
room_id
required
string

Room ID

component_id
required
string

Component ID

Request Body schema: application/json
optional

Subscribe configuration

origins
Array of strings

List of peers and components ids whose tracks the HLS endpoint will subscribe to

Responses

Request samples

Content type
application/json
{
  • "origins": [
    ]
}

Response samples

Content type
application/json
{
  • "errors": "Token has expired"
}

Delete the component from the room

Authorizations:
authorization
path Parameters
room_id
required
string

Room ID

id
required
string

Component ID

Responses

Response samples

Content type
application/json
{
  • "errors": "Token has expired"
}

Create peer

Authorizations:
authorization
path Parameters
room_id
required
string

Room id

Request Body schema: application/json
optional

Peer specification

required
PeerOptionsWebRTC (object) (PeerOptions)

Peer-specific options

type
required
string (PeerType)

Peer type

Responses

Request samples

Content type
application/json
{
  • "options": {
    },
  • "type": "webrtc"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete peer

Authorizations:
authorization
path Parameters
room_id
required
string

Room ID

id
required
string

Peer id

Responses

Response samples

Content type
application/json
{
  • "errors": "Token has expired"
}

sip

Finish call made by SIP component

Authorizations:
authorization
path Parameters
room_id
required
string

Room ID

component_id
required
string

SIP Component ID

Responses

Response samples

Content type
application/json
{
  • "errors": "Token has expired"
}

Make a call from the SIP component to the provided phone number

Authorizations:
authorization
path Parameters
room_id
required
string

Room ID

component_id
required
string

SIP Component ID

Request Body schema: application/json
optional

Phone Number configuration

phoneNumber
string

Phone number on which SIP Component will call

Responses

Request samples

Content type
application/json
{
  • "phoneNumber": "string"
}

Response samples

Content type
application/json
{
  • "errors": "Token has expired"
}