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

Create User

Creates a new user account in the system.

Request

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

Request Body

ParameterTypeRequiredDescription
data.attributes.usernamestringYesUser's username
data.attributes.passwordstringYesUser's password
data.attributes.accessRightsarrayYesList of access rights
data.attributes.accessRights[].name"server" | "viewer" | "application" | "stream"YesAccess right category
data.attributes.accessRights[].value"none" | "read_only" | "read_write"YesAccess right level

Example Request

Request Body
Code iconjson
{
  "data": {
    "attributes": {
      "username": "username",
      "password": "password",
      "accessRights": [
        { "name": "server", "value": "read_write" },
        { "name": "viewer", "value": "read_write" },
        { "name": "application", "value": "read_write" },
        { "name": "stream", "value": "read_write" }
      ]
    }
  }
}

Response Body

ParameterTypeDescription
data.idintegerUnique identifier of the created user
data.attributes.username.valuestringThe username of the created user
data.attributes.username.editablebooleanIndicates if the username can be modified
data.attributes.username.lockedBystringIdentifier of the entity that locked this field (if locked)
data.attributes.password.valuestringMasked password value (always returns "******")
data.attributes.password.editablebooleanIndicates if the password can be modified
data.attributes.password.maskedbooleanIndicates if the password value is masked
data.attributes.password.lockedBystringIdentifier of the entity that locked this field (if locked)
data.attributes.algorithm.valuestringPassword hashing algorithm
data.attributes.algorithm.editablebooleanIndicates if the algorithm can be modified
data.attributes.algorithm.lockedBystringIdentifier of the entity that locked this field (if locked)
data.attributes.accessRightsarrayList of access rights assigned to the user
data.attributes.accessRights[].name"Server" | "Stream" | "Application"Access right category name
data.attributes.accessRights[].value"NONE" | "READ_ONLY" | "READ_WRITE"Access right level
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
messagestringMain response status message
Successful Response (200)
Code iconjson
{
  "data": {
    "id": 1,
    "attributes": {
      "username": {
        "editable": true,
        "value": "username"
      },
      "password": {
        "editable": true,
        "masked": true,
        "value": "******"
      },
      "algorithm": {
        "editable": false,
        "value": "PLAIN"
      },
      "accessRights": [
        { "name": "Server", "value": "NONE" },
        { "name": "Stream", "value": "NONE" },
        { "name": "Application", "value": "NONE" }
      ]
    }
  },
  "meta": {
    "executionTime": 21,
    "generatedAt": 1764232021849
  },
  "message": "User created successfully"
}

Error Responses

ParameterTypeDescription
messagestringHuman-readable error message
errors.attributes.usernamestring[]Array of validation errors for username field
errors.attributes.passwordstring[]Array of validation errors for password field
errors.attributes.accessRightsstring[]Array of validation errors for accessRights field
Username Already Exists (409)
Code iconjson
{
  "message": "User with given username already exists",
  "errors": {
    "attributes": {
      "username": [
        "User with this username already exists"
      ]
    }
  }
}
Validation Error (400)
Code iconjson
{
  "message": "Validation failed",
  "errors": {
    "attributes": {
      "username": [
        "Username is required"
      ],
      "password": [
        "Password is required"
      ],
      "accessRights": [
        "Access rights are required"
      ]
    }
  }
}

Notes

  • The username must be unique across the system.
  • All fields in the request body are required.
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.