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

Stream Create

Creates a new stream within a specific application.

Request

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

Path Parameters

ParameterTypeRequiredDescription
appNamestringYesApplication name
Request With Parameters
Code iconbash
curl -X POST "{BASE_URL}/api/streams/{appName}" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'

Request Body

ParameterTypeRequiredDescription
data.attributes.streamKeystringYesStream key (unique per application)
data.attributes.type"ingest" | "pull"YesStream type
data.attributes.allowPublishingbooleanNoAllow stream publishing
data.attributes.recordStreambooleanNoEnable stream recording
data.attributes.sourceobjectYesSource configuration

Source configuration depends on the stream type. See the Source Types section below.

Source Types

Ingest Stream

Accepts incoming stream from an encoder (e.g. OBS).

ParameterTypeRequiredDescription
source.authTypestringYesAuthorization type
source.authobjectNoAuthorization details
Auth TypeAdditional Parameters
"none"No additional parameters
"credentials"source.auth.username, source.auth.password
"token"source.auth.token
"secret"source.auth.secret

Pull Stream

Pulls a stream from a remote source via RTMP, RTSP, or SRT.

ParameterTypeRequiredDescription
source.protocolstringYesProtocol: "rtmp", "rtsp", "srt", or "file"
source.urlstringYesSource URL
source.authTypestringYesAuthorization type
source.authobjectNoAuthorization details
Auth TypeProtocolsAdditional Parameters
"none"RTMP, RTSP, SRTNo additional parameters
"credentials"RTMP, RTSPsource.auth.username, source.auth.password
"token"RTSPsource.auth.token
"secret"SRTsource.auth.secret

File Stream

Plays a local media file as a stream.

ParameterTypeRequiredDescription
source.pathstringYesPath to the media file
source.loopbooleanNoLoop playback
source.transcodePresetstringNoTranscode preset (e.g. "720p")
Ingest - No Auth
Code iconjson
{
  "data": {
    "attributes": {
      "streamKey": "test",
      "type": "ingest",
      "allowPublishing": false,
      "recordStream": true,
      "source": {
        "authType": "none"
      }
    }
  }
}
Ingest - Credentials Auth
Code iconjson
{
  "data": {
    "attributes": {
      "streamKey": "test",
      "type": "ingest",
      "allowPublishing": false,
      "recordStream": true,
      "source": {
        "authType": "credentials",
        "auth": {
          "username": "nabu",
          "password": "enter1"
        }
      }
    }
  }
}
Pull - RTMP
Code iconjson
{
  "data": {
    "attributes": {
      "streamKey": "wowza",
      "type": "pull",
      "allowPublishing": false,
      "recordStream": true,
      "source": {
        "protocol": "rtmp",
        "url": "rtmp://192.168.10.20/live/test",
        "authType": "none"
      }
    }
  }
}
Pull - RTSP With Credentials
Code iconjson
{
  "data": {
    "attributes": {
      "streamKey": "test",
      "type": "pull",
      "allowPublishing": false,
      "recordStream": true,
      "source": {
        "protocol": "rtsp",
        "url": "rtsp://acme.com/live/test",
        "authType": "credentials",
        "auth": {
          "username": "username",
          "password": "password"
        }
      }
    }
  }
}
Pull - SRT With Passphrase
Code iconjson
{
  "data": {
    "attributes": {
      "streamKey": "test",
      "type": "pull",
      "allowPublishing": false,
      "recordStream": true,
      "source": {
        "protocol": "srt",
        "url": "srt://acme.com/live/test",
        "authType": "passphrase",
        "auth": {
          "secret": "12312312321"
        }
      }
    }
  }
}
File Stream
Code iconjson
{
  "data": {
    "attributes": {
      "streamKey": "test",
      "type": "file",
      "allowPublishing": false,
      "recordStream": true,
      "source": {
        "loop": true,
        "path": "/Volumes/Samples/test.mp4",
        "transcodePreset": "720p"
      }
    }
  }
}

Response Body

ParameterTypeDescription
data.streamKeystringCreated stream key
data.applicationstringApplication name
messagestringResponse status message
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
Successful Response (200)
Code iconjson
{
  "data": {
    "streamKey": "test",
    "application": "mono"
  },
  "meta": {
    "executionTime": 33,
    "generatedAt": 1771944069327
  },
  "message": "New Stream has been created"
}

Error Response (4xx/5xx)

ParameterTypeDescription
messagestringHuman-readable error message
Application Not Found (404)
Code iconjson
{
  "message": "Application not found"
}
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.