Storm docs logo
Search the docs.../
Explore Storm Products

Vhost Create

Creates a new virtual host configuration.

Request

PropertyValue
MethodPOST
URL/api/server/settings/vhosts
Content-Typeapplication/json
AuthenticationBearer Token
Request
Code iconbash
curl -X POST "{BASE_URL}/api/server/settings/vhosts" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'

Request Body

ParameterTypeRequiredDescription
data.attributes.hoststringYesHost binding ("*" for all interfaces or specific IP)
data.attributes.portintegerYesPort number
data.attributes.protocolsstring[]YesEnabled protocols
data.attributes.isSSLbooleanNoSSL enabled
data.attributes.certificatePathstringNoPath to SSL certificate (required if isSSL is true)
data.attributes.certificatePasswordstringNoSSL certificate password (required if isSSL is true)
data.attributes.isControlPanelbooleanNoControl panel endpoint
Request Body
Code iconjson
{
  "data": {
    "attributes": {
      "host": "127.0.0.1",
      "port": 8093,
      "protocols": ["HTTP"],
      "isSSL": false,
      "isControlPanel": true
    }
  }
}
Request Body (with SSL)
Code iconjson
{
  "data": {
    "attributes": {
      "host": "*",
      "port": 443,
      "protocols": ["WEBSOCKETS", "HTTP"],
      "isSSL": true,
      "certificatePath": "/path/to/certificate.p12",
      "certificatePassword": "password",
      "isControlPanel": false
    }
  }
}

Response Body

CodeDescription
201Created - VHost successfully created
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing token
409Conflict - Port already in use
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Successful Response (201)

VHost

ParameterTypeDescription
data.idintegerUnique identifier of the created VHost
data.attributes.host.valuestringHost binding
data.attributes.host.editablebooleanIndicates if the field can be modified
data.attributes.host.lockedBystringLocked by environment variable (if present)
data.attributes.port.valueintegerPort number
data.attributes.port.editablebooleanIndicates if the field can be modified
data.attributes.port.lockedBystringLocked by environment variable (if present)
data.attributes.protocols.valuestring[]Enabled protocols
data.attributes.protocols.editablebooleanIndicates if the field can be modified
data.attributes.protocols.lockedBystringLocked by environment variable (if present)
data.attributes.isSSL.valuebooleanSSL enabled
data.attributes.isSSL.editablebooleanIndicates if the field can be modified
data.attributes.isSSL.lockedBystringLocked by environment variable (if present)
data.attributes.certificatePath.valuestringPath to SSL certificate
data.attributes.certificatePath.editablebooleanIndicates if the field can be modified
data.attributes.certificatePath.lockedBystringLocked by environment variable (if present)
data.attributes.certificatePassword.valuestringSSL certificate password (masked)
data.attributes.certificatePassword.maskedbooleanIndicates if the value is masked
data.attributes.isControlPanel.valuebooleanControl panel endpoint
data.attributes.isControlPanel.editablebooleanIndicates if the field can be modified
data.attributes.isControlPanel.lockedBystringLocked by environment variable (if present)
messagestringResponse status message

Metadata

ParameterTypeDescription
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
Successful Response (200)
Code iconjson
{
  "data": {
    "id": 3,
    "attributes": {
      "host": {
        "editable": true,
        "value": "127.0.0.1"
      },
      "port": {
        "editable": true,
        "value": 8093
      },
      "protocols": {
        "editable": true,
        "value": ["HTTP"]
      },
      "isSSL": {
        "editable": true,
        "value": true
      },
      "certificatePath": {
        "editable": true,
        "value": "/path/to/certificate.p12"
      },
      "certificatePassword": {
        "masked": true,
        "value": "p****d"
      },
      "isControlPanel": {
        "editable": true,
        "value": true
      }
    }
  },
  "meta": {
    "executionTime": 35,
    "generatedAt": 1764853683152
  },
  "message": "VHost added successfully"
}

Error Response (4xx/5xx)

ParameterTypeDescription
messagestringHuman-readable error message
Error Response
Code iconjson
{
  "message": "Error message"
}
Support Needed?

Create a free ticket and our support team will provide you necessary assistance.

Blog
Support
About us
Patents
Term of use
Privacy policy
Contact
©2026 Storm Streaming Media. All Rights Reserved.