Links

VirtualHost

Get Virtual Host List

Request

GET /v1/vhosts
Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>

Responses

200 Ok
The request has succeeded

Header

Content-Type: application/json

Body

{
"statusCode": 200,
"message": "OK",
"response": [
"default",
"service",
"poc"
]
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Json array containing a list of virtual host names
401 Unauthorized
Authentication required

Header

WWW-Authenticate: Basic realm=”OvenMediaEngine”

Body

{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}

Create Virtual Host

Request

POST /v1/vhosts

Header

Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>

Body

Configure virtual hosts to be created in Json array format.
[
{
"name": "vhost",
"host": {
"names": [
"ome-dev.airensoft.com",
"prod.airensoft.com"
],
"tls": {
"certPath": "/etc/pki/airensoft.com/_airensoft_com.crt",
"chainCertPath": "/etc/pki/airensoft.com/_airensoft_com.ca-bundle",
"keyPath": "/etc/pki/airensoft.com/_airensoft_com.key"
}
},
"signedPolicy": {
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"policyQueryKeyName": "policy",
"secretKey": "aKq#1kj",
"signatureQueryKeyName": "signature"
},
"admissionWebhooks": {
"controlServerUrl": "https://control.server/admission",
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"secretKey": "",
"timeout": 3000
},
"origins": {
"origin": [
{
"location": "/app/rtsp",
"pass": {
"scheme": "rtsp",
"urls": {
"url": [
"rtsp.server:8554/ca-01"
]
}
}
}
]
},
"originMapStore": {
"originHostName": "ome-dev.airensoft.com",
"redisServer": {
"auth": "[email protected]#ovenmediaengine",
"host": "redis.server:6379"
}
}
},
{
"name": "vhost2",
"host": {
"names": [
"ovenmediaengine.com"
],
"tls": {
"certPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.crt",
"chainCertPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.ca-bundle",
"keyPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.key"
}
}
}
]
# name (required)
The virtual host name. Cannot be duplicated.
# host (required)
## names (required)
The addresses(IP or Domain)of the host.
## tls (optional)
The certificate file path. Required if using TLS.
# signedPolicy (optional)
The SignedPolicy setting. Please refer to the manual for details.
# admissionWebhooks (optional)
The AdmissionWebhooks setting. Please refer to the manual for details.
# origins (optional)
The Origins setting. Please refer to the manual for details.
# originMapStore (optional)
The OriginMapStore setting. Please refer to the manual for details.

Responses

200 Ok
The request has succeeded

Header

Content-Type: application/json

Body

It responds with Json array for each request.
[
{
"message": "OK",
"statusCode": 200,
"response": {
"name": "enterprise",
"host": {
"names": [
"ome-dev.airensoft.com",
"prod.airensoft.com"
],
"tls": {
"certPath": "/etc/pki/airensoft.com/_airensoft_com.crt",
"chainCertPath": "/etc/pki/airensoft.com/_airensoft_com.ca-bundle",
"keyPath": "/etc/pki/airensoft.com/_airensoft_com.key"
}
},
"signedPolicy": {
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"policyQueryKeyName": "policy",
"secretKey": "aKq#1kj",
"signatureQueryKeyName": "signature"
},
"admissionWebhooks": {
"controlServerUrl": "https://control.server/admission",
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"secretKey": "",
"timeout": 3000
},
"origins": {
"origin": [
{
"location": "/app/rtsp",
"pass": {
"scheme": "rtsp",
"urls": {
"url": [
"rtsp.server:8554/ca-01"
]
}
}
}
]
},
"originMapStore": {
"originHostName": "ome-dev.airensoft.com",
"redisServer": {
"auth": "[email protected]#ovenmediaengine",
"host": "redis.server:6379"
}
}
}
},
{
"message": "OK",
"statusCode": 200,
"response": {
"name": "free",
"host": {
"names": [
"ovenmediaengine.com"
],
"tls": {
"certPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.crt",
"chainCertPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.ca-bundle",
"keyPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.key"
}
}
}
}
]
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Created virtual host information
207 Multi-Status
There might be a mixture of responses.

Header

Content-Type: application/json

Body

It responds with Json array for each request.
[
{
"statusCode": 200,
"message": "OK",
"response": {
"name": "enterprise",
"host": {
"names": [
...
},
{
"statusCode": 409,
"message": "Conflict",
"response": {
...
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Virtual host information created when statusCode is 200
400 Bad Request
Invalid request. Body is not a Json array or does not have a required value
401 Unauthorized
Authentication required

Header

WWW-Authenticate: Basic realm=”OvenMediaEngine”

Body

{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}
409 Conflict
A virtual host with that name already exists

Get Virtual Host Information

Request

GET /v1/vhosts/{vhost}

Header

Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>

Responses

200 Ok
The request has succeeded

Header

Content-Type: application/json

Body

"message": "OK",
"statusCode": 200
"response": {
"name": "default",
"distribution": "ovenServer",
"host": {
"name": "default",
"distribution": "ovenServer",
"host": {
"names": [
"ome-dev.airensoft.com",
"*"
],
"tls": {
"certPath": "/etc/pki/airensoft.com/_airensoft_com.crt",
"chainCertPath": "/etc/pki/airensoft.com/_airensoft_com.ca-bundle",
"keyPath": "/etc/pki/airensoft.com/_airensoft_com.key"
}
},
"signedPolicy": {
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"policyQueryKeyName": "policy",
"secretKey": "aKq#1kj",
"signatureQueryKeyName": "signature"
},
"admissionWebhooks": {
"controlServerUrl": "https://control.server/admission",
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"secretKey": "",
"timeout": 3000
},
"origins": {
"origin": [
{
"location": "/app/rtsp",
"pass": {
"scheme": "rtsp",
"urls": {
"url": [
"rtsp.server:8554/ca-01"
]
}
}
}
]
},
"originMapStore": {
"originHostName": "ome-dev.airensoft.com",
"redisServer": {
"auth": "[email protected]#ovenmediaengine",
"host": "redis.server:6379"
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Virtual host information
401 Unauthorized
Authentication required

Header

WWW-Authenticate: Basic realm=”OvenMediaEngine”

Body

{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}
404 Not Found
The given vhost name could not be found.

Body

{
"message": "[HTTP] Could not find the virtual host: [default1] (404)",
"statusCode": 404
}

Delete Virtual Host

Request

DELETE /v1/vhosts/{vhost}

Header

Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>

Responses

200 Ok
The request has succeeded

Header

Content-Type: application/json

Body

{
"message": "OK",
"statusCode": 200
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
401 Unauthorized
Authentication required

Header

WWW-Authenticate: Basic realm=”OvenMediaEngine”

Body

{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}
404 Not Found
The given vhost name could not be found.

Body

{
"message": "[HTTP] Could not find the virtual host: [default1] (404)",
"statusCode": 404
}
500 Internal Server Error
The request failed due to an error on the server. Check the server log for the reason of the error.

Body

{
"message": "[HTTP] Internal Server Error (500)",
"statusCode": 500
}